From 91b351ef2ed3c205e74b37e554695af921853015 Mon Sep 17 00:00:00 2001 From: Samuel Andert Date: Wed, 13 Sep 2023 13:49:56 +0200 Subject: [PATCH] Added Directus System Endpoint and displaying files --- .wundergraph/operations/Files.graphql | 8 + .wundergraph/operations/Projects.graphql | 4 +- .wundergraph/operations/Todos.graphql | 4 +- .wundergraph/operations/getBalance.ts | 9 +- .wundergraph/operations/getBookmarks.graphql | 4 +- .wundergraph/schemas/directus_system.graphql | 2365 ++++++++++++++++++ .wundergraph/schemas/fetch-schemas.js | 8 + .wundergraph/wundergraph.config.ts | 15 +- package.json | 1 + pnpm-lock.yaml | 455 ++++ src/routes/me/+layout.svelte | 1 + src/routes/me/banking/+page.svelte | 9 +- src/routes/me/bookmarks/+page.svelte | 2 +- src/routes/me/documents/+page.svelte | 29 + 14 files changed, 2898 insertions(+), 16 deletions(-) create mode 100644 .wundergraph/operations/Files.graphql create mode 100644 .wundergraph/schemas/directus_system.graphql create mode 100644 src/routes/me/documents/+page.svelte diff --git a/.wundergraph/operations/Files.graphql b/.wundergraph/operations/Files.graphql new file mode 100644 index 0000000..ff3deec --- /dev/null +++ b/.wundergraph/operations/Files.graphql @@ -0,0 +1,8 @@ +query { + system_db_files { + id + title + type + filename_disk + } +} diff --git a/.wundergraph/operations/Projects.graphql b/.wundergraph/operations/Projects.graphql index 6e3088f..c5c5837 100644 --- a/.wundergraph/operations/Projects.graphql +++ b/.wundergraph/operations/Projects.graphql @@ -1,5 +1,5 @@ -query Projects { - directus_projects { +query { + db_projects { id text } diff --git a/.wundergraph/operations/Todos.graphql b/.wundergraph/operations/Todos.graphql index 3468f89..2bebe02 100644 --- a/.wundergraph/operations/Todos.graphql +++ b/.wundergraph/operations/Todos.graphql @@ -1,5 +1,5 @@ -query Todos { - directus_todos { +query { + db_todos { id task user_created { diff --git a/.wundergraph/operations/getBalance.ts b/.wundergraph/operations/getBalance.ts index 8c3ee7b..a67d680 100644 --- a/.wundergraph/operations/getBalance.ts +++ b/.wundergraph/operations/getBalance.ts @@ -6,15 +6,20 @@ export default createOperation.query({ address: z.string(), }), handler: async ({ input }) => { + console.log('Making request with input:', input); // Log the input + const { data } = await axios.get('https://api.gnosisscan.io/api', { params: { module: 'account', action: 'balance', address: input.address, - tag: 'latest', - apikey: process.env.GNOSISSCAN_API, + // tag: 'latest', + // apikey: process.env.GNOSISSCAN_API, }, + timeout: 10000, }); + + console.log('Received response:', data); return { balance: parseFloat(data.result), }; diff --git a/.wundergraph/operations/getBookmarks.graphql b/.wundergraph/operations/getBookmarks.graphql index 28f72c4..9e7ec64 100644 --- a/.wundergraph/operations/getBookmarks.graphql +++ b/.wundergraph/operations/getBookmarks.graphql @@ -1,5 +1,5 @@ -query Bookmarks { - directus_bookmarks { +query { + db_bookmarks { id name url diff --git a/.wundergraph/schemas/directus_system.graphql b/.wundergraph/schemas/directus_system.graphql new file mode 100644 index 0000000..7a3440d --- /dev/null +++ b/.wundergraph/schemas/directus_system.graphql @@ -0,0 +1,2365 @@ +type Query { + extensions: extensions + server_specs_oas: JSON + server_specs_graphql(scope: graphql_sdl_scope): String + server_ping: String + server_info: server_info + server_health: JSON + collections: [directus_collections!]! + collections_by_name(name: String!): directus_collections + fields: [directus_fields!]! + fields_in_collection(collection: String!): [directus_fields!]! + fields_by_name(collection: String!, field: String!): directus_fields + relations: [directus_relations!]! + relations_in_collection(collection: String!): [directus_relations!]! + relations_by_name(collection: String!, field: String!): directus_relations + users_me: directus_users + dashboards(filter: directus_dashboards_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_dashboards!]! + dashboards_by_id(id: ID!): directus_dashboards + dashboards_aggregated(groupBy: [String], filter: directus_dashboards_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_dashboards_aggregated!]! + activity(filter: directus_activity_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_activity!]! + activity_by_id(id: ID!): directus_activity + activity_aggregated(groupBy: [String], filter: directus_activity_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_activity_aggregated!]! + notifications(filter: directus_notifications_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_notifications!]! + notifications_by_id(id: ID!): directus_notifications + notifications_aggregated(groupBy: [String], filter: directus_notifications_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_notifications_aggregated!]! + flows(filter: directus_flows_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_flows!]! + flows_by_id(id: ID!): directus_flows + flows_aggregated(groupBy: [String], filter: directus_flows_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_flows_aggregated!]! + folders(filter: directus_folders_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_folders!]! + folders_by_id(id: ID!): directus_folders + folders_aggregated(groupBy: [String], filter: directus_folders_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_folders_aggregated!]! + files(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_files!]! + files_by_id(id: ID!): directus_files + files_aggregated(groupBy: [String], filter: directus_files_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_files_aggregated!]! + panels(filter: directus_panels_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_panels!]! + panels_by_id(id: ID!): directus_panels + panels_aggregated(groupBy: [String], filter: directus_panels_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_panels_aggregated!]! + roles(filter: directus_roles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_roles!]! + roles_by_id(id: ID!): directus_roles + roles_aggregated(groupBy: [String], filter: directus_roles_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_roles_aggregated!]! + presets(filter: directus_presets_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_presets!]! + presets_by_id(id: ID!): directus_presets + presets_aggregated(groupBy: [String], filter: directus_presets_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_presets_aggregated!]! + revisions(filter: directus_revisions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_revisions!]! + revisions_by_id(id: ID!): directus_revisions + revisions_aggregated(groupBy: [String], filter: directus_revisions_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_revisions_aggregated!]! + settings: directus_settings + operations(filter: directus_operations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_operations!]! + operations_by_id(id: ID!): directus_operations + operations_aggregated(groupBy: [String], filter: directus_operations_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_operations_aggregated!]! + permissions(filter: directus_permissions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_permissions!]! + permissions_by_id(id: ID!): directus_permissions + permissions_aggregated(groupBy: [String], filter: directus_permissions_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_permissions_aggregated!]! + translations(filter: directus_translations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_translations!]! + translations_by_id(id: ID!): directus_translations + translations_aggregated(groupBy: [String], filter: directus_translations_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_translations_aggregated!]! + users(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_users!]! + users_by_id(id: ID!): directus_users + users_aggregated(groupBy: [String], filter: directus_users_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_users_aggregated!]! + shares(filter: directus_shares_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_shares!]! + shares_by_id(id: ID!): directus_shares + shares_aggregated(groupBy: [String], filter: directus_shares_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_shares_aggregated!]! + webhooks(filter: directus_webhooks_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_webhooks!]! + webhooks_by_id(id: ID!): directus_webhooks + webhooks_aggregated(groupBy: [String], filter: directus_webhooks_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [directus_webhooks_aggregated!]! +} + +type Mutation { + auth_login(email: String!, password: String!, mode: auth_mode, otp: String): auth_tokens + auth_refresh(refresh_token: String, mode: auth_mode): auth_tokens + auth_logout(refresh_token: String): Boolean + auth_password_request(email: String!, reset_url: String): Boolean + auth_password_reset(token: String!, password: String!): Boolean + users_me_tfa_generate(password: String!): users_me_tfa_generate_data + users_me_tfa_enable(otp: String!, secret: String!): Boolean + users_me_tfa_disable(otp: String!): Boolean + utils_random_string(length: Int): String + utils_hash_generate(string: String!): String + utils_hash_verify(string: String!, hash: String!): Boolean + utils_sort(collection: String!, item: ID!, to: ID!): Boolean + utils_revert(revision: ID!): Boolean + utils_cache_clear: Void + users_invite_accept(token: String!, password: String!): Boolean + create_collections_item(data: create_directus_collections_input!): directus_collections + update_collections_item(collection: String!, data: update_directus_collections_input!): directus_collections + delete_collections_item(collection: String!): delete_collection + create_fields_item(collection: String!, data: create_directus_fields_input!): directus_fields + update_fields_item(collection: String!, field: String!, data: update_directus_fields_input!): directus_fields + delete_fields_item(collection: String!, field: String!): delete_field + create_relations_item(data: create_directus_relations_input!): directus_relations + update_relations_item(collection: String!, field: String!, data: update_directus_relations_input!): directus_relations + delete_relations_item(collection: String!, field: String!): delete_relation + update_users_me(data: update_directus_users_input): directus_users + create_comment(collection: String!, item: ID!, comment: String!): directus_activity + update_comment(id: ID!, comment: String!): directus_activity + delete_comment(id: ID!): delete_one + import_file(url: String!, data: create_directus_files_input): directus_files + users_invite(email: String!, role: String!, invite_url: String): Boolean + create_dashboards_items(filter: directus_dashboards_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_dashboards_input!]): [directus_dashboards!]! + create_dashboards_item(data: create_directus_dashboards_input!): directus_dashboards + create_notifications_items(filter: directus_notifications_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_notifications_input!]): [directus_notifications!]! + create_notifications_item(data: create_directus_notifications_input!): directus_notifications + create_flows_items(filter: directus_flows_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_flows_input!]): [directus_flows!]! + create_flows_item(data: create_directus_flows_input!): directus_flows + create_folders_items(filter: directus_folders_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_folders_input!]): [directus_folders!]! + create_folders_item(data: create_directus_folders_input!): directus_folders + create_files_items(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_files_input!]): [directus_files!]! + create_files_item(data: create_directus_files_input!): directus_files + create_panels_items(filter: directus_panels_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_panels_input!]): [directus_panels!]! + create_panels_item(data: create_directus_panels_input!): directus_panels + create_roles_items(filter: directus_roles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_roles_input!]): [directus_roles!]! + create_roles_item(data: create_directus_roles_input!): directus_roles + create_presets_items(filter: directus_presets_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_presets_input!]): [directus_presets!]! + create_presets_item(data: create_directus_presets_input!): directus_presets + create_operations_items(filter: directus_operations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_operations_input!]): [directus_operations!]! + create_operations_item(data: create_directus_operations_input!): directus_operations + create_permissions_items(filter: directus_permissions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_permissions_input!]): [directus_permissions!]! + create_permissions_item(data: create_directus_permissions_input!): directus_permissions + create_translations_items(filter: directus_translations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_translations_input!]): [directus_translations!]! + create_translations_item(data: create_directus_translations_input!): directus_translations + create_users_items(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_users_input!]): [directus_users!]! + create_users_item(data: create_directus_users_input!): directus_users + create_shares_items(filter: directus_shares_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_shares_input!]): [directus_shares!]! + create_shares_item(data: create_directus_shares_input!): directus_shares + create_webhooks_items(filter: directus_webhooks_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_directus_webhooks_input!]): [directus_webhooks!]! + create_webhooks_item(data: create_directus_webhooks_input!): directus_webhooks + update_dashboards_items(filter: directus_dashboards_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_dashboards_input!): [directus_dashboards!]! + update_dashboards_batch(filter: directus_dashboards_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_dashboards_input!]): [directus_dashboards!]! + update_dashboards_item(id: ID!, data: update_directus_dashboards_input!): directus_dashboards + update_notifications_items(filter: directus_notifications_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_notifications_input!): [directus_notifications!]! + update_notifications_batch(filter: directus_notifications_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_notifications_input!]): [directus_notifications!]! + update_notifications_item(id: ID!, data: update_directus_notifications_input!): directus_notifications + update_flows_items(filter: directus_flows_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_flows_input!): [directus_flows!]! + update_flows_batch(filter: directus_flows_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_flows_input!]): [directus_flows!]! + update_flows_item(id: ID!, data: update_directus_flows_input!): directus_flows + update_folders_items(filter: directus_folders_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_folders_input!): [directus_folders!]! + update_folders_batch(filter: directus_folders_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_folders_input!]): [directus_folders!]! + update_folders_item(id: ID!, data: update_directus_folders_input!): directus_folders + update_files_items(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_files_input!): [directus_files!]! + update_files_batch(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_files_input!]): [directus_files!]! + update_files_item(id: ID!, data: update_directus_files_input!): directus_files + update_panels_items(filter: directus_panels_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_panels_input!): [directus_panels!]! + update_panels_batch(filter: directus_panels_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_panels_input!]): [directus_panels!]! + update_panels_item(id: ID!, data: update_directus_panels_input!): directus_panels + update_roles_items(filter: directus_roles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_roles_input!): [directus_roles!]! + update_roles_batch(filter: directus_roles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_roles_input!]): [directus_roles!]! + update_roles_item(id: ID!, data: update_directus_roles_input!): directus_roles + update_presets_items(filter: directus_presets_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_presets_input!): [directus_presets!]! + update_presets_batch(filter: directus_presets_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_presets_input!]): [directus_presets!]! + update_presets_item(id: ID!, data: update_directus_presets_input!): directus_presets + update_settings(data: update_directus_settings_input!): directus_settings + update_operations_items(filter: directus_operations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_operations_input!): [directus_operations!]! + update_operations_batch(filter: directus_operations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_operations_input!]): [directus_operations!]! + update_operations_item(id: ID!, data: update_directus_operations_input!): directus_operations + update_permissions_items(filter: directus_permissions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_permissions_input!): [directus_permissions!]! + update_permissions_batch(filter: directus_permissions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_permissions_input!]): [directus_permissions!]! + update_permissions_item(id: ID!, data: update_directus_permissions_input!): directus_permissions + update_translations_items(filter: directus_translations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_translations_input!): [directus_translations!]! + update_translations_batch(filter: directus_translations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_translations_input!]): [directus_translations!]! + update_translations_item(id: ID!, data: update_directus_translations_input!): directus_translations + update_users_items(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_users_input!): [directus_users!]! + update_users_batch(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_users_input!]): [directus_users!]! + update_users_item(id: ID!, data: update_directus_users_input!): directus_users + update_shares_items(filter: directus_shares_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_shares_input!): [directus_shares!]! + update_shares_batch(filter: directus_shares_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_shares_input!]): [directus_shares!]! + update_shares_item(id: ID!, data: update_directus_shares_input!): directus_shares + update_webhooks_items(filter: directus_webhooks_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_directus_webhooks_input!): [directus_webhooks!]! + update_webhooks_batch(filter: directus_webhooks_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_directus_webhooks_input!]): [directus_webhooks!]! + update_webhooks_item(id: ID!, data: update_directus_webhooks_input!): directus_webhooks + delete_dashboards_items(ids: [ID]!): delete_many + delete_dashboards_item(id: ID!): delete_one + delete_notifications_items(ids: [ID]!): delete_many + delete_notifications_item(id: ID!): delete_one + delete_flows_items(ids: [ID]!): delete_many + delete_flows_item(id: ID!): delete_one + delete_folders_items(ids: [ID]!): delete_many + delete_folders_item(id: ID!): delete_one + delete_files_items(ids: [ID]!): delete_many + delete_files_item(id: ID!): delete_one + delete_panels_items(ids: [ID]!): delete_many + delete_panels_item(id: ID!): delete_one + delete_roles_items(ids: [ID]!): delete_many + delete_roles_item(id: ID!): delete_one + delete_presets_items(ids: [ID]!): delete_many + delete_presets_item(id: ID!): delete_one + delete_operations_items(ids: [ID]!): delete_many + delete_operations_item(id: ID!): delete_one + delete_permissions_items(ids: [ID]!): delete_many + delete_permissions_item(id: ID!): delete_one + delete_translations_items(ids: [ID]!): delete_many + delete_translations_item(id: ID!): delete_one + delete_users_items(ids: [ID]!): delete_many + delete_users_item(id: ID!): delete_one + delete_shares_items(ids: [ID]!): delete_many + delete_shares_item(id: ID!): delete_one + delete_webhooks_items(ids: [ID]!): delete_many + delete_webhooks_item(id: ID!): delete_one +} + +type Subscription { + projects_mutated(event: EventEnum): projects_mutated + todos_mutated(event: EventEnum): todos_mutated + directus_dashboards_mutated(event: EventEnum): directus_dashboards_mutated + directus_activity_mutated(event: EventEnum): directus_activity_mutated + directus_notifications_mutated(event: EventEnum): directus_notifications_mutated + directus_flows_mutated(event: EventEnum): directus_flows_mutated + directus_folders_mutated(event: EventEnum): directus_folders_mutated + directus_files_mutated(event: EventEnum): directus_files_mutated + directus_panels_mutated(event: EventEnum): directus_panels_mutated + directus_roles_mutated(event: EventEnum): directus_roles_mutated + directus_presets_mutated(event: EventEnum): directus_presets_mutated + directus_revisions_mutated(event: EventEnum): directus_revisions_mutated + directus_settings_mutated(event: EventEnum): directus_settings_mutated + directus_operations_mutated(event: EventEnum): directus_operations_mutated + directus_permissions_mutated(event: EventEnum): directus_permissions_mutated + directus_translations_mutated(event: EventEnum): directus_translations_mutated + directus_users_mutated(event: EventEnum): directus_users_mutated + directus_shares_mutated(event: EventEnum): directus_shares_mutated + directus_webhooks_mutated(event: EventEnum): directus_webhooks_mutated + bookmarks_mutated(event: EventEnum): bookmarks_mutated +} + +"""The `Boolean` scalar type represents `true` or `false`.""" +scalar Boolean + +"""ISO8601 Date values""" +scalar Date + +""" +The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point). +""" +scalar Float + +"""BigInt value""" +scalar GraphQLBigInt + +"""A Float or a String""" +scalar GraphQLStringOrFloat + +"""Hashed string values""" +scalar Hash + +""" +The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID. +""" +scalar ID + +""" +The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. +""" +scalar Int + +""" +The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). +""" +scalar JSON + +""" +The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text. +""" +scalar String + +"""Represents NULL values""" +scalar Void + +enum auth_mode { + json + cookie +} + +enum EventEnum { + create + update + delete +} + +enum graphql_sdl_scope { + items + system +} + +enum server_info_websocket_graphql_authentication { + public + handshake + strict +} + +enum server_info_websocket_rest_authentication { + public + handshake + strict +} + +type auth_tokens { + access_token: String + expires: GraphQLBigInt + refresh_token: String +} + +type bookmarks { + id: ID! + status: String + sort: Int + user_created(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + date_created: Date + date_created_func: datetime_functions + user_updated(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + date_updated: Date + date_updated_func: datetime_functions + url: String + name: String + tags: JSON + tags_func: count_functions +} + +type bookmarks_mutated { + key: ID! + event: EventEnum + data: bookmarks +} + +type count_functions { + count: Int +} + +type datetime_functions { + year: Int + month: Int + week: Int + day: Int + weekday: Int + hour: Int + minute: Int + second: Int +} + +type delete_collection { + collection: String +} + +type delete_field { + collection: String + field: String +} + +type delete_many { + ids: [ID]! +} + +type delete_one { + id: ID! +} + +type delete_relation { + collection: String + field: String +} + +type directus_activity { + id: ID! + action: String! + user(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + timestamp: Date + timestamp_func: datetime_functions + ip: String + user_agent: String + collection: String! + item: String! + comment: String + origin: String + revisions(filter: directus_revisions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_revisions] + revisions_func: count_functions +} + +type directus_activity_aggregated { + group: JSON + countAll: Int + count: directus_activity_aggregated_count + countDistinct: directus_activity_aggregated_count + avg: directus_activity_aggregated_fields + sum: directus_activity_aggregated_fields + avgDistinct: directus_activity_aggregated_fields + sumDistinct: directus_activity_aggregated_fields + min: directus_activity_aggregated_fields + max: directus_activity_aggregated_fields +} + +type directus_activity_aggregated_count { + id: Int + action: Int + user: Int + timestamp: Int + ip: Int + user_agent: Int + collection: Int + item: Int + comment: Int + origin: Int + revisions: Int +} + +type directus_activity_aggregated_fields { + id: Float +} + +type directus_activity_mutated { + key: ID! + event: EventEnum + data: directus_activity +} + +type directus_collections { + collection: String + meta: directus_collections_meta + schema: directus_collections_schema +} + +type directus_collections_meta { + collection: String! + icon: String + note: String + display_template: String + hidden: Boolean! + singleton: Boolean! + translations: JSON + archive_field: String + archive_app_filter: Boolean! + archive_value: String + unarchive_value: String + sort_field: String + accountability: String + color: String + item_duplication_fields: JSON + sort: Int + group: String + collapse: String! + preview_url: String +} + +type directus_collections_schema { + name: String + comment: String +} + +type directus_dashboards { + id: ID! + name: String! + icon: String + note: String + date_created: Date + date_created_func: datetime_functions + user_created(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + color: String + panels(filter: directus_panels_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_panels] + panels_func: count_functions +} + +type directus_dashboards_aggregated { + group: JSON + countAll: Int + count: directus_dashboards_aggregated_count + countDistinct: directus_dashboards_aggregated_count +} + +type directus_dashboards_aggregated_count { + id: Int + name: Int + icon: Int + note: Int + date_created: Int + user_created: Int + color: Int + panels: Int +} + +type directus_dashboards_mutated { + key: ID! + event: EventEnum + data: directus_dashboards +} + +type directus_fields { + collection: String + field: String + type: String + meta: directus_fields_meta + schema: directus_fields_schema +} + +type directus_fields_meta { + id: Int! + collection: String! + field: String! + special: [String] + interface: String + options: JSON + display: String + display_options: JSON + readonly: Boolean! + hidden: Boolean! + sort: Int + width: String + translations: JSON + note: String + conditions: JSON + required: Boolean + group: String + validation: JSON + validation_message: String +} + +type directus_fields_schema { + name: String + table: String + data_type: String + default_value: String + max_length: Int + numeric_precision: Int + numeric_scale: Int + is_nullable: Boolean + is_unique: Boolean + is_primary_key: Boolean + has_auto_increment: Boolean + foreign_key_column: String + foreign_key_table: String + comment: String +} + +type directus_files { + id: ID! + storage: String! + filename_disk: String + filename_download: String! + title: String + type: String + folder(filter: directus_folders_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_folders + uploaded_by(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + uploaded_on: Date + uploaded_on_func: datetime_functions + modified_by(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + modified_on: Date + modified_on_func: datetime_functions + charset: String + filesize: GraphQLBigInt + width: Int + height: Int + duration: Int + embed: String + description: String + location: String + tags: JSON + tags_func: count_functions + metadata: JSON + metadata_func: count_functions +} + +type directus_files_aggregated { + group: JSON + countAll: Int + count: directus_files_aggregated_count + countDistinct: directus_files_aggregated_count + avg: directus_files_aggregated_fields + sum: directus_files_aggregated_fields + avgDistinct: directus_files_aggregated_fields + sumDistinct: directus_files_aggregated_fields + min: directus_files_aggregated_fields + max: directus_files_aggregated_fields +} + +type directus_files_aggregated_count { + id: Int + storage: Int + filename_disk: Int + filename_download: Int + title: Int + type: Int + folder: Int + uploaded_by: Int + uploaded_on: Int + modified_by: Int + modified_on: Int + charset: Int + filesize: Int + width: Int + height: Int + duration: Int + embed: Int + description: Int + location: Int + tags: Int + metadata: Int +} + +type directus_files_aggregated_fields { + filesize: Float + width: Float + height: Float + duration: Float +} + +type directus_files_mutated { + key: ID! + event: EventEnum + data: directus_files +} + +type directus_flows { + id: ID! + name: String! + icon: String + color: String + description: String + status: String + trigger: String + accountability: String + options: JSON + options_func: count_functions + operation(filter: directus_operations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_operations + date_created: Date + date_created_func: datetime_functions + user_created(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + operations(filter: directus_operations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_operations] + operations_func: count_functions +} + +type directus_flows_aggregated { + group: JSON + countAll: Int + count: directus_flows_aggregated_count + countDistinct: directus_flows_aggregated_count +} + +type directus_flows_aggregated_count { + id: Int + name: Int + icon: Int + color: Int + description: Int + status: Int + trigger: Int + accountability: Int + options: Int + operation: Int + date_created: Int + user_created: Int + operations: Int +} + +type directus_flows_mutated { + key: ID! + event: EventEnum + data: directus_flows +} + +type directus_folders { + id: ID! + name: String! + parent(filter: directus_folders_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_folders +} + +type directus_folders_aggregated { + group: JSON + countAll: Int + count: directus_folders_aggregated_count + countDistinct: directus_folders_aggregated_count +} + +type directus_folders_aggregated_count { + id: Int + name: Int + parent: Int +} + +type directus_folders_mutated { + key: ID! + event: EventEnum + data: directus_folders +} + +type directus_notifications { + id: ID! + timestamp: Date + timestamp_func: datetime_functions + status: String + recipient(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + sender(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + subject: String! + message: String + collection: String + item: String +} + +type directus_notifications_aggregated { + group: JSON + countAll: Int + count: directus_notifications_aggregated_count + countDistinct: directus_notifications_aggregated_count + avg: directus_notifications_aggregated_fields + sum: directus_notifications_aggregated_fields + avgDistinct: directus_notifications_aggregated_fields + sumDistinct: directus_notifications_aggregated_fields + min: directus_notifications_aggregated_fields + max: directus_notifications_aggregated_fields +} + +type directus_notifications_aggregated_count { + id: Int + timestamp: Int + status: Int + recipient: Int + sender: Int + subject: Int + message: Int + collection: Int + item: Int +} + +type directus_notifications_aggregated_fields { + id: Float +} + +type directus_notifications_mutated { + key: ID! + event: EventEnum + data: directus_notifications +} + +type directus_operations { + id: ID! + name: String + key: String! + type: String! + position_x: Int! + position_y: Int! + options: JSON + options_func: count_functions + resolve(filter: directus_operations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_operations + reject(filter: directus_operations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_operations + flow(filter: directus_flows_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_flows + date_created: Date + date_created_func: datetime_functions + user_created(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users +} + +type directus_operations_aggregated { + group: JSON + countAll: Int + count: directus_operations_aggregated_count + countDistinct: directus_operations_aggregated_count + avg: directus_operations_aggregated_fields + sum: directus_operations_aggregated_fields + avgDistinct: directus_operations_aggregated_fields + sumDistinct: directus_operations_aggregated_fields + min: directus_operations_aggregated_fields + max: directus_operations_aggregated_fields +} + +type directus_operations_aggregated_count { + id: Int + name: Int + key: Int + type: Int + position_x: Int + position_y: Int + options: Int + resolve: Int + reject: Int + flow: Int + date_created: Int + user_created: Int +} + +type directus_operations_aggregated_fields { + position_x: Float + position_y: Float +} + +type directus_operations_mutated { + key: ID! + event: EventEnum + data: directus_operations +} + +type directus_panels { + id: ID! + dashboard(filter: directus_dashboards_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_dashboards + name: String + icon: String + color: String + show_header: Boolean! + note: String + type: String! + position_x: Int! + position_y: Int! + width: Int! + height: Int! + options: JSON + options_func: count_functions + date_created: Date + date_created_func: datetime_functions + user_created(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users +} + +type directus_panels_aggregated { + group: JSON + countAll: Int + count: directus_panels_aggregated_count + countDistinct: directus_panels_aggregated_count + avg: directus_panels_aggregated_fields + sum: directus_panels_aggregated_fields + avgDistinct: directus_panels_aggregated_fields + sumDistinct: directus_panels_aggregated_fields + min: directus_panels_aggregated_fields + max: directus_panels_aggregated_fields +} + +type directus_panels_aggregated_count { + id: Int + dashboard: Int + name: Int + icon: Int + color: Int + show_header: Int + note: Int + type: Int + position_x: Int + position_y: Int + width: Int + height: Int + options: Int + date_created: Int + user_created: Int +} + +type directus_panels_aggregated_fields { + position_x: Float + position_y: Float + width: Float + height: Float +} + +type directus_panels_mutated { + key: ID! + event: EventEnum + data: directus_panels +} + +type directus_permissions { + id: ID! + role(filter: directus_roles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_roles + collection: String! + action: String! + permissions: JSON + permissions_func: count_functions + validation: JSON + validation_func: count_functions + presets: JSON + presets_func: count_functions + fields: [String] +} + +type directus_permissions_aggregated { + group: JSON + countAll: Int + count: directus_permissions_aggregated_count + countDistinct: directus_permissions_aggregated_count + avg: directus_permissions_aggregated_fields + sum: directus_permissions_aggregated_fields + avgDistinct: directus_permissions_aggregated_fields + sumDistinct: directus_permissions_aggregated_fields + min: directus_permissions_aggregated_fields + max: directus_permissions_aggregated_fields +} + +type directus_permissions_aggregated_count { + id: Int + role: Int + collection: Int + action: Int + permissions: Int + validation: Int + presets: Int + fields: Int +} + +type directus_permissions_aggregated_fields { + id: Float +} + +type directus_permissions_mutated { + key: ID! + event: EventEnum + data: directus_permissions +} + +type directus_presets { + id: ID! + bookmark: String + user(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + role(filter: directus_roles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_roles + collection: String + search: String + layout: String + layout_query: JSON + layout_query_func: count_functions + layout_options: JSON + layout_options_func: count_functions + refresh_interval: Int + filter: JSON + filter_func: count_functions + icon: String + color: String +} + +type directus_presets_aggregated { + group: JSON + countAll: Int + count: directus_presets_aggregated_count + countDistinct: directus_presets_aggregated_count + avg: directus_presets_aggregated_fields + sum: directus_presets_aggregated_fields + avgDistinct: directus_presets_aggregated_fields + sumDistinct: directus_presets_aggregated_fields + min: directus_presets_aggregated_fields + max: directus_presets_aggregated_fields +} + +type directus_presets_aggregated_count { + id: Int + bookmark: Int + user: Int + role: Int + collection: Int + search: Int + layout: Int + layout_query: Int + layout_options: Int + refresh_interval: Int + filter: Int + icon: Int + color: Int +} + +type directus_presets_aggregated_fields { + id: Float + refresh_interval: Float +} + +type directus_presets_mutated { + key: ID! + event: EventEnum + data: directus_presets +} + +type directus_relations { + collection: String + field: String + related_collection: String + schema: directus_relations_schema + meta: directus_relations_meta +} + +type directus_relations_meta { + id: Int + many_collection: String + many_field: String + one_collection: String + one_field: String + one_collection_field: String + one_allowed_collections: [String] + junction_field: String + sort_field: String + one_deselect_action: String +} + +type directus_relations_schema { + table: String! + column: String! + foreign_key_table: String! + foreign_key_column: String! + constraint_name: String + on_update: String! + on_delete: String! +} + +type directus_revisions { + id: ID! + activity(filter: directus_activity_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_activity + collection: String! + item: String! + data: JSON + data_func: count_functions + delta: JSON + delta_func: count_functions + parent(filter: directus_revisions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_revisions +} + +type directus_revisions_aggregated { + group: JSON + countAll: Int + count: directus_revisions_aggregated_count + countDistinct: directus_revisions_aggregated_count + avg: directus_revisions_aggregated_fields + sum: directus_revisions_aggregated_fields + avgDistinct: directus_revisions_aggregated_fields + sumDistinct: directus_revisions_aggregated_fields + min: directus_revisions_aggregated_fields + max: directus_revisions_aggregated_fields +} + +type directus_revisions_aggregated_count { + id: Int + activity: Int + collection: Int + item: Int + data: Int + delta: Int + parent: Int +} + +type directus_revisions_aggregated_fields { + id: Float + activity: Float + parent: Float +} + +type directus_revisions_mutated { + key: ID! + event: EventEnum + data: directus_revisions +} + +type directus_roles { + id: ID! + name: String! + icon: String + description: String + ip_access: [String] + enforce_tfa: Boolean! + admin_access: Boolean! + app_access: Boolean + users(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [directus_users] + users_func: count_functions +} + +type directus_roles_aggregated { + group: JSON + countAll: Int + count: directus_roles_aggregated_count + countDistinct: directus_roles_aggregated_count +} + +type directus_roles_aggregated_count { + id: Int + name: Int + icon: Int + description: Int + ip_access: Int + enforce_tfa: Int + admin_access: Int + app_access: Int + users: Int +} + +type directus_roles_mutated { + key: ID! + event: EventEnum + data: directus_roles +} + +type directus_settings { + id: ID! + project_name: String + project_url: String + + """$t:field_options.directus_settings.project_color_note""" + project_color: String + project_logo(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + public_foreground(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + public_background(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + public_note: String + auth_login_attempts: Int + auth_password_policy: String + storage_asset_transform: String + storage_asset_presets: JSON + storage_asset_presets_func: count_functions + custom_css: String + storage_default_folder(filter: directus_folders_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_folders + basemaps: JSON + basemaps_func: count_functions + mapbox_key: String + module_bar: JSON + module_bar_func: count_functions + project_descriptor: String + default_language: String + custom_aspect_ratios: JSON + custom_aspect_ratios_func: count_functions +} + +type directus_settings_mutated { + key: ID! + event: EventEnum + data: directus_settings +} + +type directus_shares { + id: ID! + name: String + collection: String! + item: String! + role(filter: directus_roles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_roles + + """$t:shared_leave_blank_for_passwordless_access""" + password: Hash + user_created(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + date_created: Date + date_created_func: datetime_functions + + """$t:shared_leave_blank_for_unlimited""" + date_start: Date + date_start_func: datetime_functions + + """$t:shared_leave_blank_for_unlimited""" + date_end: Date + date_end_func: datetime_functions + times_used: Int + + """$t:shared_leave_blank_for_unlimited""" + max_uses: Int +} + +type directus_shares_aggregated { + group: JSON + countAll: Int + count: directus_shares_aggregated_count + countDistinct: directus_shares_aggregated_count + avg: directus_shares_aggregated_fields + sum: directus_shares_aggregated_fields + avgDistinct: directus_shares_aggregated_fields + sumDistinct: directus_shares_aggregated_fields + min: directus_shares_aggregated_fields + max: directus_shares_aggregated_fields +} + +type directus_shares_aggregated_count { + id: Int + name: Int + collection: Int + item: Int + role: Int + + """$t:shared_leave_blank_for_passwordless_access""" + password: Int + user_created: Int + date_created: Int + + """$t:shared_leave_blank_for_unlimited""" + date_start: Int + + """$t:shared_leave_blank_for_unlimited""" + date_end: Int + times_used: Int + + """$t:shared_leave_blank_for_unlimited""" + max_uses: Int +} + +type directus_shares_aggregated_fields { + times_used: Float + + """$t:shared_leave_blank_for_unlimited""" + max_uses: Float +} + +type directus_shares_mutated { + key: ID! + event: EventEnum + data: directus_shares +} + +type directus_translations { + id: ID! + language: String! + key: String! + value: String! +} + +type directus_translations_aggregated { + group: JSON + countAll: Int + count: directus_translations_aggregated_count + countDistinct: directus_translations_aggregated_count +} + +type directus_translations_aggregated_count { + id: Int + language: Int + key: Int + value: Int +} + +type directus_translations_mutated { + key: ID! + event: EventEnum + data: directus_translations +} + +type directus_users { + id: ID! + first_name: String + last_name: String + email: String + password: Hash + location: String + title: String + description: String + tags: JSON + tags_func: count_functions + avatar(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + language: String + theme: String + tfa_secret: Hash + status: String + role(filter: directus_roles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_roles + token: Hash + last_access: Date + last_access_func: datetime_functions + last_page: String + provider: String + external_identifier: String + auth_data: JSON + auth_data_func: count_functions + email_notifications: Boolean +} + +type directus_users_aggregated { + group: JSON + countAll: Int + count: directus_users_aggregated_count + countDistinct: directus_users_aggregated_count +} + +type directus_users_aggregated_count { + id: Int + first_name: Int + last_name: Int + email: Int + password: Int + location: Int + title: Int + description: Int + tags: Int + avatar: Int + language: Int + theme: Int + tfa_secret: Int + status: Int + role: Int + token: Int + last_access: Int + last_page: Int + provider: Int + external_identifier: Int + auth_data: Int + email_notifications: Int +} + +type directus_users_mutated { + key: ID! + event: EventEnum + data: directus_users +} + +type directus_webhooks { + id: ID! + name: String! + method: String + url: String! + status: String + data: Boolean + actions: [String]! + collections: [String]! + headers: JSON + headers_func: count_functions +} + +type directus_webhooks_aggregated { + group: JSON + countAll: Int + count: directus_webhooks_aggregated_count + countDistinct: directus_webhooks_aggregated_count + avg: directus_webhooks_aggregated_fields + sum: directus_webhooks_aggregated_fields + avgDistinct: directus_webhooks_aggregated_fields + sumDistinct: directus_webhooks_aggregated_fields + min: directus_webhooks_aggregated_fields + max: directus_webhooks_aggregated_fields +} + +type directus_webhooks_aggregated_count { + id: Int + name: Int + method: Int + url: Int + status: Int + data: Int + actions: Int + collections: Int + headers: Int +} + +type directus_webhooks_aggregated_fields { + id: Float +} + +type directus_webhooks_mutated { + key: ID! + event: EventEnum + data: directus_webhooks +} + +type extensions { + interfaces: [String] + displays: [String] + layouts: [String] + modules: [String] +} + +type projects { + id: ID! + sort: Int + user_created(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + date_created: Date + date_created_func: datetime_functions + user_updated(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + date_updated: Date + date_updated_func: datetime_functions + text: String +} + +type projects_mutated { + key: ID! + event: EventEnum + data: projects +} + +type server_info { + project: server_info_project + rateLimit: server_info_rate_limit + rateLimitGlobal: Boolean + websocket: server_info_websocket + queryLimit: server_info_query_limit +} + +type server_info_project { + project_name: String + project_descriptor: String + project_logo: String + project_color: String + default_language: String + public_foreground: String + public_background: String + public_note: String + custom_css: String +} + +type server_info_query_limit { + default: Int + max: Int +} + +type server_info_rate_limit { + points: Int + duration: Int +} + +type server_info_websocket { + rest: server_info_websocket_rest + graphql: server_info_websocket_graphql + heartbeat: Int +} + +type server_info_websocket_graphql { + authentication: server_info_websocket_graphql_authentication + path: String +} + +type server_info_websocket_rest { + authentication: server_info_websocket_rest_authentication + path: String +} + +type todos { + id: ID! + status: String + sort: Int + user_created(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + date_created: Date + date_created_func: datetime_functions + user_updated(filter: directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_users + date_updated: Date + date_updated_func: datetime_functions + task: String +} + +type todos_mutated { + key: ID! + event: EventEnum + data: todos +} + +type users_me_tfa_generate_data { + secret: String + otpauth_url: String +} + +input boolean_filter_operators { + _eq: Boolean + _neq: Boolean + _null: Boolean + _nnull: Boolean +} + +input count_function_filter_operators { + count: number_filter_operators +} + +input create_directus_collections_fields_input { + collection: String + field: String + type: String + meta: directus_fields_meta_input + schema: directus_fields_schema_input +} + +input create_directus_collections_input { + collection: String + meta: directus_collections_meta_input + schema: directus_collections_schema_input + fields: [create_directus_collections_fields_input!] +} + +input create_directus_dashboards_input { + id: ID + name: String! + icon: String + note: String + date_created: Date + user_created: create_directus_users_input + color: String + panels: [create_directus_panels_input] +} + +input create_directus_fields_input { + collection: String + field: String + type: String + meta: directus_fields_meta_input + schema: directus_fields_schema_input +} + +input create_directus_files_input { + id: ID + storage: String! + filename_disk: String + filename_download: String! + title: String + type: String + folder: create_directus_folders_input + uploaded_by: create_directus_users_input + uploaded_on: Date + modified_by: create_directus_users_input + modified_on: Date + charset: String + filesize: GraphQLBigInt + width: Int + height: Int + duration: Int + embed: String + description: String + location: String + tags: JSON + metadata: JSON +} + +input create_directus_flows_input { + id: ID + name: String! + icon: String + color: String + description: String + status: String + trigger: String + accountability: String + options: JSON + operation: create_directus_operations_input + date_created: Date + user_created: create_directus_users_input + operations: [create_directus_operations_input] +} + +input create_directus_folders_input { + id: ID + name: String! + parent: create_directus_folders_input +} + +input create_directus_notifications_input { + id: ID + timestamp: Date + status: String + recipient: create_directus_users_input + sender: create_directus_users_input + subject: String! + message: String + collection: String + item: String +} + +input create_directus_operations_input { + id: ID + name: String + key: String! + type: String! + position_x: Int! + position_y: Int! + options: JSON + resolve: create_directus_operations_input + reject: create_directus_operations_input + flow: create_directus_flows_input + date_created: Date + user_created: create_directus_users_input +} + +input create_directus_panels_input { + id: ID + dashboard: create_directus_dashboards_input + name: String + icon: String + color: String + show_header: Boolean! + note: String + type: String! + position_x: Int! + position_y: Int! + width: Int! + height: Int! + options: JSON + date_created: Date + user_created: create_directus_users_input +} + +input create_directus_permissions_input { + id: ID + role: create_directus_roles_input + collection: String! + action: String! + permissions: JSON + validation: JSON + presets: JSON + fields: [String] +} + +input create_directus_presets_input { + id: ID + bookmark: String + user: create_directus_users_input + role: create_directus_roles_input + collection: String + search: String + layout: String + layout_query: JSON + layout_options: JSON + refresh_interval: Int + filter: JSON + icon: String + color: String +} + +input create_directus_relations_input { + collection: String + field: String + related_collection: String + schema: directus_relations_schema_input + meta: directus_relations_meta_input +} + +input create_directus_roles_input { + id: ID + name: String! + icon: String + description: String + ip_access: [String] + enforce_tfa: Boolean! + admin_access: Boolean! + app_access: Boolean + users: [create_directus_users_input] +} + +input create_directus_shares_input { + id: ID + name: String + collection: String! + item: String! + role: create_directus_roles_input + + """$t:shared_leave_blank_for_passwordless_access""" + password: Hash + user_created: create_directus_users_input + date_created: Date + + """$t:shared_leave_blank_for_unlimited""" + date_start: Date + + """$t:shared_leave_blank_for_unlimited""" + date_end: Date + times_used: Int + + """$t:shared_leave_blank_for_unlimited""" + max_uses: Int +} + +input create_directus_translations_input { + id: ID + language: String! + key: String! + value: String! +} + +input create_directus_users_input { + id: ID + first_name: String + last_name: String + email: String + password: Hash + location: String + title: String + description: String + tags: JSON + avatar: create_directus_files_input + language: String + theme: String + tfa_secret: Hash + status: String + role: create_directus_roles_input + token: Hash + last_access: Date + last_page: String + provider: String + external_identifier: String + auth_data: JSON + email_notifications: Boolean +} + +input create_directus_webhooks_input { + id: ID + name: String! + method: String + url: String! + status: String + data: Boolean + actions: [String]! + collections: [String]! + headers: JSON +} + +input date_filter_operators { + _eq: String + _neq: String + _gt: String + _gte: String + _lt: String + _lte: String + _null: Boolean + _nnull: Boolean + _in: [String] + _nin: [String] + _between: [GraphQLStringOrFloat] + _nbetween: [GraphQLStringOrFloat] +} + +input datetime_function_filter_operators { + year: number_filter_operators + month: number_filter_operators + week: number_filter_operators + day: number_filter_operators + weekday: number_filter_operators + hour: number_filter_operators + minute: number_filter_operators + second: number_filter_operators +} + +input directus_activity_filter { + id: number_filter_operators + action: string_filter_operators + user: directus_users_filter + timestamp: date_filter_operators + timestamp_func: datetime_function_filter_operators + ip: string_filter_operators + user_agent: string_filter_operators + collection: string_filter_operators + item: string_filter_operators + comment: string_filter_operators + origin: string_filter_operators + revisions: directus_revisions_filter + revisions_func: count_function_filter_operators + _and: [directus_activity_filter] + _or: [directus_activity_filter] +} + +input directus_collections_meta_input { + collection: String! + icon: String + note: String + display_template: String + hidden: Boolean! + singleton: Boolean! + translations: JSON + archive_field: String + archive_app_filter: Boolean! + archive_value: String + unarchive_value: String + sort_field: String + accountability: String + color: String + item_duplication_fields: JSON + sort: Int + group: String + collapse: String! + preview_url: String +} + +input directus_collections_schema_input { + name: String + comment: String +} + +input directus_dashboards_filter { + id: string_filter_operators + name: string_filter_operators + icon: string_filter_operators + note: string_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + user_created: directus_users_filter + color: string_filter_operators + panels: directus_panels_filter + panels_func: count_function_filter_operators + _and: [directus_dashboards_filter] + _or: [directus_dashboards_filter] +} + +input directus_fields_meta_input { + id: Int! + collection: String! + field: String! + special: [String] + interface: String + options: JSON + display: String + display_options: JSON + readonly: Boolean! + hidden: Boolean! + sort: Int + width: String + translations: JSON + note: String + conditions: JSON + required: Boolean + group: String + validation: JSON + validation_message: String +} + +input directus_fields_schema_input { + name: String + table: String + data_type: String + default_value: String + max_length: Int + numeric_precision: Int + numeric_scale: Int + is_nullable: Boolean + is_unique: Boolean + is_primary_key: Boolean + has_auto_increment: Boolean + foreign_key_column: String + foreign_key_table: String + comment: String +} + +input directus_files_filter { + id: string_filter_operators + storage: string_filter_operators + filename_disk: string_filter_operators + filename_download: string_filter_operators + title: string_filter_operators + type: string_filter_operators + folder: directus_folders_filter + uploaded_by: directus_users_filter + uploaded_on: date_filter_operators + uploaded_on_func: datetime_function_filter_operators + modified_by: directus_users_filter + modified_on: date_filter_operators + modified_on_func: datetime_function_filter_operators + charset: string_filter_operators + filesize: number_filter_operators + width: number_filter_operators + height: number_filter_operators + duration: number_filter_operators + embed: string_filter_operators + description: string_filter_operators + location: string_filter_operators + tags: string_filter_operators + tags_func: count_function_filter_operators + metadata: string_filter_operators + metadata_func: count_function_filter_operators + _and: [directus_files_filter] + _or: [directus_files_filter] +} + +input directus_flows_filter { + id: string_filter_operators + name: string_filter_operators + icon: string_filter_operators + color: string_filter_operators + description: string_filter_operators + status: string_filter_operators + trigger: string_filter_operators + accountability: string_filter_operators + options: string_filter_operators + options_func: count_function_filter_operators + operation: directus_operations_filter + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + user_created: directus_users_filter + operations: directus_operations_filter + operations_func: count_function_filter_operators + _and: [directus_flows_filter] + _or: [directus_flows_filter] +} + +input directus_folders_filter { + id: string_filter_operators + name: string_filter_operators + parent: directus_folders_filter + _and: [directus_folders_filter] + _or: [directus_folders_filter] +} + +input directus_notifications_filter { + id: number_filter_operators + timestamp: date_filter_operators + timestamp_func: datetime_function_filter_operators + status: string_filter_operators + recipient: directus_users_filter + sender: directus_users_filter + subject: string_filter_operators + message: string_filter_operators + collection: string_filter_operators + item: string_filter_operators + _and: [directus_notifications_filter] + _or: [directus_notifications_filter] +} + +input directus_operations_filter { + id: string_filter_operators + name: string_filter_operators + key: string_filter_operators + type: string_filter_operators + position_x: number_filter_operators + position_y: number_filter_operators + options: string_filter_operators + options_func: count_function_filter_operators + resolve: directus_operations_filter + reject: directus_operations_filter + flow: directus_flows_filter + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + user_created: directus_users_filter + _and: [directus_operations_filter] + _or: [directus_operations_filter] +} + +input directus_panels_filter { + id: string_filter_operators + dashboard: directus_dashboards_filter + name: string_filter_operators + icon: string_filter_operators + color: string_filter_operators + show_header: boolean_filter_operators + note: string_filter_operators + type: string_filter_operators + position_x: number_filter_operators + position_y: number_filter_operators + width: number_filter_operators + height: number_filter_operators + options: string_filter_operators + options_func: count_function_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + user_created: directus_users_filter + _and: [directus_panels_filter] + _or: [directus_panels_filter] +} + +input directus_permissions_filter { + id: number_filter_operators + role: directus_roles_filter + collection: string_filter_operators + action: string_filter_operators + permissions: string_filter_operators + permissions_func: count_function_filter_operators + validation: string_filter_operators + validation_func: count_function_filter_operators + presets: string_filter_operators + presets_func: count_function_filter_operators + fields: string_filter_operators + _and: [directus_permissions_filter] + _or: [directus_permissions_filter] +} + +input directus_presets_filter { + id: number_filter_operators + bookmark: string_filter_operators + user: directus_users_filter + role: directus_roles_filter + collection: string_filter_operators + search: string_filter_operators + layout: string_filter_operators + layout_query: string_filter_operators + layout_query_func: count_function_filter_operators + layout_options: string_filter_operators + layout_options_func: count_function_filter_operators + refresh_interval: number_filter_operators + filter: string_filter_operators + filter_func: count_function_filter_operators + icon: string_filter_operators + color: string_filter_operators + _and: [directus_presets_filter] + _or: [directus_presets_filter] +} + +input directus_relations_meta_input { + id: Int + many_collection: String + many_field: String + one_collection: String + one_field: String + one_collection_field: String + one_allowed_collections: [String] + junction_field: String + sort_field: String + one_deselect_action: String +} + +input directus_relations_schema_input { + table: String! + column: String! + foreign_key_table: String! + foreign_key_column: String! + constraint_name: String + on_update: String! + on_delete: String! +} + +input directus_revisions_filter { + id: number_filter_operators + activity: directus_activity_filter + collection: string_filter_operators + item: string_filter_operators + data: string_filter_operators + data_func: count_function_filter_operators + delta: string_filter_operators + delta_func: count_function_filter_operators + parent: directus_revisions_filter + _and: [directus_revisions_filter] + _or: [directus_revisions_filter] +} + +input directus_roles_filter { + id: string_filter_operators + name: string_filter_operators + icon: string_filter_operators + description: string_filter_operators + ip_access: string_filter_operators + enforce_tfa: boolean_filter_operators + admin_access: boolean_filter_operators + app_access: boolean_filter_operators + users: directus_users_filter + users_func: count_function_filter_operators + _and: [directus_roles_filter] + _or: [directus_roles_filter] +} + +input directus_shares_filter { + id: string_filter_operators + name: string_filter_operators + collection: string_filter_operators + item: string_filter_operators + role: directus_roles_filter + password: hash_filter_operators + user_created: directus_users_filter + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + date_start: date_filter_operators + date_start_func: datetime_function_filter_operators + date_end: date_filter_operators + date_end_func: datetime_function_filter_operators + times_used: number_filter_operators + max_uses: number_filter_operators + _and: [directus_shares_filter] + _or: [directus_shares_filter] +} + +input directus_translations_filter { + id: string_filter_operators + language: string_filter_operators + key: string_filter_operators + value: string_filter_operators + _and: [directus_translations_filter] + _or: [directus_translations_filter] +} + +input directus_users_filter { + id: string_filter_operators + first_name: string_filter_operators + last_name: string_filter_operators + email: string_filter_operators + password: hash_filter_operators + location: string_filter_operators + title: string_filter_operators + description: string_filter_operators + tags: string_filter_operators + tags_func: count_function_filter_operators + avatar: directus_files_filter + language: string_filter_operators + theme: string_filter_operators + tfa_secret: hash_filter_operators + status: string_filter_operators + role: directus_roles_filter + token: hash_filter_operators + last_access: date_filter_operators + last_access_func: datetime_function_filter_operators + last_page: string_filter_operators + provider: string_filter_operators + external_identifier: string_filter_operators + auth_data: string_filter_operators + auth_data_func: count_function_filter_operators + email_notifications: boolean_filter_operators + _and: [directus_users_filter] + _or: [directus_users_filter] +} + +input directus_webhooks_filter { + id: number_filter_operators + name: string_filter_operators + method: string_filter_operators + url: string_filter_operators + status: string_filter_operators + data: boolean_filter_operators + actions: string_filter_operators + collections: string_filter_operators + headers: string_filter_operators + headers_func: count_function_filter_operators + _and: [directus_webhooks_filter] + _or: [directus_webhooks_filter] +} + +input hash_filter_operators { + _null: Boolean + _nnull: Boolean + _empty: Boolean + _nempty: Boolean +} + +input number_filter_operators { + _eq: GraphQLStringOrFloat + _neq: GraphQLStringOrFloat + _in: [GraphQLStringOrFloat] + _nin: [GraphQLStringOrFloat] + _gt: GraphQLStringOrFloat + _gte: GraphQLStringOrFloat + _lt: GraphQLStringOrFloat + _lte: GraphQLStringOrFloat + _null: Boolean + _nnull: Boolean + _between: [GraphQLStringOrFloat] + _nbetween: [GraphQLStringOrFloat] +} + +input string_filter_operators { + _eq: String + _neq: String + _contains: String + _icontains: String + _ncontains: String + _starts_with: String + _nstarts_with: String + _istarts_with: String + _nistarts_with: String + _ends_with: String + _nends_with: String + _iends_with: String + _niends_with: String + _in: [String] + _nin: [String] + _null: Boolean + _nnull: Boolean + _empty: Boolean + _nempty: Boolean +} + +input update_directus_collections_input { + meta: directus_collections_meta_input +} + +input update_directus_dashboards_input { + id: ID + name: String + icon: String + note: String + date_created: Date + user_created: update_directus_users_input + color: String + panels: [update_directus_panels_input] +} + +input update_directus_fields_input { + collection: String + field: String + type: String + meta: directus_fields_meta_input + schema: directus_fields_schema_input +} + +input update_directus_files_input { + id: ID + storage: String + filename_disk: String + filename_download: String + title: String + type: String + folder: update_directus_folders_input + uploaded_by: update_directus_users_input + uploaded_on: Date + modified_by: update_directus_users_input + modified_on: Date + charset: String + filesize: GraphQLBigInt + width: Int + height: Int + duration: Int + embed: String + description: String + location: String + tags: JSON + metadata: JSON +} + +input update_directus_flows_input { + id: ID + name: String + icon: String + color: String + description: String + status: String + trigger: String + accountability: String + options: JSON + operation: update_directus_operations_input + date_created: Date + user_created: update_directus_users_input + operations: [update_directus_operations_input] +} + +input update_directus_folders_input { + id: ID + name: String + parent: update_directus_folders_input +} + +input update_directus_notifications_input { + id: ID + timestamp: Date + status: String + recipient: update_directus_users_input + sender: update_directus_users_input + subject: String + message: String + collection: String + item: String +} + +input update_directus_operations_input { + id: ID + name: String + key: String + type: String + position_x: Int + position_y: Int + options: JSON + resolve: update_directus_operations_input + reject: update_directus_operations_input + flow: update_directus_flows_input + date_created: Date + user_created: update_directus_users_input +} + +input update_directus_panels_input { + id: ID + dashboard: update_directus_dashboards_input + name: String + icon: String + color: String + show_header: Boolean + note: String + type: String + position_x: Int + position_y: Int + width: Int + height: Int + options: JSON + date_created: Date + user_created: update_directus_users_input +} + +input update_directus_permissions_input { + id: ID + role: update_directus_roles_input + collection: String + action: String + permissions: JSON + validation: JSON + presets: JSON + fields: [String] +} + +input update_directus_presets_input { + id: ID + bookmark: String + user: update_directus_users_input + role: update_directus_roles_input + collection: String + search: String + layout: String + layout_query: JSON + layout_options: JSON + refresh_interval: Int + filter: JSON + icon: String + color: String +} + +input update_directus_relations_input { + collection: String + field: String + related_collection: String + schema: directus_relations_schema_input + meta: directus_relations_meta_input +} + +input update_directus_roles_input { + id: ID + name: String + icon: String + description: String + ip_access: [String] + enforce_tfa: Boolean + admin_access: Boolean + app_access: Boolean + users: [update_directus_users_input] +} + +input update_directus_settings_input { + id: ID + project_name: String + project_url: String + + """$t:field_options.directus_settings.project_color_note""" + project_color: String + project_logo: update_directus_files_input + public_foreground: update_directus_files_input + public_background: update_directus_files_input + public_note: String + auth_login_attempts: Int + auth_password_policy: String + storage_asset_transform: String + storage_asset_presets: JSON + custom_css: String + storage_default_folder: update_directus_folders_input + basemaps: JSON + mapbox_key: String + module_bar: JSON + project_descriptor: String + default_language: String + custom_aspect_ratios: JSON +} + +input update_directus_shares_input { + id: ID + name: String + collection: String + item: String + role: update_directus_roles_input + + """$t:shared_leave_blank_for_passwordless_access""" + password: Hash + user_created: update_directus_users_input + date_created: Date + + """$t:shared_leave_blank_for_unlimited""" + date_start: Date + + """$t:shared_leave_blank_for_unlimited""" + date_end: Date + times_used: Int + + """$t:shared_leave_blank_for_unlimited""" + max_uses: Int +} + +input update_directus_translations_input { + id: ID + language: String + key: String + value: String +} + +input update_directus_users_input { + id: ID + first_name: String + last_name: String + email: String + password: Hash + location: String + title: String + description: String + tags: JSON + avatar: update_directus_files_input + language: String + theme: String + tfa_secret: Hash + status: String + role: update_directus_roles_input + token: Hash + last_access: Date + last_page: String + provider: String + external_identifier: String + auth_data: JSON + email_notifications: Boolean +} + +input update_directus_webhooks_input { + id: ID + name: String + method: String + url: String + status: String + data: Boolean + actions: [String] + collections: [String] + headers: JSON +} \ No newline at end of file diff --git a/.wundergraph/schemas/fetch-schemas.js b/.wundergraph/schemas/fetch-schemas.js index 24ebfab..c70cdbe 100644 --- a/.wundergraph/schemas/fetch-schemas.js +++ b/.wundergraph/schemas/fetch-schemas.js @@ -22,8 +22,16 @@ export async function fetchSchemas() { } }); + // Fetch the GraphQL SDL schema + const { data: systemSchema } = await axios.get(`${serverUrl}/server/specs/graphql/system`, { + headers: { + 'Authorization': process.env.DIRECTUS + } + }); + // Save the schema to a file fs.writeFileSync('./.wundergraph/schemas/directus.graphql', schema); + fs.writeFileSync('./.wundergraph/schemas/directus_system.graphql', systemSchema); } fetchSchemas().catch(console.error); \ No newline at end of file diff --git a/.wundergraph/wundergraph.config.ts b/.wundergraph/wundergraph.config.ts index ee496ed..51f5373 100644 --- a/.wundergraph/wundergraph.config.ts +++ b/.wundergraph/wundergraph.config.ts @@ -7,23 +7,32 @@ import dotenv from 'dotenv'; dotenv.config(); const directusSchema = fs.readFileSync(path.join(path.resolve(), './schemas/directus.graphql'), 'utf8'); +const directusSystemSchema = fs.readFileSync(path.join(path.resolve(), './schemas/directus_system.graphql'), 'utf8'); const spaceX = introspect.graphql({ apiNamespace: 'spacex', url: 'https://spacex-api.fly.dev/graphql/', }); -const directus = introspect.graphql({ - apiNamespace: 'directus', +const db = introspect.graphql({ + apiNamespace: 'db', loadSchemaFromString: directusSchema, url: 'https://directus.andert.me/graphql', headers: (builder) => builder .addStaticHeader('Authorization', new EnvironmentVariable('DIRECTUS', process.env.DIRECTUS)) }); +const system_db = introspect.graphql({ + apiNamespace: 'system_db', + loadSchemaFromString: directusSystemSchema, + url: 'https://directus.andert.me/graphql/system', + headers: (builder) => builder + .addStaticHeader('Authorization', new EnvironmentVariable('DIRECTUS', process.env.DIRECTUS)) +}); + // configureWunderGraph emits the configuration configureWunderGraphApplication({ - apis: [spaceX, directus], + apis: [spaceX, db, system_db], server, operations, generate: { diff --git a/package.json b/package.json index 2e73e03..ddffa71 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "jwks-rsa": "^3.0.1", "node-jose": "^2.2.0", "path": "^0.12.7", + "sqlite3": "^5.1.6", "svelte-kit-cookie-session": "^4.0.0", "url": "^0.11.1", "xstate": "^4.38.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 52062a4..103d632 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -82,6 +82,9 @@ dependencies: path: specifier: ^0.12.7 version: 0.12.7 + sqlite3: + specifier: ^5.1.6 + version: 5.1.6 svelte-kit-cookie-session: specifier: ^4.0.0 version: 4.0.0 @@ -2347,6 +2350,11 @@ packages: resolution: {integrity: sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ==} dev: true + /@gar/promisify@1.1.3: + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + dev: false + optional: true + /@graphql-inspector/core@5.0.1(graphql@16.8.0): resolution: {integrity: sha512-1CWfFYucnRdULGiN1NDSinlNlpucBT+0x4i4AIthKe5n5jD9RIVyJtkA8zBbujUFrP++YE3l+TQifwbN1yTQsw==} engines: {node: '>=16.0.0'} @@ -3882,6 +3890,24 @@ packages: '@lit-labs/ssr-dom-shim': 1.1.1 dev: false + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + dependencies: + detect-libc: 2.0.2 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0 + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.5.4 + tar: 6.1.15 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + /@metamask/eth-sig-util@5.0.2: resolution: {integrity: sha512-RU6fG/H6/UlBol221uBkq5C7w3TwLK611nEZliO2u+kO0vHKGBXnIPlhI0tzKUigjhUeOd9mhCNbNvhh0LKt9Q==} engines: {node: '>=14.0.0'} @@ -4043,6 +4069,24 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 + /@npmcli/fs@1.1.1: + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.5.4 + dev: false + optional: true + + /@npmcli/move-file@1.1.2: + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} + deprecated: This functionality has been moved to @npmcli/fs + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + dev: false + optional: true + /@omnigraph/json-schema@0.94.2(@graphql-mesh/cross-helpers@0.4.0)(@graphql-mesh/types@0.94.5)(@graphql-mesh/utils@0.94.5)(@graphql-tools/utils@9.2.1)(graphql@16.8.0)(tslib@2.6.2): resolution: {integrity: sha512-I6ORt2gAuvK2gqfTNf/vdNXC5mQGxVXNuJdPfo3is9S5XZWm2yte4D6Yb2BH6gp7PKKX5Q4rZjHVMnwKoJdI7Q==} engines: {node: '>=16.0.0'} @@ -5189,6 +5233,12 @@ packages: ts-toolbelt: 9.6.0 dev: false + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: false + optional: true + /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} dev: false @@ -6051,6 +6101,10 @@ packages: through: 2.3.8 dev: false + /abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + dev: false + /abitype@0.8.7(typescript@5.0.2)(zod@3.22.2): resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} peerDependencies: @@ -6137,6 +6191,15 @@ packages: humanize-ms: 1.2.1 dev: false + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: false + optional: true + /ajv-formats@2.1.1(ajv@8.12.0): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -6217,10 +6280,31 @@ packages: resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} dev: false + /aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + dev: false + /archy@1.0.0: resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} dev: false + /are-we-there-yet@2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: false + + /are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: false + optional: true + /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false @@ -6639,6 +6723,33 @@ packages: engines: {node: '>= 0.8'} dev: false + /cacache@15.3.0: + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} + dependencies: + '@npmcli/fs': 1.1.1 + '@npmcli/move-file': 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.2.3 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.1.15 + unique-filename: 1.1.1 + transitivePeerDependencies: + - bluebird + dev: false + optional: true + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -6792,6 +6903,12 @@ packages: engines: {node: '>=8'} dev: false + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: false + optional: true + /cli-color@2.0.3: resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==} engines: {node: '>=0.10'} @@ -6871,6 +6988,11 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + dev: false + /colorette@1.4.0: resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} dev: false @@ -6965,6 +7087,10 @@ packages: - supports-color dev: false + /console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + dev: false + /constant-case@3.0.4: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: @@ -7135,6 +7261,10 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + /delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + dev: false + /denodeify@1.2.1: resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} dev: false @@ -7177,6 +7307,11 @@ packages: hasBin: true dev: false + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + /devalue@4.3.2: resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} dev: true @@ -7308,12 +7443,23 @@ packages: once: 1.4.0 dev: false + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: false + optional: true + /envinfo@7.10.0: resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==} engines: {node: '>=4'} hasBin: true dev: false + /err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + dev: false + optional: true + /err-code@3.0.1: resolution: {integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==} dev: false @@ -7910,6 +8056,36 @@ packages: /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: false + + /gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: false + optional: true + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -8131,6 +8307,10 @@ packages: has-symbols: 1.0.3 dev: false + /has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + dev: false + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -8184,6 +8364,11 @@ packages: resolution: {integrity: sha512-C++tTF1GqkGYecL+2S1wJTfoH6APGAsbb7PAWQ3iVIwgG/EFseAfEVOKFgAFq4yK3+6j1EjUD4UQ9dRJHX/sSQ==} dev: false + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: false + optional: true + /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -8195,6 +8380,18 @@ packages: toidentifier: 1.0.1 dev: false + /http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + optional: true + /http-reasons@0.1.0: resolution: {integrity: sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==} dev: false @@ -8284,6 +8481,17 @@ packages: engines: {node: '>=0.8.19'} dev: false + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: false + optional: true + + /infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + dev: false + optional: true + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -8337,6 +8545,11 @@ packages: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} dev: false + /ip@2.0.0: + resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + dev: false + optional: true + /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -8560,6 +8773,11 @@ packages: ip-regex: 4.3.0 dev: false + /is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + dev: false + optional: true + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -9376,10 +9594,43 @@ packages: semver: 5.7.2 dev: false + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: false + /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /make-fetch-happen@9.1.0: + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} + dependencies: + agentkeepalive: 4.5.0 + cacache: 15.3.0 + http-cache-semantics: 4.1.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 1.4.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + socks-proxy-agent: 6.2.1 + ssri: 8.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + dev: false + optional: true + /makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: @@ -9844,6 +10095,50 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + /minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass-fetch@1.4.1: + resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + dev: false + optional: true + + /minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + dev: false + optional: true + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -10011,6 +10306,10 @@ packages: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} dev: false + /node-addon-api@4.3.0: + resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} + dev: false + /node-addon-api@5.1.0: resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} dev: false @@ -10051,6 +10350,28 @@ packages: hasBin: true dev: false + /node-gyp@8.4.1: + resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} + engines: {node: '>= 10.12.0'} + hasBin: true + requiresBuild: true + dependencies: + env-paths: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 9.1.0 + nopt: 5.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.5.4 + tar: 6.1.15 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + dev: false + optional: true + /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false @@ -10083,6 +10404,14 @@ packages: engines: {node: '>=0.12.0'} dev: false + /nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: false + /normalize-path@2.1.1: resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} engines: {node: '>=0.10.0'} @@ -10106,6 +10435,26 @@ packages: path-key: 3.1.1 dev: false + /npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + dev: false + + /npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + dev: false + optional: true + /nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} dev: false @@ -10310,6 +10659,14 @@ packages: p-limit: 3.1.0 dev: false + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: false + optional: true + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -10655,6 +11012,25 @@ packages: engines: {node: '>= 0.6.0'} dev: false + /promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + dev: false + optional: true + + /promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + dev: false + optional: true + /promise@8.3.0: resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} dependencies: @@ -11148,6 +11524,12 @@ packages: resolution: {integrity: sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==} dev: false + /retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + dev: false + optional: true + /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -11518,6 +11900,12 @@ packages: is-fullwidth-code-point: 2.0.0 dev: false + /smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + dev: false + optional: true + /snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: @@ -11525,6 +11913,27 @@ packages: tslib: 2.6.2 dev: false + /socks-proxy-agent@6.2.1: + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + socks: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: false + optional: true + + /socks@2.7.1: + resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} + engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + dependencies: + ip: 2.0.0 + smart-buffer: 4.2.0 + dev: false + optional: true + /sonic-boom@2.8.0: resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} dependencies: @@ -11602,6 +12011,32 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: false + /sqlite3@5.1.6: + resolution: {integrity: sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==} + requiresBuild: true + peerDependenciesMeta: + node-gyp: + optional: true + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + node-addon-api: 4.3.0 + tar: 6.1.15 + optionalDependencies: + node-gyp: 8.4.1 + transitivePeerDependencies: + - bluebird + - encoding + - supports-color + dev: false + + /ssri@8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: false + optional: true + /stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -12306,6 +12741,20 @@ packages: engines: {node: '>=4'} dev: false + /unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + dependencies: + unique-slug: 2.0.2 + dev: false + optional: true + + /unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + dependencies: + imurmurhash: 0.1.4 + dev: false + optional: true + /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -12602,6 +13051,12 @@ packages: isexe: 2.0.0 dev: false + /wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + dependencies: + string-width: 4.2.3 + dev: false + /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: false diff --git a/src/routes/me/+layout.svelte b/src/routes/me/+layout.svelte index f77a3e6..b75e404 100644 --- a/src/routes/me/+layout.svelte +++ b/src/routes/me/+layout.svelte @@ -5,6 +5,7 @@