From 5de172e7396d6a736c435eeacfb967f839dd1f14 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Fri, 12 Sep 2025 14:47:46 +0100 Subject: [PATCH] fix public role permissions (#381) --- .../development/collections/permissions.json | 2 +- .../development/collections/policies.json | 22 +- .../development/specs/item.graphql | 52 +- .../development/specs/openapi.json | 904 +++++++++--------- .../development/specs/system.graphql | 22 +- 5 files changed, 492 insertions(+), 510 deletions(-) diff --git a/backend/directus-config/development/collections/permissions.json b/backend/directus-config/development/collections/permissions.json index b0174944..70c5395b 100644 --- a/backend/directus-config/development/collections/permissions.json +++ b/backend/directus-config/development/collections/permissions.json @@ -1649,7 +1649,7 @@ "permissions": null, "validation": null, "presets": { - "role": "de2f2f91-0d78-4691-b01b-589e1345109b" + "role": "cb5c5489-f8a8-4d91-984d-584cbae84a06" }, "fields": [ "first_name", diff --git a/backend/directus-config/development/collections/policies.json b/backend/directus-config/development/collections/policies.json index f5524458..84042ded 100644 --- a/backend/directus-config/development/collections/policies.json +++ b/backend/directus-config/development/collections/policies.json @@ -23,20 +23,7 @@ "enforce_tfa": false, "admin_access": false, "app_access": true, - "roles": [ - { - "role": null, - "sort": 1 - }, - { - "role": null, - "sort": 1 - }, - { - "role": null, - "sort": null - } - ], + "roles": [], "_syncId": "_sync_default_public_policy" }, { @@ -79,12 +66,7 @@ "enforce_tfa": false, "admin_access": false, "app_access": false, - "roles": [ - { - "role": null, - "sort": null - } - ], + "roles": [], "_syncId": "b0eb656b-96e5-4a30-a083-6ef8141e6a4c" }, { diff --git a/backend/directus-config/development/specs/item.graphql b/backend/directus-config/development/specs/item.graphql index a955b669..b5885981 100644 --- a/backend/directus-config/development/specs/item.graphql +++ b/backend/directus-config/development/specs/item.graphql @@ -15,10 +15,6 @@ type Query { oceannomads_profiles_by_id(id: ID!, version: String): oceannomads_profiles oceannomads_profiles_aggregated(groupBy: [String], filter: oceannomads_profiles_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [oceannomads_profiles_aggregated!]! oceannomads_profiles_by_version(version: String!, id: ID!): version_oceannomads_profiles - marker_icons(filter: marker_icons_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [marker_icons!]! - marker_icons_by_id(id: ID!, version: String): marker_icons - marker_icons_aggregated(groupBy: [String], filter: marker_icons_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [marker_icons_aggregated!]! - marker_icons_by_version(version: String!, id: ID!): version_marker_icons attestations(filter: attestations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [attestations!]! attestations_by_id(id: ID!, version: String): attestations attestations_aggregated(groupBy: [String], filter: attestations_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [attestations_aggregated!]! @@ -55,6 +51,10 @@ type Query { groupTypes_by_id(id: ID!, version: String): groupTypes groupTypes_aggregated(groupBy: [String], filter: groupTypes_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [groupTypes_aggregated!]! groupTypes_by_version(version: String!, id: ID!): version_groupTypes + marker_icons(filter: marker_icons_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [marker_icons!]! + marker_icons_by_id(id: ID!, version: String): marker_icons + marker_icons_aggregated(groupBy: [String], filter: marker_icons_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [marker_icons_aggregated!]! + marker_icons_by_version(version: String!, id: ID!): version_marker_icons inviteLinks(filter: inviteLinks_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [inviteLinks!]! inviteLinks_by_id(id: ID!, version: String): inviteLinks inviteLinks_aggregated(groupBy: [String], filter: inviteLinks_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [inviteLinks_aggregated!]! @@ -150,8 +150,6 @@ type Mutation { create_oceannomads_events_item(data: create_oceannomads_events_input!): oceannomads_events create_oceannomads_profiles_items(filter: oceannomads_profiles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_oceannomads_profiles_input!]): [oceannomads_profiles!]! create_oceannomads_profiles_item(data: create_oceannomads_profiles_input!): oceannomads_profiles - create_marker_icons_items(filter: marker_icons_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_marker_icons_input!]): [marker_icons!]! - create_marker_icons_item(data: create_marker_icons_input!): marker_icons create_attestations_items(filter: attestations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_attestations_input!]): [attestations!]! create_attestations_item(data: create_attestations_input!): attestations create_attestations_directus_users_items(filter: attestations_directus_users_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_attestations_directus_users_input!]): [attestations_directus_users!]! @@ -170,6 +168,8 @@ type Mutation { create_groupSubheaders_groupTypes_item(data: create_groupSubheaders_groupTypes_input!): groupSubheaders_groupTypes create_groupTypes_items(filter: groupTypes_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_groupTypes_input!]): [groupTypes!]! create_groupTypes_item(data: create_groupTypes_input!): groupTypes + create_marker_icons_items(filter: marker_icons_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_marker_icons_input!]): [marker_icons!]! + create_marker_icons_item(data: create_marker_icons_input!): marker_icons create_inviteLinks_items(filter: inviteLinks_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_inviteLinks_input!]): [inviteLinks!]! create_inviteLinks_item(data: create_inviteLinks_input!): inviteLinks create_items_items(filter: items_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [create_items_input!]): [items!]! @@ -224,9 +224,6 @@ type Mutation { update_oceannomads_profiles_items(filter: oceannomads_profiles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_oceannomads_profiles_input!): [oceannomads_profiles!]! update_oceannomads_profiles_batch(filter: oceannomads_profiles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_oceannomads_profiles_input!]): [oceannomads_profiles!]! update_oceannomads_profiles_item(id: ID!, data: update_oceannomads_profiles_input!): oceannomads_profiles - update_marker_icons_items(filter: marker_icons_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_marker_icons_input!): [marker_icons!]! - update_marker_icons_batch(filter: marker_icons_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_marker_icons_input!]): [marker_icons!]! - update_marker_icons_item(id: ID!, data: update_marker_icons_input!): marker_icons update_attestations_items(filter: attestations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_attestations_input!): [attestations!]! update_attestations_batch(filter: attestations_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_attestations_input!]): [attestations!]! update_attestations_item(id: ID!, data: update_attestations_input!): attestations @@ -254,6 +251,9 @@ type Mutation { update_groupTypes_items(filter: groupTypes_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_groupTypes_input!): [groupTypes!]! update_groupTypes_batch(filter: groupTypes_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_groupTypes_input!]): [groupTypes!]! update_groupTypes_item(id: ID!, data: update_groupTypes_input!): groupTypes + update_marker_icons_items(filter: marker_icons_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_marker_icons_input!): [marker_icons!]! + update_marker_icons_batch(filter: marker_icons_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_marker_icons_input!]): [marker_icons!]! + update_marker_icons_item(id: ID!, data: update_marker_icons_input!): marker_icons update_inviteLinks_items(filter: inviteLinks_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, ids: [ID]!, data: update_inviteLinks_input!): [inviteLinks!]! update_inviteLinks_batch(filter: inviteLinks_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String, data: [update_inviteLinks_input!]): [inviteLinks!]! update_inviteLinks_item(id: ID!, data: update_inviteLinks_input!): inviteLinks @@ -325,8 +325,6 @@ type Mutation { delete_oceannomads_events_item(id: ID!): delete_one delete_oceannomads_profiles_items(ids: [ID]!): delete_many delete_oceannomads_profiles_item(id: ID!): delete_one - delete_marker_icons_items(ids: [ID]!): delete_many - delete_marker_icons_item(id: ID!): delete_one delete_attestations_items(ids: [ID]!): delete_many delete_attestations_item(id: ID!): delete_one delete_attestations_directus_users_items(ids: [ID]!): delete_many @@ -345,6 +343,8 @@ type Mutation { delete_groupSubheaders_groupTypes_item(id: ID!): delete_one delete_groupTypes_items(ids: [ID]!): delete_many delete_groupTypes_item(id: ID!): delete_one + delete_marker_icons_items(ids: [ID]!): delete_many + delete_marker_icons_item(id: ID!): delete_one delete_inviteLinks_items(ids: [ID]!): delete_many delete_inviteLinks_item(id: ID!): delete_one delete_items_items(ids: [ID]!): delete_many @@ -415,7 +415,6 @@ type Subscription { relations_mutated(event: EventEnum): relations_mutated oceannomads_events_mutated(event: EventEnum): oceannomads_events_mutated oceannomads_profiles_mutated(event: EventEnum): oceannomads_profiles_mutated - marker_icons_mutated(event: EventEnum): marker_icons_mutated attestations_mutated(event: EventEnum): attestations_mutated attestations_directus_users_mutated(event: EventEnum): attestations_directus_users_mutated contactInfos_mutated(event: EventEnum): contactInfos_mutated @@ -425,6 +424,7 @@ type Subscription { groupSubheaders_mutated(event: EventEnum): groupSubheaders_mutated groupSubheaders_groupTypes_mutated(event: EventEnum): groupSubheaders_groupTypes_mutated groupTypes_mutated(event: EventEnum): groupTypes_mutated + marker_icons_mutated(event: EventEnum): marker_icons_mutated inviteLinks_mutated(event: EventEnum): inviteLinks_mutated items_mutated(event: EventEnum): items_mutated itemSecrets_mutated(event: EventEnum): itemSecrets_mutated @@ -1797,10 +1797,10 @@ type layers { public_edit_items: Boolean sort: Int userProfileLayer: Boolean - notifications(filter: layers_directus_users_1_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [layers_directus_users_1] - notifications_func: count_functions maps(filter: layers_maps_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [layers_maps] maps_func: count_functions + notifications(filter: layers_directus_users_1_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [layers_directus_users_1] + notifications_func: count_functions } type layers_aggregated { @@ -1832,8 +1832,8 @@ type layers_aggregated_count { public_edit_items: Int sort: Int userProfileLayer: Int - notifications: Int maps: Int + notifications: Int } type layers_aggregated_fields { @@ -2045,8 +2045,8 @@ type maps_mutated { type marker_icons { id: ID! image(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - size: Float image_outline(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + size: Float size_outline: Float } @@ -2066,8 +2066,8 @@ type marker_icons_aggregated { type marker_icons_aggregated_count { id: Int image: Int - size: Int image_outline: Int + size: Int size_outline: Int } @@ -2706,8 +2706,8 @@ type version_layers { public_edit_items: Boolean sort: Int userProfileLayer: Boolean - notifications: JSON maps: JSON + notifications: JSON } """""" @@ -2768,8 +2768,8 @@ type version_maps { type version_marker_icons { id: ID image: JSON - size: Float image_outline: JSON + size: Float size_outline: Float } @@ -3293,8 +3293,8 @@ input create_layers_input { public_edit_items: Boolean sort: Int userProfileLayer: Boolean - notifications: [create_layers_directus_users_1_input] maps: [create_layers_maps_input] + notifications: [create_layers_directus_users_1_input] } input create_layers_maps_input { @@ -3338,8 +3338,8 @@ input create_maps_input { input create_marker_icons_input { id: ID! image: create_directus_files_input - size: Float image_outline: create_directus_files_input + size: Float size_outline: Float } @@ -4283,10 +4283,10 @@ input layers_filter { public_edit_items: boolean_filter_operators sort: number_filter_operators userProfileLayer: boolean_filter_operators - notifications: layers_directus_users_1_quantifier_filter - notifications_func: count_function_filter_operators maps: layers_maps_quantifier_filter maps_func: count_function_filter_operators + notifications: layers_directus_users_1_quantifier_filter + notifications_func: count_function_filter_operators _and: [layers_filter] _or: [layers_filter] } @@ -4343,8 +4343,8 @@ input maps_filter { input marker_icons_filter { id: string_filter_operators image: directus_files_filter - size: number_filter_operators image_outline: directus_files_filter + size: number_filter_operators size_outline: number_filter_operators _and: [marker_icons_filter] _or: [marker_icons_filter] @@ -4887,8 +4887,8 @@ input update_layers_input { public_edit_items: Boolean sort: Int userProfileLayer: Boolean - notifications: [update_layers_directus_users_1_input] maps: [update_layers_maps_input] + notifications: [update_layers_directus_users_1_input] } input update_layers_maps_input { @@ -4932,8 +4932,8 @@ input update_maps_input { input update_marker_icons_input { id: ID image: update_directus_files_input - size: Float image_outline: update_directus_files_input + size: Float size_outline: Float } diff --git a/backend/directus-config/development/specs/openapi.json b/backend/directus-config/development/specs/openapi.json index a389e67f..cc1dc745 100644 --- a/backend/directus-config/development/specs/openapi.json +++ b/backend/directus-config/development/specs/openapi.json @@ -9067,395 +9067,6 @@ ] } }, - "/items/marker_icons": { - "post": { - "summary": "Create an Item", - "description": "Create a new marker_icons item.", - "tags": [ - "Items", - "ItemsMarkerIcons" - ], - "operationId": "createItemsMarkerIcons", - "parameters": [ - { - "$ref": "#/components/parameters/Meta" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - }, - { - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedError" - } - } - }, - "get": { - "summary": "List Items", - "description": "List the marker_icons items.", - "tags": [ - "Items", - "ItemsMarkerIcons" - ], - "operationId": "readItemsMarkerIcons", - "security": [ - { - "Auth": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/Fields" - }, - { - "$ref": "#/components/parameters/Limit" - }, - { - "$ref": "#/components/parameters/Meta" - }, - { - "$ref": "#/components/parameters/Offset" - }, - { - "$ref": "#/components/parameters/Sort" - }, - { - "$ref": "#/components/parameters/Filter" - }, - { - "$ref": "#/components/parameters/Search" - } - ], - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - }, - "meta": { - "$ref": "#/components/schemas/x-metadata" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedError" - } - } - }, - "patch": { - "summary": "Update Multiple Items", - "description": "Update multiple marker_icons items at the same time.", - "tags": [ - "Items", - "ItemsMarkerIcons" - ], - "operationId": "updateItemsMarkerIcons", - "parameters": [ - { - "$ref": "#/components/parameters/Fields" - }, - { - "$ref": "#/components/parameters/Limit" - }, - { - "$ref": "#/components/parameters/Meta" - }, - { - "$ref": "#/components/parameters/Offset" - }, - { - "$ref": "#/components/parameters/Sort" - }, - { - "$ref": "#/components/parameters/Filter" - }, - { - "$ref": "#/components/parameters/Search" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - }, - { - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - } - } - } - } - } - } - } - }, - "delete": { - "summary": "Delete Multiple Items", - "description": "Delete multiple existing marker_icons items.", - "tags": [ - "Items", - "ItemsMarkerIcons" - ], - "operationId": "deleteItemsMarkerIcons", - "responses": { - "200": { - "description": "Successful request" - }, - "401": { - "$ref": "#/components/responses/UnauthorizedError" - } - }, - "parameters": [] - } - }, - "/items/marker_icons/{id}": { - "get": { - "summary": "Retrieve an Item", - "description": "Retrieve a single marker_icons item by unique identifier.", - "tags": [ - "Items", - "ItemsMarkerIcons" - ], - "operationId": "readSingleItemsMarkerIcons", - "parameters": [ - { - "$ref": "#/components/parameters/Fields" - }, - { - "$ref": "#/components/parameters/Meta" - }, - { - "$ref": "#/components/parameters/Version" - }, - { - "name": "id", - "description": "Index of the item.", - "in": "path", - "required": true, - "schema": { - "oneOf": [ - { - "type": "integer", - "description": "Incremental index of the item.", - "example": 1 - }, - { - "type": "string", - "description": "Unique identifier of the item.", - "example": "8cbb43fe-4cdf-4991-8352-c461779cec02" - } - ] - } - } - ], - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedError" - }, - "404": { - "$ref": "#/components/responses/NotFoundError" - } - } - }, - "patch": { - "summary": "Update an Item", - "description": "Update an existing marker_icons item.", - "tags": [ - "Items", - "ItemsMarkerIcons" - ], - "operationId": "updateSingleItemsMarkerIcons", - "parameters": [ - { - "$ref": "#/components/parameters/Fields" - }, - { - "$ref": "#/components/parameters/Meta" - }, - { - "name": "id", - "description": "Index of the item.", - "in": "path", - "required": true, - "schema": { - "oneOf": [ - { - "type": "integer", - "description": "Incremental index of the item.", - "example": 1 - }, - { - "type": "string", - "description": "Unique identifier of the item.", - "example": "8cbb43fe-4cdf-4991-8352-c461779cec02" - } - ] - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - } - } - }, - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "$ref": "#/components/schemas/ItemsMarkerIcons" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedError" - }, - "404": { - "$ref": "#/components/responses/NotFoundError" - } - } - }, - "delete": { - "summary": "Delete an Item", - "description": "Delete an existing marker_icons item.", - "tags": [ - "Items", - "ItemsMarkerIcons" - ], - "operationId": "deleteSingleItemsMarkerIcons", - "responses": { - "200": { - "description": "Successful request" - }, - "401": { - "$ref": "#/components/responses/UnauthorizedError" - }, - "404": { - "$ref": "#/components/responses/NotFoundError" - } - }, - "parameters": [ - { - "name": "id", - "description": "Index of the item.", - "in": "path", - "required": true, - "schema": { - "oneOf": [ - { - "type": "integer", - "description": "Incremental index of the item.", - "example": 1 - }, - { - "type": "string", - "description": "Unique identifier of the item.", - "example": "8cbb43fe-4cdf-4991-8352-c461779cec02" - } - ] - } - } - ] - } - }, "/items/attestations": { "post": { "summary": "Create an Item", @@ -12957,6 +12568,395 @@ ] } }, + "/items/marker_icons": { + "post": { + "summary": "Create an Item", + "description": "Create a new marker_icons item.", + "tags": [ + "Items", + "ItemsMarkerIcons" + ], + "operationId": "createItemsMarkerIcons", + "parameters": [ + { + "$ref": "#/components/parameters/Meta" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + }, + { + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Successful request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedError" + } + } + }, + "get": { + "summary": "List Items", + "description": "List the marker_icons items.", + "tags": [ + "Items", + "ItemsMarkerIcons" + ], + "operationId": "readItemsMarkerIcons", + "security": [ + { + "Auth": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/Fields" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Meta" + }, + { + "$ref": "#/components/parameters/Offset" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Search" + } + ], + "responses": { + "200": { + "description": "Successful request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + }, + "meta": { + "$ref": "#/components/schemas/x-metadata" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedError" + } + } + }, + "patch": { + "summary": "Update Multiple Items", + "description": "Update multiple marker_icons items at the same time.", + "tags": [ + "Items", + "ItemsMarkerIcons" + ], + "operationId": "updateItemsMarkerIcons", + "parameters": [ + { + "$ref": "#/components/parameters/Fields" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Meta" + }, + { + "$ref": "#/components/parameters/Offset" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Search" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + }, + { + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Successful request", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + } + } + } + } + } + } + } + }, + "delete": { + "summary": "Delete Multiple Items", + "description": "Delete multiple existing marker_icons items.", + "tags": [ + "Items", + "ItemsMarkerIcons" + ], + "operationId": "deleteItemsMarkerIcons", + "responses": { + "200": { + "description": "Successful request" + }, + "401": { + "$ref": "#/components/responses/UnauthorizedError" + } + }, + "parameters": [] + } + }, + "/items/marker_icons/{id}": { + "get": { + "summary": "Retrieve an Item", + "description": "Retrieve a single marker_icons item by unique identifier.", + "tags": [ + "Items", + "ItemsMarkerIcons" + ], + "operationId": "readSingleItemsMarkerIcons", + "parameters": [ + { + "$ref": "#/components/parameters/Fields" + }, + { + "$ref": "#/components/parameters/Meta" + }, + { + "$ref": "#/components/parameters/Version" + }, + { + "name": "id", + "description": "Index of the item.", + "in": "path", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer", + "description": "Incremental index of the item.", + "example": 1 + }, + { + "type": "string", + "description": "Unique identifier of the item.", + "example": "8cbb43fe-4cdf-4991-8352-c461779cec02" + } + ] + } + } + ], + "responses": { + "200": { + "description": "Successful request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedError" + }, + "404": { + "$ref": "#/components/responses/NotFoundError" + } + } + }, + "patch": { + "summary": "Update an Item", + "description": "Update an existing marker_icons item.", + "tags": [ + "Items", + "ItemsMarkerIcons" + ], + "operationId": "updateSingleItemsMarkerIcons", + "parameters": [ + { + "$ref": "#/components/parameters/Fields" + }, + { + "$ref": "#/components/parameters/Meta" + }, + { + "name": "id", + "description": "Index of the item.", + "in": "path", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer", + "description": "Incremental index of the item.", + "example": 1 + }, + { + "type": "string", + "description": "Unique identifier of the item.", + "example": "8cbb43fe-4cdf-4991-8352-c461779cec02" + } + ] + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + } + } + }, + "responses": { + "200": { + "description": "Successful request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "$ref": "#/components/schemas/ItemsMarkerIcons" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedError" + }, + "404": { + "$ref": "#/components/responses/NotFoundError" + } + } + }, + "delete": { + "summary": "Delete an Item", + "description": "Delete an existing marker_icons item.", + "tags": [ + "Items", + "ItemsMarkerIcons" + ], + "operationId": "deleteSingleItemsMarkerIcons", + "responses": { + "200": { + "description": "Successful request" + }, + "401": { + "$ref": "#/components/responses/UnauthorizedError" + }, + "404": { + "$ref": "#/components/responses/NotFoundError" + } + }, + "parameters": [ + { + "name": "id", + "description": "Index of the item.", + "in": "path", + "required": true, + "schema": { + "oneOf": [ + { + "type": "integer", + "description": "Incremental index of the item.", + "example": 1 + }, + { + "type": "string", + "description": "Unique identifier of the item.", + "example": "8cbb43fe-4cdf-4991-8352-c461779cec02" + } + ] + } + } + ] + } + }, "/items/inviteLinks": { "post": { "summary": "Create an Item", @@ -21266,10 +21266,6 @@ "name": "ItemsOceannomadsProfiles", "x-collection": "oceannomads_profiles" }, - { - "name": "ItemsMarkerIcons", - "x-collection": "marker_icons" - }, { "name": "ItemsAttestations", "x-collection": "attestations" @@ -21306,6 +21302,10 @@ "name": "ItemsGroupTypes", "x-collection": "groupTypes" }, + { + "name": "ItemsMarkerIcons", + "x-collection": "marker_icons" + }, { "name": "ItemsInviteLinks", "x-collection": "inviteLinks" @@ -23439,51 +23439,6 @@ "id" ] }, - "ItemsMarkerIcons": { - "type": "object", - "properties": { - "id": { - "nullable": false, - "type": "string" - }, - "image": { - "nullable": true, - "oneOf": [ - { - "type": "string", - "format": "uuid" - }, - { - "$ref": "#/components/schemas/Files" - } - ] - }, - "size": { - "nullable": true, - "type": "number" - }, - "image_outline": { - "nullable": true, - "oneOf": [ - { - "type": "string", - "format": "uuid" - }, - { - "$ref": "#/components/schemas/Files" - } - ] - }, - "size_outline": { - "nullable": true, - "type": "number" - } - }, - "x-collection": "marker_icons", - "required": [ - "id" - ] - }, "ItemsAttestations": { "type": "object", "properties": { @@ -23980,6 +23935,51 @@ "id" ] }, + "ItemsMarkerIcons": { + "type": "object", + "properties": { + "id": { + "nullable": false, + "type": "string" + }, + "image": { + "nullable": true, + "oneOf": [ + { + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/components/schemas/Files" + } + ] + }, + "image_outline": { + "nullable": true, + "oneOf": [ + { + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/components/schemas/Files" + } + ] + }, + "size": { + "nullable": true, + "type": "number" + }, + "size_outline": { + "nullable": true, + "type": "number" + } + }, + "x-collection": "marker_icons", + "required": [ + "id" + ] + }, "ItemsInviteLinks": { "type": "object", "properties": { @@ -24371,20 +24371,6 @@ "nullable": true, "type": "boolean" }, - "notifications": { - "nullable": true, - "type": "array", - "items": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "#/components/schemas/ItemsLayersDirectusUsers1" - } - ] - } - }, "maps": { "nullable": true, "type": "array", @@ -24398,6 +24384,20 @@ } ] } + }, + "notifications": { + "nullable": true, + "type": "array", + "items": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "#/components/schemas/ItemsLayersDirectusUsers1" + } + ] + } } }, "x-collection": "layers", diff --git a/backend/directus-config/development/specs/system.graphql b/backend/directus-config/development/specs/system.graphql index d97fc0de..67752053 100644 --- a/backend/directus-config/development/specs/system.graphql +++ b/backend/directus-config/development/specs/system.graphql @@ -266,7 +266,6 @@ type Subscription { relations_mutated(event: EventEnum): relations_mutated oceannomads_events_mutated(event: EventEnum): oceannomads_events_mutated oceannomads_profiles_mutated(event: EventEnum): oceannomads_profiles_mutated - marker_icons_mutated(event: EventEnum): marker_icons_mutated attestations_mutated(event: EventEnum): attestations_mutated attestations_directus_users_mutated(event: EventEnum): attestations_directus_users_mutated contactInfos_mutated(event: EventEnum): contactInfos_mutated @@ -276,6 +275,7 @@ type Subscription { groupSubheaders_mutated(event: EventEnum): groupSubheaders_mutated groupSubheaders_groupTypes_mutated(event: EventEnum): groupSubheaders_groupTypes_mutated groupTypes_mutated(event: EventEnum): groupTypes_mutated + marker_icons_mutated(event: EventEnum): marker_icons_mutated inviteLinks_mutated(event: EventEnum): inviteLinks_mutated items_mutated(event: EventEnum): items_mutated itemSecrets_mutated(event: EventEnum): itemSecrets_mutated @@ -1966,10 +1966,10 @@ type layers { public_edit_items: Boolean sort: Int userProfileLayer: Boolean - notifications(filter: layers_directus_users_1_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [layers_directus_users_1] - notifications_func: count_functions maps(filter: layers_maps_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [layers_maps] maps_func: count_functions + notifications(filter: layers_directus_users_1_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [layers_directus_users_1] + notifications_func: count_functions } type layers_directus_users_1 { @@ -2057,8 +2057,8 @@ type maps_mutated { type marker_icons { id: ID! image(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - size: Float image_outline(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + size: Float size_outline: Float } @@ -2779,8 +2779,8 @@ input create_layers_input { public_edit_items: Boolean sort: Int userProfileLayer: Boolean - notifications: [create_layers_directus_users_1_input] maps: [create_layers_maps_input] + notifications: [create_layers_directus_users_1_input] } input create_layers_maps_input { @@ -2824,8 +2824,8 @@ input create_maps_input { input create_marker_icons_input { id: ID! image: create_directus_files_input - size: Float image_outline: create_directus_files_input + size: Float size_outline: Float } @@ -3741,10 +3741,10 @@ input layers_filter { public_edit_items: boolean_filter_operators sort: number_filter_operators userProfileLayer: boolean_filter_operators - notifications: layers_directus_users_1_quantifier_filter - notifications_func: count_function_filter_operators maps: layers_maps_quantifier_filter maps_func: count_function_filter_operators + notifications: layers_directus_users_1_quantifier_filter + notifications_func: count_function_filter_operators _and: [layers_filter] _or: [layers_filter] } @@ -3801,8 +3801,8 @@ input maps_filter { input marker_icons_filter { id: string_filter_operators image: directus_files_filter - size: number_filter_operators image_outline: directus_files_filter + size: number_filter_operators size_outline: number_filter_operators _and: [marker_icons_filter] _or: [marker_icons_filter] @@ -4319,8 +4319,8 @@ input update_layers_input { public_edit_items: Boolean sort: Int userProfileLayer: Boolean - notifications: [update_layers_directus_users_1_input] maps: [update_layers_maps_input] + notifications: [update_layers_directus_users_1_input] } input update_layers_maps_input { @@ -4364,8 +4364,8 @@ input update_maps_input { input update_marker_icons_input { id: ID image: update_directus_files_input - size: Float image_outline: update_directus_files_input + size: Float size_outline: Float }