Skip to content

Add Directus SchemaOverview Builder#25011

Merged
ComfortablyCoding merged 19 commits intomainfrom
directus-schema-builder
Apr 10, 2025
Merged

Add Directus SchemaOverview Builder#25011
ComfortablyCoding merged 19 commits intomainfrom
directus-schema-builder

Conversation

@Nitwel
Copy link
Member

@Nitwel Nitwel commented Apr 1, 2025

Scope

What's changed:

Add a way to generate a SchemaOverview using code instead of having to manually hard code it for tests.

Potential Risks / Drawbacks

  • None that I can think of

Review Notes / Questions

  • Primitive Fields

  • Relational Fields

  • This will be used to add new tests to our AST logic as well as also improving existing ones by reducing the amount of code that has to be written/copy pasted and reducing the change of copy/paste mistakes.

  • Also got rid of duplicate defined union types unknown and alias in types

Example

const schema = new SchemaBuilder()
    .collection('articles', (c) => {
	c.field('id').id();
	c.field('title').string();
	c.field('content').text();
	c.field('published').dateTime();
    })
    .build()
const schema = new SchemaBuilder()
    .collection('articles', (c) => {
	c.field('id').id();
	c.field('tags').m2m('tags')
    })
    .build()

Closes SER-699

@changeset-bot
Copy link

changeset-bot bot commented Apr 1, 2025

🦋 Changeset detected

Latest commit: 38f5d22

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 8 packages
Name Type
@directus/types Patch
@directus/api Patch
@directus/extensions-sdk Patch
@directus/extensions Patch
@directus/schema-builder Patch
create-directus-extension Patch
@directus/extensions-registry Patch
directus Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@Nitwel Nitwel changed the base branch from main to refactor-apply-query April 1, 2025 21:10
@linear
Copy link

linear bot commented Apr 4, 2025

@Nitwel Nitwel marked this pull request as ready for review April 8, 2025 15:14
@Nitwel Nitwel requested a review from a team as a code owner April 8, 2025 15:14
@Nitwel Nitwel requested a review from a team April 8, 2025 15:14
Base automatically changed from refactor-apply-query to main April 8, 2025 17:18
Copy link
Member

@ComfortablyCoding ComfortablyCoding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀

@ComfortablyCoding ComfortablyCoding merged commit b23fd00 into main Apr 10, 2025
11 checks passed
@ComfortablyCoding ComfortablyCoding deleted the directus-schema-builder branch April 10, 2025 14:58
@github-actions github-actions bot added this to the Next Release milestone Apr 10, 2025
@ComfortablyCoding ComfortablyCoding self-assigned this Apr 10, 2025
skydtrtzmr added a commit to skydtrtzmr/directus that referenced this pull request May 1, 2025
commit 87ca6d2
Merge: 7d6b243 a6b840b
Author: skydtrtzmr <[email protected]>
Date:   Thu May 1 15:21:29 2025 +0800

    Merge branch 'directus:main' into source

commit a6b840b
Author: ian <[email protected]>
Date:   Wed Apr 30 05:45:17 2025 +0800

    Bump @directus/utils (directus#25147)

commit 10bab7e
Author: ian <[email protected]>
Date:   Wed Apr 30 05:29:18 2025 +0800

    Release 11.7.2 (directus#25146)

commit 203cbb8
Author: daedalus <[email protected]>
Date:   Tue Apr 29 16:59:51 2025 -0400

    Publish the `@directus/schema-builder` package for mocking db schema (directus#25145)

    * publish schema builder

    * add changeset

    * Create serious-hornets-nail.md

    * Update packages/schema-builder/package.json

    * Delete .changeset/serious-hornets-nail.md

    ---------

    Co-authored-by: ian <[email protected]>

commit afeab44
Author: Wryn (yage) Wagner <[email protected]>
Date:   Tue Apr 29 14:17:42 2025 -0600

    metadata is apparently implicit (directus#25144)

commit 374c01a
Author: Alex Gaillard <[email protected]>
Date:   Tue Apr 29 16:02:20 2025 -0400

    Release 11.7.1 (directus#25142)

commit e008f3f
Author: ian <[email protected]>
Date:   Wed Apr 30 03:50:22 2025 +0800

    Add changeset (directus#25141)

commit 8982791
Author: Wryn (yage) Wagner <[email protected]>
Date:   Tue Apr 29 13:42:25 2025 -0600

    restore build permissions (directus#25140)

commit 76d7c4f
Author: Alex Gaillard <[email protected]>
Date:   Tue Apr 29 11:46:37 2025 -0400

    Release 11.7.0 (directus#25137)

commit 19f5e1f
Author: Rijk van Zanten <[email protected]>
Date:   Tue Apr 29 11:26:35 2025 -0400

    New Crowdin updates (directus#25027)

    * New translations en-us.yaml (Spanish)

    * New translations en-us.yaml (Spanish, Mexico)

    * New translations en-us.yaml (Spanish)

    * New translations en-us.yaml (Spanish, Mexico)

    * New translations en-us.yaml (Spanish, Latin America)

    * New translations en-us.yaml (Chinese Simplified)

    * New translations en-us.yaml (Portuguese, Brazilian)

    * New translations en-us.yaml (Spanish)

    * New translations en-us.yaml (Chinese Simplified)

    * New translations en-us.yaml (Portuguese, Brazilian)

    * New translations en-us.yaml (Spanish, Mexico)

    * New translations en-us.yaml (Spanish, Latin America)

    * New translations en-us.yaml (French)

    * New translations en-us.yaml (Arabic)

    * New translations en-us.yaml (Bulgarian)

    * New translations en-us.yaml (Czech)

    * New translations en-us.yaml (Danish)

    * New translations en-us.yaml (German)

    * New translations en-us.yaml (Finnish)

    * New translations en-us.yaml (Hungarian)

    * New translations en-us.yaml (Italian)

    * New translations en-us.yaml (Japanese)

    * New translations en-us.yaml (Korean)

    * New translations en-us.yaml (Lithuanian)

    * New translations en-us.yaml (Mongolian)

    * New translations en-us.yaml (Dutch)

    * New translations en-us.yaml (Polish)

    * New translations en-us.yaml (Portuguese)

    * New translations en-us.yaml (Russian)

    * New translations en-us.yaml (Slovak)

    * New translations en-us.yaml (Albanian)

    * New translations en-us.yaml (Swedish)

    * New translations en-us.yaml (Turkish)

    * New translations en-us.yaml (Ukrainian)

    * New translations en-us.yaml (Chinese Traditional)

    * New translations en-us.yaml (Indonesian)

    * New translations en-us.yaml (Persian)

    * New translations en-us.yaml (Spanish, Chile)

    * New translations en-us.yaml (Marathi)

    * New translations en-us.yaml (Croatian)

    * New translations en-us.yaml (English, United Kingdom)

    * New translations en-us.yaml (French, Canada)

    * New translations en-us.yaml (Bosnian)

    * New translations en-us.yaml (Nepali)

    * New translations en-us.yaml (Sorani (Kurdish))

    * Update source file en-US.yaml

    * New translations en-us.yaml (Sorani (Kurdish))

    * New translations en-us.yaml (Sorani (Kurdish))

    * New translations en-us.yaml (Sorani (Kurdish))

    * New translations en-us.yaml (Kurmanji (Kurdish))

    * New translations en-us.yaml (Sorani (Kurdish))

    * Update source file en-US.yaml

    * New translations en-us.yaml (Kurmanji (Kurdish))

    * New translations en-us.yaml (Sorani (Kurdish))

    * New translations en-us.yaml (Kurmanji (Kurdish))

    * New translations en-us.yaml (Sorani (Kurdish))

    * Update source file en-US.yaml

    * New translations en-us.yaml (Sorani (Kurdish))

    * New translations en-us.yaml (Italian)

    * Remove empty strings

    ---------

    Co-authored-by: ian <[email protected]>

commit 3c409d5
Author: Florian C. Wachmann <[email protected]>
Date:   Tue Apr 29 15:30:51 2025 +0200

    Fix bug with conditional styles display (directus#25133)

    * remove numeric string types from conditional formatting checks

    * add changeset

commit 3a4295a
Author: Florian C. Wachmann <[email protected]>
Date:   Tue Apr 29 15:18:55 2025 +0200

    Ensure that M2M table rows remain clickable when disabled (directus#25134)

    * remove disabled prop from display items in list-m2m interface

    * remove redundant condition

    * add changeset

commit e76f405
Author: Florian C. Wachmann <[email protected]>
Date:   Mon Apr 28 20:25:36 2025 +0200

    Fix reactivity in the translation interface (directus#25118)

    * refactor the way languages are fetched in translations component for improved reactivity and clarity

    * add conditions to make the default language field readonly when user language is enabled

    * refactor split view logic to improve clarity and reactivity

    * use props directly instead of converting their properties to refs

    * revert condition on defaultLanguage, since defaultLanguage will be used for the second field if userLanguage is enabled

    therefore, swap the positions to make it "a bit" clearer

    * add changeset

    * prettier

commit f9cbec2
Author: Florian C. Wachmann <[email protected]>
Date:   Mon Apr 28 20:24:57 2025 +0200

    Improve interface option overwriting through conditions (directus#25119)

    * improve interface option overwriting through conditions

    * add changeset

commit 6b01403
Author: Florian C. Wachmann <[email protected]>
Date:   Mon Apr 28 17:28:04 2025 +0200

    Ensure that clicking the chevron button in the icon interface closes the icon picker menu (directus#25130)

    * Ensure that clicking the chevron button in the icon interface closes the icon picker menu

    * add changeset

commit 273c45f
Author: Nitwel <[email protected]>
Date:   Fri Apr 25 21:01:14 2025 +0200

    Set system field lengths based on database max limits for columns and tables (directus#24983)

    * fix string length too short to store db column/table names

    * clean up code

    * rename

    * fmt

    * update helper usage to be consistent with others

    * Update .changeset/gentle-horses-add.md

    Co-authored-by: ian <[email protected]>

    ---------

    Co-authored-by: daedalus <[email protected]>
    Co-authored-by: ian <[email protected]>

commit 681988f
Author: Nitwel <[email protected]>
Date:   Fri Apr 25 15:47:54 2025 +0200

    Remove options from flow logs (directus#25116)

    * fix flows to store trigger options

    * remove options from logs

    * Update mean-sheep-type.md

commit d47fc0f
Author: Nitwel <[email protected]>
Date:   Wed Apr 23 17:51:08 2025 +0200

    Fix pressing tab on raw editor (directus#25111)

    * Fix pressing tab on raw editor

    * fmt

commit 7f69b51
Author: ian <[email protected]>
Date:   Wed Apr 23 23:21:32 2025 +0800

    Update axios to 1.8.4 (directus#25110)

    * Update axios to 1.8.4

    * Add changeset

commit 4d59d70
Author: Nitwel <[email protected]>
Date:   Tue Apr 22 22:59:20 2025 +0200

    Unify `getRelation`/`getRelations` usage across packages (directus#25053)

    * restructure

    * add changeset

    * add schema builder for primary fields

    * fmt

    * add relational generation

    * add more tests and clean schema.ts

    * fmt

    * add changeset

    * add more tests and tidy up existing ones

    * add more tests and clean code

    * add standalone a2o relation

    * add tests and clean up even more logic

    * continue working on tests

    * update more tests

    * update tests and reorganize files

    * more tests and take appart applyFilter

    * update test for get-filter-type

    * update export

    * fmt

    * unify get-relations

    * fmt

    * add changeset

    * Update .changeset/dry-donuts-guess.md

    * remove additional whitespace

    * Update .changeset/dry-donuts-guess.md

    * Update .changeset/dry-donuts-guess.md

    * fix new test

    * chore: organize import

    * remove unnecessary type assertion

    ---------

    Co-authored-by: daedalus <[email protected]>
    Co-authored-by: ian <[email protected]>

commit 1ba3bd9
Author: daedalus <[email protected]>
Date:   Tue Apr 22 12:39:41 2025 -0400

    Update `rollup-plugin-esbuild` to 6.2.1 (directus#25041)

    * bump `rollup-plugin-esbuild`

    * add changeset

    * Update mighty-lands-think.md

    ---------

    Co-authored-by: Brainslug <[email protected]>

commit daa5777
Author: Nitwel <[email protected]>
Date:   Tue Apr 22 18:29:21 2025 +0200

    Fix error when functions are passed to the `run-script` operation (directus#25106)

    * Fix passing functions into run-script

    * fix tests

    * remove wrong changes

    * Update .changeset/three-states-heal.md

    Co-authored-by: ian <[email protected]>

    * clean up

    ---------

    Co-authored-by: ian <[email protected]>

commit 5b7bf2f
Author: Nitwel <[email protected]>
Date:   Tue Apr 22 16:59:19 2025 +0200

    Fix processing dates on aggregation (directus#25064)

    * Fix processing dates on aggregation

    * format

    * move code into processAggregates

    * fmt

    * clean up aggregation

    * fix date processing

    * fmt

    * fixed aggregateKeys

    * add `processAggregates` tests

    * add tests for aggregate dates in `processDates`

    * first pass of fixing tests

    * use correct expect ref

    * remove invalid tests

    * aggregate dates not processed

    * update comments

    ---------

    Co-authored-by: daedalus <[email protected]>

commit 8128f1b
Author: Florian C. Wachmann <[email protected]>
Date:   Tue Apr 22 16:53:06 2025 +0200

    Fix bug where action buttons didn't appear in the drawer (directus#25105)

    * add actions pass-through slot to drawer-item

    * add changeset

commit 68090b9
Author: ian <[email protected]>
Date:   Tue Apr 22 21:42:44 2025 +0800

    Remove reverted changeset (directus#25102)

    * Remove reverted changeset

    * Fix linting issues

commit afb0c24
Author: daedalus <[email protected]>
Date:   Tue Apr 22 08:09:06 2025 -0400

    Ensure `one_deselect_action` updates bypass `QUERY_LIMIT_DEFAULT` restrictions (directus#25087)

    * do not restrict `one_deselect_action` changes by `QUERY_LIMIT_DEFAULT`

    * add changeset

    * add bb test

    * fix bb tests

    * Fetch deep -1

    * Same for GQL

    * Try debug m2o

    * Try increase to 10k

    * second pass at fixing bb tests

    * 3rd pass on attempt bb test fix

    * check if any bb tests error due to `QUERY_LIMIT_DEFAULT`

    * add missing comma in sequential tests

    * bypass oracle in bb tests due to column limit

    * final bb test pass

    * simplify bb test

    * Improve item name

    ---------

    Co-authored-by: ian <[email protected]>

commit 016e8f7
Author: Florian C. Wachmann <[email protected]>
Date:   Mon Apr 21 22:20:34 2025 +0200

    Ensure numeric input fields prevent non-numeric characters (directus#25092)

    * ensure numeric input fields prevent non-numeric characters

    * add changeset

    * fix decimal sanitization

commit 748ebd6
Author: Alex Gaillard <[email protected]>
Date:   Mon Apr 21 13:49:38 2025 -0400

    Revert "Fix custom interface data loss when nested inside group (directus#250… (directus#25100)

    * Revert "Fix custom interface data loss when nested inside group (directus#25042)"

    This reverts commit 45a2052.

    * Create soft-books-fold.md

commit a39730d
Author: Nitwel <[email protected]>
Date:   Mon Apr 21 17:53:32 2025 +0200

    Improved testing for applyQuery (directus#25022)

    * restructure

    * add changeset

    * add schema builder for primary fields

    * fmt

    * add relational generation

    * add more tests and clean schema.ts

    * fmt

    * add changeset

    * add more tests and tidy up existing ones

    * add more tests and clean code

    * add standalone a2o relation

    * add tests and clean up even more logic

    * continue working on tests

    * update more tests

    * update tests and reorganize files

    * more tests and take appart applyFilter

    * update test for get-filter-type

    * update export

    * fmt

    * fmt

    * fix import

    * fmt

    * fix middeware change

    * remove leftover files

    * Update api/src/database/run-ast/lib/apply-query/get-filter-path.ts

    * fix pnpm lock

    * remove unused imports

    ---------

    Co-authored-by: daedalus <[email protected]>

commit 32acd30
Author: gavalierm <[email protected]>
Date:   Mon Apr 21 15:53:59 2025 +0200

    Change "Context menu" fallback height (directus#24808)

    * Rise 30vh hardcoded value to 45vh to improove user experience with context menu directus#24807

    * revert changing max-height

    * set settings menu to full-height

    * add changeset

    ---------

    Co-authored-by: formfcw <[email protected]>

commit bdfede2
Author: Florian C. Wachmann <[email protected]>
Date:   Fri Apr 18 16:37:03 2025 +0200

    Add confirmation dialog when closing overlays with edits (directus#25091)

    * add confirmation dialog when closing overlays

    * add changeset

commit bb72784
Author: Florian C. Wachmann <[email protected]>
Date:   Thu Apr 17 18:35:24 2025 +0200

    Improve Visual Editor header bar (directus#25074)

    * change the appearance of the visual editor header bar

    * add ability to add dynamic URL as route parameter, URL validation and handling for invalid URLs

    * extract sameOrigin function for reuse

    * enhance visual editor with dynamic URL handling and navigation support

    * fix resize observer when changing URL after being invalid

    * improve popover positioning

    * improve appearance of popover arrow

    * improve color styles

    * add changeset

    * fix popover shadow in dark mode

    * update changeset

    ---------

    Co-authored-by: Alex Gaillard <[email protected]>

commit 28da67a
Author: Florian C. Wachmann <[email protected]>
Date:   Thu Apr 17 16:58:37 2025 +0200

    Add keyboard shortcuts for overlays when editing items in the Visual Editor (directus#25076)

    * enhance shortcut handling and tooltip display in overlay item component

    * add changeset

    ---------

    Co-authored-by: Alex Gaillard <[email protected]>

commit c02570c
Author: daedalus <[email protected]>
Date:   Wed Apr 16 23:03:17 2025 -0400

    Fix auto PK injection not accounting for `has_auto_increment` being creating a PK (directus#25084)

    * account for `has_auto_increment` for pk injection

    * update blackbox tests to cover  when has_auto_increment true

commit 19ee7d7
Author: Florian C. Wachmann <[email protected]>
Date:   Thu Apr 17 00:00:11 2025 +0200

    Make action buttons sticky for modal overlays in Visual Editor (directus#25085)

    * make action buttons sticky for modal overlays

    * add changeset

commit c612440
Author: Nitwel <[email protected]>
Date:   Wed Apr 16 23:05:02 2025 +0200

    Added an `Error on Reject` option to webhook flows (directus#25080)

    * Properly error out on webhook flow

    * fmt

    * make erroring optional

    * cleanup

    * group translations

    * Update .changeset/evil-suns-talk.md

    Co-authored-by: ian <[email protected]>

    * shift `error_on_reject` after `async`

    * simplify async condition for `error_on_reject`

    ---------

    Co-authored-by: ian <[email protected]>
    Co-authored-by: daedalus <[email protected]>

commit 9ec345c
Author: Nitwel <[email protected]>
Date:   Wed Apr 16 18:46:48 2025 +0200

    Update tests to use SchemaBuilder (directus#25046)

    * restructure

    * add changeset

    * add schema builder for primary fields

    * fmt

    * add relational generation

    * add more tests and clean schema.ts

    * fmt

    * add changeset

    * add standalone a2o relation

    * update export

    * update tests to use SchemaBuilder

    * update tests

    * update schema builder

    * fix tests and spelling

    * update more tests

    * fmt

    * add changeset

    * fmt

    * Update schema.ts

    ---------

    Co-authored-by: daedalus <[email protected]>

commit c0c12bf
Author: daedalus <[email protected]>
Date:   Wed Apr 16 11:40:49 2025 -0400

    Ensure primary key field is auto-injected when absent from the fields array (directus#25077)

    * auto add PK if not present in fields array

    * add changeset

    * Update api/src/services/collections.ts

    Co-authored-by: ian <[email protected]>

    * Add bb test

    * Update test result

    * Update test descriptions

    Co-authored-by: daedalus <[email protected]>

    * Add empty array test

    * Add should not auto create check

    * Update .changeset/famous-turtles-bow.md

    Co-authored-by: ian <[email protected]>

    * Update test result

    ---------

    Co-authored-by: ian <[email protected]>

commit 67c7fa1
Author: ian <[email protected]>
Date:   Tue Apr 15 00:25:17 2025 +0800

    Update blackbox tests to MSSQL 2022 (directus#25065)

    * Update blackbox tests to MSSQL 2022

    * Add changeset

    * Update .github/workflows/blackbox.yml

    Co-authored-by: Wryn (yage) Wagner <[email protected]>

    ---------

    Co-authored-by: Wryn (yage) Wagner <[email protected]>

commit b535d3a
Author: daedalus <[email protected]>
Date:   Mon Apr 14 10:11:47 2025 -0400

    Fix `filename_download` not respected on upload (directus#25062)

    * respect `filename_download` if provided on upload

    * add changeset

commit 2f4a3c7
Author: daedalus <[email protected]>
Date:   Mon Apr 14 07:40:40 2025 -0400

    Fix `condition` operation filters not properly parsed (directus#25015)

    * correctly parse conditional filter

    * add changeset

    * add test

    * fix test

    ---------

    Co-authored-by: Nitwel <[email protected]>

commit c99d059
Author: ian <[email protected]>
Date:   Sat Apr 12 03:25:03 2025 +0800

    Add alternate string value for numeric compare values (directus#24959)

    * Add alternate string value for numeric compare values

    * Update test

    * Add changeset

commit f39e304
Author: Brainslug <[email protected]>
Date:   Fri Apr 11 17:11:38 2025 +0200

    Update samlify to v2.9.1 (directus#25008)

    * Updated samlify to v2.9.1

    * Create hungry-sloths-act.md

commit 51e03ae
Author: Daniel Breitlauch <[email protected]>
Date:   Fri Apr 11 15:39:40 2025 +0200

    Add Docker Image Signing (directus#25058)

commit b23fd00
Author: Nitwel <[email protected]>
Date:   Thu Apr 10 16:58:01 2025 +0200

    Add SchemaOverview builder for internal testing (directus#25011)

    * restructure

    * add changeset

    * add schema builder for primary fields

    * fmt

    * add relational generation

    * add more tests and clean schema.ts

    * fmt

    * add changeset

    * add standalone a2o relation

    * update export

    * fmt

    * fix omit

    * minor final fixes

    * make package private

    * fmt

    ---------

    Co-authored-by: daedalus <[email protected]>

commit e40e3bb
Author: ian <[email protected]>
Date:   Thu Apr 10 22:44:36 2025 +0800

    Fix redirection race condition after SSO login (directus#25049)

    * Fix redirection race condition after SSO login

    * Add changeset

commit 2fdcd0d
Author: daedalus <[email protected]>
Date:   Thu Apr 10 02:21:05 2025 -0400

    Fix `applyOptionsData` errors not appearing in the flow log (directus#25025)

    * dont skip logs for `applyOptionsData` errors

    * add changeset

    * Update api/src/flows.ts

    Co-authored-by: ian <[email protected]>

    * Update api/src/flows.ts

    Co-authored-by: ian <[email protected]>

    ---------

    Co-authored-by: ian <[email protected]>

commit 8bffd4a
Author: daedalus <[email protected]>
Date:   Wed Apr 9 23:40:42 2025 -0400

    Fix empty string not checked against `_regex` validation (directus#24984)

    * allow empty string for regex filter checks

    * add changeset

    * update tests

    * Update packages/utils/shared/generate-joi.ts

    Co-authored-by: ian <[email protected]>

    ---------

    Co-authored-by: ian <[email protected]>

commit 8588369
Author: daedalus <[email protected]>
Date:   Wed Apr 9 11:50:50 2025 -0400

    Add `Error on Reject` option to manually triggered flows (directus#24965)

    * throw error on rejected operation for manual trigger flows

    * add changeset

    * only error for sync flow

    * reword changeset

    * error on reject should be configurable

    * update translation name and wording for manual trigger

    * update changeset wording

    * simplify run flow trigger success message

    * fix incorrect translation key

    * Update app/src/lang/translations/en-US.yaml

    Co-authored-by: ian <[email protected]>

    * Update app/src/views/private/components/flow-sidebar-detail.vue

    Co-authored-by: ian <[email protected]>

    * Update .changeset/great-chicken-fold.md

    Co-authored-by: ian <[email protected]>

    * Hide option when async

    ---------

    Co-authored-by: ian <[email protected]>
    Co-authored-by: Alex Gaillard <[email protected]>

commit c5d3a4a
Author: Connor Winston <[email protected]>
Date:   Wed Apr 9 10:14:05 2025 -0500

    Change SaveAsCopy's to fetch existing data with GraphQL (directus#24457)

    * Change non-system collection SaveAsCopy's to fetch existing data with GraphQL instead of rest.

    * Prettier

    * Create early-toes-rule.md

    * Fixed GraphQL query generation

    * Revert queryToGqlString & sort imports

    * Update useItem test

    * Small cleanup

    * Add initial m2a support to getGraphqlQueryFields

    Not completely finished yet, need to map graphql response

    * Always use GraphQL, full M2A support, other fixes

    Other fixes meaning things that didn't work as expected before this PR
    such as newly added rel. items that would have been lost before or
    copying M2A that haven't been selected.
    Tested various cases, should now be more stable overall.

    * show error dialog when saveAsCopy fails

    * Update app/src/composables/use-item/lib/get-graphql-query-fields.ts

    Co-authored-by: Florian C. Wachmann <[email protected]>

    ---------

    Co-authored-by: Pascal Jufer <[email protected]>
    Co-authored-by: formfcw <[email protected]>
    Co-authored-by: Rob Luton <[email protected]>
    Co-authored-by: Alex Gaillard <[email protected]>

commit 18a179a
Author: ian <[email protected]>
Date:   Wed Apr 9 22:57:16 2025 +0800

    Utilize operationOptions as selectedOperation could be a function (directus#25047)

commit 2e525ae
Author: daedalus <[email protected]>
Date:   Wed Apr 9 09:39:20 2025 -0400

    Fix uncaught error in the health check process during storage cleanup (directus#24970)

    * do not throw unhandled rejection in health when disk.delete fails

    * dont wait for cleanup

    * add changeset

    * reword changeset

    * improve blackbox tests to accept warn for status result

    * Update .changeset/slimy-paths-peel.md

    * log errors for metric failures

commit 45a2052
Author: Rob Luton <[email protected]>
Date:   Tue Apr 8 14:32:03 2025 -0500

    Fix custom interface data loss when nested inside group (directus#25042)

    * use v-show to avoid data loss when parent group toggled

    * changeset

commit e539b6b
Author: Nitwel <[email protected]>
Date:   Tue Apr 8 19:18:17 2025 +0200

    Refactor `applyQuery` (directus#25004)

    * restructure

    * add changeset

    * Update .changeset/petite-deer-bow.md

    ---------

    Co-authored-by: daedalus <[email protected]>

commit 47a8596
Author: ian <[email protected]>
Date:   Wed Apr 9 00:09:13 2025 +0800

    Ignore DB_EXCLUDE_TABLES during charset validation for MySQL (directus#25005)

    * Ignore DB_EXCLUDE_TABLES during charset validation for MySQL

    * Add changeset

commit 2a7f579
Author: ian <[email protected]>
Date:   Tue Apr 8 22:21:03 2025 +0800

    Update SDK codeowner (directus#25044)

commit 983b294
Author: Nitwel <[email protected]>
Date:   Mon Apr 7 23:05:47 2025 +0200

    fix passing defaults to operations (directus#24963)

commit 49ee100
Author: Osman Deveci <[email protected]>
Date:   Mon Apr 7 20:51:56 2025 +0200

    Fix duplicate values bug for is-one-of filter (directus#24990)

    * fix duplicate values bug for is-one-of filter

    * fixes interesting eslint errors

    * prettier styling fix

    * refactor comma moving and pasting logic

    * remove unnecessary value on comma-entered emit

    * remove unused emit

commit f8b343f
Author: Rob Luton <[email protected]>
Date:   Mon Apr 7 13:26:52 2025 -0500

    Fix issue preventing "other" option from working in select dropdowns when some options contain icons (directus#25033)

    * prevent mutating select choices directly

    * changeset

commit c41754d
Author: Rob Luton <[email protected]>
Date:   Mon Apr 7 11:21:33 2025 -0500

    Fix issue preventing version menu interaction while split view is enabled (directus#25032)

    * ensure version menu clickable when split view enabled

    * changeset

commit 9b495e7
Author: Brainslug <[email protected]>
Date:   Fri Apr 4 17:11:49 2025 +0200

    DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake (directus#24850)

    * remove async from afterCreate

    * Create silent-feet-burn.md

    * removed unused imports

    * make blackbox and cli afterCreate synchronous

    * fix mysql query results

    * drop support for mysql 5.7

    * Added changeset

    * removed obsolete applyMultiRelationalSort

    * Update .changeset/green-places-throw.md

    Co-authored-by: ian <[email protected]>

    ---------

    Co-authored-by: daedalus <[email protected]>
    Co-authored-by: ian <[email protected]>

commit a02fe12
Author: Nitwel <[email protected]>
Date:   Fri Apr 4 17:07:02 2025 +0200

    Fix date processing for aliases (directus#24819)

    * Fix date processing for aliases

    * cleanup and reorganize

    * update tests

    * fmt

    ---------

    Co-authored-by: daedalus <[email protected]>

commit 713510a
Author: ian <[email protected]>
Date:   Fri Apr 4 23:06:08 2025 +0800

    Add batch update for websockets (directus#25031)

    * Add batch update for websockets

    * Add changeset

    * Add test

commit 7d6b243
Author: skydtrtzmr <[email protected]>
Date:   Thu Mar 27 10:01:01 2025 +0800

    Update .gitignore
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 10, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants