From 0498a7ae6353bb882360c4769f1967cbbfd9c305 Mon Sep 17 00:00:00 2001 From: 1aurend Date: Mon, 29 Jun 2026 17:45:58 -0700 Subject: [PATCH 1/2] chore: update schema --- packages/admin/__schema__/schema.json | 106274 +++++++++++++------- packages/admin/schema.graphql | 24824 +++-- packages/admin/types/graphql-schema.d.ts | 38160 ++++--- 3 files changed, 107513 insertions(+), 61745 deletions(-) diff --git a/packages/admin/__schema__/schema.json b/packages/admin/__schema__/schema.json index 832f364b1..fdbb23e51 100644 --- a/packages/admin/__schema__/schema.json +++ b/packages/admin/__schema__/schema.json @@ -639,6 +639,92 @@ } ] }, + { + "kind": "OBJECT", + "name": "AdminPermissionGrid", + "description": "Permissions tied to the admin section of Meru.\n", + "fields": [ + { + "name": "access", + "description": "A permission to access the admin section of Meru.\n\nThis is checked in order to determine whether or not\nthe client should redirect from the admin dashboard (or any admin section)\nwhen a user tries to access it.\n\nActual access to specific admin features is determined by other permissions.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "PermissionGrid", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, { "kind": "INPUT_OBJECT", "name": "AlterSchemaVersionInput", @@ -1827,9 +1913,41 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -1843,6 +1961,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "entity", "description": "The entity that owns the announcement", @@ -1909,7 +2043,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -1941,7 +2075,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -1954,10 +2088,41 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -2636,6 +2801,37 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "UNION", + "name": "AnyConfigurableSubmissionTarget", + "description": "An input for `submissionTargetConfigure` that accepts a submission target\n**or** an entity that can be configured.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + } + ] + }, { "kind": "UNION", "name": "AnyContributable", @@ -4211,7 +4407,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -4388,6 +4584,38 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "caption", "description": null, @@ -4418,7 +4646,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -4432,6 +4660,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "downloadURL", "description": null, @@ -4550,7 +4794,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -4566,7 +4810,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -4579,6 +4823,22 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -4588,6 +4848,21 @@ "name": "Asset", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -4798,6 +5073,38 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "caption", "description": null, @@ -4828,7 +5135,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -4842,6 +5149,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "downloadURL", "description": null, @@ -4960,7 +5283,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -4976,7 +5299,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -4989,6 +5312,22 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -4998,6 +5337,21 @@ "name": "Asset", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -5170,6 +5524,38 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "caption", "description": null, @@ -5200,7 +5586,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -5214,6 +5600,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "downloadURL", "description": null, @@ -5332,7 +5734,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -5348,7 +5750,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -5361,6 +5763,22 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -5370,6 +5788,21 @@ "name": "Asset", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -5392,6 +5825,12 @@ "inputFields": null, "interfaces": null, "enumValues": [ + { + "name": "archive", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "audio", "description": null, @@ -5605,6 +6044,38 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "caption", "description": null, @@ -5635,7 +6106,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -5649,6 +6120,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "downloadURL", "description": null, @@ -5767,7 +6254,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -5783,7 +6270,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -5796,6 +6283,22 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -5805,6 +6308,21 @@ "name": "Asset", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -6035,6 +6553,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "isWide", "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", @@ -6131,6 +6661,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "type", "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", @@ -6338,6 +6884,38 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "caption", "description": null, @@ -6368,7 +6946,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -6382,6 +6960,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "downloadURL", "description": null, @@ -6500,7 +7094,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -6516,7 +7110,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -6529,6 +7123,22 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -6538,6 +7148,21 @@ "name": "Asset", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -6667,6 +7292,38 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "caption", "description": null, @@ -6697,7 +7354,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -6711,6 +7368,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "downloadURL", "description": null, @@ -6829,7 +7502,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -6845,7 +7518,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -6858,6 +7531,22 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -6867,6 +7556,21 @@ "name": "Asset", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -6970,6 +7674,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "isWide", "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", @@ -7066,6 +7782,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "type", "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", @@ -7394,6 +8126,57 @@ } ] }, + { + "kind": "OBJECT", + "name": "AuthorizationResult", + "description": null, + "fields": [ + { + "name": "message", + "description": "Human-readable error message", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reasons", + "description": "Reasons of check failure", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FailureReasons", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Result of applying a policy rule", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, { "kind": "ENUM", "name": "BlurbBackground", @@ -7440,9 +8223,41 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -7456,6 +8271,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "id", "description": null, @@ -7506,7 +8337,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -7538,7 +8369,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -7552,6 +8383,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "width", "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", @@ -7567,6 +8414,21 @@ ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -7654,9 +8516,41 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -7670,6 +8564,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "definition", "description": "Load the associated definition for this template.\n", @@ -7828,7 +8738,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -7860,7 +8770,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -7873,10 +8783,41 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -8047,6 +8988,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "isWide", "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", @@ -8183,6 +9136,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "type", "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", @@ -8359,10 +9328,25 @@ "name": "AssetPermissionGrid", "ofType": null }, + { + "kind": "OBJECT", + "name": "ContributorPermissionGrid", + "ofType": null + }, { "kind": "OBJECT", "name": "EntityPermissionGrid", "ofType": null + }, + { + "kind": "OBJECT", + "name": "RolePermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserPermissionGrid", + "ofType": null } ] }, @@ -8371,18 +9355,6 @@ "name": "ChildEntity", "description": "An interface for entities that can contain actual content, as well as any number of themselves\nin a tree structure.\n\nIn practice, this means a `Collection` or an `Item`, not a `Community`.\n", "fields": [ - { - "name": "accessControlList", - "description": "Derived access control list", - "args": [], - "type": { - "kind": "OBJECT", - "name": "AccessControlList", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "allAccessGrants", "description": "A polymorphic connection for access grants from an entity", @@ -8621,7 +9593,7 @@ }, { "name": "announcements", - "description": "Announcements for a specific entity", + "description": "A list of announcements associated with this entity.\n", "args": [ { "name": "after", @@ -8917,6 +9889,198 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canAlterSchemaVersion", + "description": "Whether the current user has permission to alter the schema version of this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canCreateAssets", + "description": "Whether the current user has permission to create assets under this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canCreateCollections", + "description": "Whether the current user has permission to create collections under this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canCreateItems", + "description": "Whether the current user has permission to create items under this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDeposit", + "description": "Whether the current user has permission to deposit a new entity into this one.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canManageAccess", + "description": "Whether the current user has permission to manage access to this entity.\n\nThis opens up `grantAccess` and `revokeAccess` mutations.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canPurge", + "description": "Whether the current user has permission to purge this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canReparent", + "description": "Whether the current user has permission to reparent this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canRevalidate", + "description": "Whether the current user has permission to revalidate this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canReview", + "description": "Whether the current user has permission to review deposits to this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "community", "description": "The community this entity belongs to", @@ -8935,7 +10099,7 @@ }, { "name": "createdAt", - "description": "The date this entity was added to the WDP", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -8949,6 +10113,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "currentlyHidden", "description": "Whether the entity is _currently_ hidden, based on the server's time zone.\n", @@ -8983,7 +10163,7 @@ }, { "name": "descendants", - "description": "Search and retrieve *all* descendants of this `Entity`, regardless of type.\n", + "description": "All descendants of this entity, regardless of type.\n\nCommunities and collections can both contain collections and items. Items will only contain items.\n", "args": [ { "name": "after", @@ -9313,7 +10493,7 @@ }, { "name": "hierarchicalDepth", - "description": "The depth of the hierarchical entity, taking into account any parent types", + "description": "The depth of the hierarchical entity, taking into account any parent types.\n", "args": [], "type": { "kind": "NON_NULL", @@ -9327,6 +10507,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "id", + "description": "ID of the object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "identifier", "description": "A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers.", @@ -9377,7 +10573,7 @@ }, { "name": "linkTargetCandidates", - "description": "Available link targets for this entity", + "description": "Available link targets for this entity.\n", "args": [ { "name": "after", @@ -9502,7 +10698,7 @@ }, { "name": "links", - "description": null, + "description": "Links from this entity to other entities, along with metadata about those links.\n", "args": [ { "name": "after", @@ -9713,7 +10909,7 @@ }, { "name": "orderings", - "description": "Retrieve a connection of orderings for the parent object.\n", + "description": "A list of orderings associated with this entity.\n", "args": [ { "name": "after", @@ -9879,7 +11075,7 @@ }, { "name": "pages", - "description": null, + "description": "A list of pages associated with this entity.\n", "args": [ { "name": "after", @@ -10048,7 +11244,7 @@ }, { "name": "schemaDefinition", - "description": null, + "description": "The schema definition that this entity conforms to.\n", "args": [], "type": { "kind": "NON_NULL", @@ -10088,7 +11284,7 @@ }, { "name": "schemaRanks", - "description": null, + "description": "The hierarchical schema ranks for this entity, which compute the overall structure\nof its descendants by schema definition.\n", "args": [], "type": { "kind": "NON_NULL", @@ -10112,7 +11308,7 @@ }, { "name": "schemaVersion", - "description": null, + "description": "The schema version that this entity conforms to.\n", "args": [], "type": { "kind": "NON_NULL", @@ -10169,7 +11365,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -10183,6 +11379,34 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submissionStatus", + "description": "THe current submission status of this entity. Is it a draft, published, or unrelated?\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntitySubmissionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTarget", + "description": "The submission target that this entity can be submitted to, if any.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "subtitle", "description": "A human-readable subtitle for the entity.\n", @@ -10253,7 +11477,7 @@ }, { "name": "updatedAt", - "description": "The date this entity was last updated within the WDP", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -10267,6 +11491,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "visibility", "description": "If an entity is available in the frontend", @@ -10360,6 +11600,11 @@ "name": "Accessible", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, { "kind": "INTERFACE", "name": "Entity", @@ -10370,6 +11615,16 @@ "name": "EntityBase", "ofType": null }, + { + "kind": "INTERFACE", + "name": "EntityContextualPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityPermissions", + "ofType": null + }, { "kind": "INTERFACE", "name": "ExposesPermissions", @@ -10400,6 +11655,11 @@ "name": "HasSchemaProperties", "ofType": null }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, { "kind": "INTERFACE", "name": "ReferencesEntityVisibility", @@ -10419,6 +11679,11 @@ "kind": "INTERFACE", "name": "Sluggable", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Submittable", + "ofType": null } ], "enumValues": null, @@ -10468,13 +11733,13 @@ "enumValues": [ { "name": "ADMIN", - "description": "The admin client (http://localhost:3000).\n", + "description": "The admin client (https://admin.sandbox.meru.host).\n", "isDeprecated": false, "deprecationReason": null }, { "name": "FRONTEND", - "description": "The frontend client (http://localhost:14700).\n", + "description": "The frontend client (https://sandbox.meru.host).\n", "isDeprecated": false, "deprecationReason": null } @@ -10486,18 +11751,6 @@ "name": "Collection", "description": "A collection of items", "fields": [ - { - "name": "accessControlList", - "description": "Derived access control list", - "args": [], - "type": { - "kind": "OBJECT", - "name": "AccessControlList", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "accessGrants", "description": null, @@ -10861,7 +12114,7 @@ }, { "name": "announcements", - "description": "Announcements for a specific entity", + "description": "A list of announcements associated with this entity.\n", "args": [ { "name": "after", @@ -11470,98 +12723,290 @@ "deprecationReason": null }, { - "name": "canonicalPermalink", - "description": "The canonical permalink for this resource, if one is set.\n", + "name": "canAlterSchemaVersion", + "description": "Whether the current user has permission to alter the schema version of this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "Permalink", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "children", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "canCreateAssets", + "description": "Whether the current user has permission to create assets under this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canCreateCollections", + "description": "Whether the current user has permission to create collections under this entity.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "CollectionConnection", + "name": "AuthorizationResult", "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use Collection.collections" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "collections", - "description": "Retrieve the collections beneath this collection.", + "name": "canCreateItems", + "description": "Whether the current user has permission to create items under this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDeposit", + "description": "Whether the current user has permission to deposit a new entity into this one.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canManageAccess", + "description": "Whether the current user has permission to manage access to this entity.\n\nThis opens up `grantAccess` and `revokeAccess` mutations.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canPurge", + "description": "Whether the current user has permission to purge this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canReparent", + "description": "Whether the current user has permission to reparent this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canRevalidate", + "description": "Whether the current user has permission to revalidate this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canReview", + "description": "Whether the current user has permission to review deposits to this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canonicalPermalink", + "description": "The canonical permalink for this resource, if one is set.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "children", + "description": null, "args": [ - { - "name": "access", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityPermissionFilter", - "ofType": null - }, - "defaultValue": "SKIP", - "isDeprecated": false, - "deprecationReason": null - }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use Collection.collections" + }, + { + "name": "collections", + "description": "Retrieve the collections beneath this collection.", + "args": [ + { + "name": "access", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityPermissionFilter", + "ofType": null + }, + "defaultValue": "SKIP", + "isDeprecated": false, + "deprecationReason": null + }, { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", @@ -11876,6 +13321,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, { "name": "first", "description": "Returns the first _n_ elements from the list.", @@ -11912,6 +13369,26 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, { "name": "order", "description": null, @@ -11962,7 +13439,7 @@ }, { "name": "prefix", - "description": "Search for contributors with names that start with the provided text.\n", + "description": "Search for contributors with names that start with the provided text.\n\n**Deprecated**: Use the `nameSearch` filter instead.\n", "type": { "kind": "SCALAR", "name": "String", @@ -11987,7 +13464,7 @@ }, { "name": "createdAt", - "description": "The date this entity was added to the WDP", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -12001,6 +13478,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "currentlyHidden", "description": "Whether the entity is _currently_ hidden, based on the server's time zone.\n", @@ -12035,7 +13528,7 @@ }, { "name": "descendants", - "description": "Search and retrieve *all* descendants of this `Entity`, regardless of type.\n", + "description": "All descendants of this entity, regardless of type.\n\nCommunities and collections can both contain collections and items. Items will only contain items.\n", "args": [ { "name": "after", @@ -12609,7 +14102,7 @@ }, { "name": "hierarchicalDepth", - "description": "The depth of the hierarchical entity, taking into account any parent types", + "description": "The depth of the hierarchical entity, taking into account any parent types.\n", "args": [], "type": { "kind": "NON_NULL", @@ -12695,6 +14188,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ItemFilterInput", + "ofType": null + }, + "defaultValue": "{includeDrafts: false}", + "isDeprecated": false, + "deprecationReason": null + }, { "name": "first", "description": "Returns the first _n_ elements from the list.", @@ -12731,6 +14236,26 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ItemFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, { "name": "order", "description": null, @@ -12846,7 +14371,7 @@ }, { "name": "linkTargetCandidates", - "description": "Available link targets for this entity", + "description": "Available link targets for this entity.\n", "args": [ { "name": "after", @@ -12971,7 +14496,7 @@ }, { "name": "links", - "description": null, + "description": "Links from this entity to other entities, along with metadata about those links.\n", "args": [ { "name": "after", @@ -13182,7 +14707,7 @@ }, { "name": "orderings", - "description": "Retrieve a connection of orderings for the parent object.\n", + "description": "A list of orderings associated with this entity.\n", "args": [ { "name": "after", @@ -13348,7 +14873,7 @@ }, { "name": "pages", - "description": null, + "description": "A list of pages associated with this entity.\n", "args": [ { "name": "after", @@ -13678,7 +15203,7 @@ }, { "name": "schemaDefinition", - "description": null, + "description": "The schema definition that this entity conforms to.\n", "args": [], "type": { "kind": "NON_NULL", @@ -13763,7 +15288,7 @@ }, { "name": "schemaRanks", - "description": null, + "description": "The hierarchical schema ranks for this entity, which compute the overall structure\nof its descendants by schema definition.\n", "args": [], "type": { "kind": "NON_NULL", @@ -13787,7 +15312,7 @@ }, { "name": "schemaVersion", - "description": null, + "description": "The schema version that this entity conforms to.\n", "args": [], "type": { "kind": "NON_NULL", @@ -13844,7 +15369,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -13858,6 +15383,34 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submissionStatus", + "description": "THe current submission status of this entity. Is it a draft, published, or unrelated?\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntitySubmissionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTarget", + "description": "The submission target that this entity can be submitted to, if any.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "subtitle", "description": "A human-readable subtitle for the entity.\n", @@ -13928,7 +15481,7 @@ }, { "name": "updatedAt", - "description": "The date this entity was last updated within the WDP", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -13942,6 +15495,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "userAccessGrants", "description": "Access grants for specific users", @@ -14276,6 +15845,16 @@ "name": "ChildEntity", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, { "kind": "INTERFACE", "name": "Contributable", @@ -14291,6 +15870,16 @@ "name": "EntityBase", "ofType": null }, + { + "kind": "INTERFACE", + "name": "EntityContextualPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityPermissions", + "ofType": null + }, { "kind": "INTERFACE", "name": "ExposesPermissions", @@ -14370,6 +15959,11 @@ "kind": "INTERFACE", "name": "Sluggable", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Submittable", + "ofType": null } ], "enumValues": null, @@ -14380,6 +15974,38 @@ "name": "CollectionAttribution", "description": "Attributions for collections.\n", "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "contributor", "description": null, @@ -14398,7 +16024,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -14412,6 +16038,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "id", "description": null, @@ -14454,7 +16096,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -14470,7 +16112,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -14483,6 +16125,22 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -14492,6 +16150,21 @@ "name": "Attribution", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -14604,6 +16277,38 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "collection", "description": null, @@ -14670,7 +16375,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -14684,6 +16389,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "displayName", "description": "A potentially-overridden display name value for all contributor types", @@ -14794,7 +16515,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -14822,7 +16543,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -14835,10 +16556,36 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, { "kind": "INTERFACE", "name": "Contribution", @@ -14849,6 +16596,11 @@ "name": "ContributionBase", "ofType": null }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -15033,7 +16785,7 @@ { "kind": "UNION", "name": "CollectionParent", - "description": null, + "description": "The parent of a collection, which can be either a community or another collection.\n", "fields": null, "inputFields": null, "interfaces": null, @@ -15052,141 +16804,36 @@ ] }, { - "kind": "OBJECT", - "name": "Community", - "description": "A community of users", + "kind": "INTERFACE", + "name": "CommonModel", + "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs.\n", "fields": [ { - "name": "accessControlList", - "description": "Derived access control list", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "AccessControlList", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "accessGrants", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subject", - "description": null, - "type": { - "kind": "ENUM", - "name": "AccessGrantSubjectFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "AnyCommunityAccessGrantConnection", + "name": "AuthorizationResult", "ofType": null } }, @@ -15194,124 +16841,15 @@ "deprecationReason": null }, { - "name": "allAccessGrants", - "description": "A polymorphic connection for access grants from an entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subject", - "description": null, - "type": { - "kind": "ENUM", - "name": "AccessGrantSubjectFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnyAccessGrantConnection", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -15319,165 +16857,63 @@ "deprecationReason": null }, { - "name": "allowedActions", - "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "announcement", - "description": "Look up an announcement for this entity by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "id", + "description": "ID of the object.", + "args": [], "type": { - "kind": "OBJECT", - "name": "Announcement", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "announcements", - "description": "Announcements for a specific entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "AnnouncementOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnnouncementConnection", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -15485,1106 +16921,584 @@ "deprecationReason": null }, { - "name": "applicableRoles", - "description": "The role(s) that gave the permissions to access this resource, if any.", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null }, { - "name": "assetDownloads", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "precision", - "description": "The precision to apply.\n", - "type": { - "kind": "ENUM", - "name": "AnalyticsPrecision", - "ofType": null - }, - "defaultValue": "DAY", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subjectIds", - "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AnalyticsEventCountSummary", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null }, { - "name": "assetDownloadsByRegion", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subjectIds", - "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usOnly", - "description": "Filter by country_code = \"US\" only.\n", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AnalyticsRegionCountSummary", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "Node", + "ofType": null }, { - "name": "assets", - "description": "Assets owned by this entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": null, - "type": { - "kind": "ENUM", - "name": "AssetKindFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AssetConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Announcement", + "ofType": null }, { - "name": "assignableRoles", - "description": "The role(s) that the current user could assign to other users on this entity, if applicable.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetAudio", + "ofType": null }, { - "name": "assignedUsers", - "description": "Retrieve a list of user & role assignments for this entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContextualPermissionOrder", - "ofType": null - }, - "defaultValue": "USER_NAME_ASC", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContextualPermissionConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetDocument", + "ofType": null }, { - "name": "availableEntitiesFor", - "description": "Expose all available entities for this schema property.\n", - "args": [ - { - "name": "fullPath", - "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntitySelectOption", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetImage", + "ofType": null }, { - "name": "breadcrumbs", - "description": "Previous entries in the hierarchy", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntityBreadcrumb", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetPDF", + "ofType": null }, { - "name": "canonicalPermalink", - "description": "The canonical permalink for this resource, if one is set.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Permalink", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetUnknown", + "ofType": null }, { - "name": "collections", - "description": null, - "args": [ - { - "name": "access", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityPermissionFilter", - "ofType": null - }, - "defaultValue": "SKIP", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodeFilter", - "description": "Select the classification of nodes to retrieve: see TreeNodeFilter for a more thorough explanation", - "type": { - "kind": "ENUM", - "name": "TreeNodeFilter", - "ofType": null - }, - "defaultValue": "ROOTS_ONLY", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityOrder", - "ofType": null - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schema", - "description": "Filter by a namespace.name schema identifier", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CollectionConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetVideo", + "ofType": null }, { - "name": "descendants", - "description": "Search and retrieve *all* descendants of this `Entity`, regardless of type.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "maxDepth", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "EntityDescendantOrder", - "ofType": null - } - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schema", - "description": "Filter by a namespace.name schema identifier", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityDescendantScopeFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntityDescendantConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "BlurbTemplateDefinition", + "ofType": null }, { - "name": "entityViews", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "precision", - "description": "The precision to apply.\n", - "type": { - "kind": "ENUM", - "name": "AnalyticsPrecision", - "ofType": null - }, - "defaultValue": "DAY", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AnalyticsEventCountSummary", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "BlurbTemplateInstance", + "ofType": null }, { - "name": "entityViewsByRegion", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usOnly", - "description": "Filter by country_code = \"US\" only.\n", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AnalyticsRegionCountSummary", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "firstCollection", - "description": "Retrieve the first matching collection beneath this collection.", - "args": [ - { - "name": "nodeFilter", - "description": "Describe the depth of entities to retrieve", - "type": { - "kind": "ENUM", - "name": "SubtreeNodeFilter", - "ofType": null - }, - "defaultValue": "CHILDREN", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityOrder", - "ofType": null - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schema", - "description": "Filter by a namespace.name schema identifier", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "CollectionAttribution", + "ofType": null }, { - "name": "firstItem", - "description": "Retrieve the first matching item beneath this item.", - "args": [ - { - "name": "nodeFilter", - "description": "Describe the depth of entities to retrieve", - "type": { - "kind": "ENUM", - "name": "SubtreeNodeFilter", - "ofType": null - }, - "defaultValue": "CHILDREN", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityOrder", - "ofType": null - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schema", - "description": "Filter by a namespace.name schema identifier", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Item", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "CollectionContribution", + "ofType": null }, { - "name": "harvestTargetKind", - "description": "Whether this is a collection or a community.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HarvestTargetKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Community", + "ofType": null }, { - "name": "heroImage", - "description": "A hero image for the entity, suitable for displaying in page headers", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContextualPermission", + "ofType": null }, { - "name": "heroImageLayout", - "description": "The layout to use when rendering this community's hero image.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HeroImageLayout", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributionRoleConfiguration", + "ofType": null }, { - "name": "heroImageMetadata", - "description": "Configurable metadata for the hero_image attachment", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorCollectionAttribution", + "ofType": null }, { - "name": "hierarchicalDepth", - "description": "The depth of the hierarchical entity, taking into account any parent types", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorItemAttribution", + "ofType": null }, { - "name": "id", - "description": null, + "kind": "OBJECT", + "name": "ContributorListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequestTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DescendantListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DescendantListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DetailTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DetailTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityLink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptEntityStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptRecordStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestEntity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMessage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSet", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemContribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrganizationContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PersonContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Role", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionDepositTarget", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReviewTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupItemAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserItemAccessGrant", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "description": "Common permissions shared on most models.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -16592,1032 +17506,666 @@ "deprecationReason": null }, { - "name": "layouts", - "description": "Access layouts for this entity.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityLayouts", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Announcement", + "ofType": null }, { - "name": "linkTargetCandidates", - "description": "Available link targets for this entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": null, - "type": { - "kind": "ENUM", - "name": "LinkTargetCandidateFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": "\"\"", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "LinkTargetCandidateConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetAudio", + "ofType": null }, { - "name": "links", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntityLinkConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetDocument", + "ofType": null }, { - "name": "logo", - "description": "A logo for the community", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetImage", + "ofType": null }, { - "name": "logoMetadata", - "description": "Configurable metadata for the logo attachment", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetPDF", + "ofType": null }, { - "name": "markedForPurge", - "description": "Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetUnknown", + "ofType": null }, { - "name": "metadata", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "JSON", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetVideo", + "ofType": null }, { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use Community.title" + "kind": "OBJECT", + "name": "BlurbTemplateDefinition", + "ofType": null }, { - "name": "ordering", - "description": "Look up an ordering for this entity by identifier", - "args": [ - { - "name": "identifier", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "BlurbTemplateInstance", + "ofType": null }, { - "name": "orderingForSchema", - "description": "Look up an ordering that is set up to handle a specific schema.", - "args": [ - { - "name": "slug", - "description": "This should be of the `namespace:identifier` format.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "orderings", - "description": "Retrieve a connection of orderings for the parent object.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "availability", - "description": "Optionally filter orderings by whether they are enabled or disabled.", - "type": { - "kind": "ENUM", - "name": "OrderingAvailabilityFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "OrderingOrder", - "ofType": null - }, - "defaultValue": "DETERMINISTIC", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibility", - "description": "Optionally filter orderings by whether they are visible or hidden.", - "type": { - "kind": "ENUM", - "name": "OrderingVisibilityFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderingConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "CollectionAttribution", + "ofType": null }, { - "name": "page", - "description": "Look up a page for this entity by slug", - "args": [ - { - "name": "slug", - "description": "**Note**: Unlike most other model types, a page's slug is just a string\nas opposed to our custom `Slug` type. They are not designed to be\nopaque, but instead be something human-readable that can appear in URIs.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "CollectionContribution", + "ofType": null }, { - "name": "pages", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PageConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Community", + "ofType": null }, { - "name": "permalinks", - "description": "All permalinks associated with this resource.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Permalink", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContextualPermission", + "ofType": null }, { - "name": "permissions", - "description": "An array of hashes that can be requested to load in a context", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PermissionGrant", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributionRoleConfiguration", + "ofType": null }, { - "name": "position", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorCollectionAttribution", + "ofType": null }, { - "name": "schemaDefinition", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinition", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorItemAttribution", + "ofType": null }, { - "name": "schemaInstanceContext", - "description": "The context for our schema instance. Includes form values and necessary referents.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaInstanceContext", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorListTemplateDefinition", + "ofType": null }, { - "name": "schemaProperties", - "description": "A list of schema properties associated with this instance or version.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorListTemplateInstance", + "ofType": null }, { - "name": "schemaProperty", - "description": "Read a single schema property by its full path.\n", - "args": [ - { - "name": "fullPath", - "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null }, { - "name": "schemaRanks", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HierarchicalSchemaRank", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null }, { - "name": "schemaVersion", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null }, { - "name": "search", - "description": "Search from this level of the API using it as the origin", - "args": [ - { - "name": "maxDepth", - "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibility", - "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", - "type": { - "kind": "ENUM", - "name": "EntityVisibilityFilter", - "ofType": null - }, - "defaultValue": "VISIBLE", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SearchScope", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "ofType": null }, { - "name": "slug", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DepositorAgreement", + "ofType": null }, { - "name": "subtitle", - "description": "A human-readable subtitle for the entity.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DepositorAgreementTransition", + "ofType": null }, { - "name": "summary", - "description": "A description of the contents of the entity.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null }, { - "name": "tagline", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DepositorRequestTransition", + "ofType": null }, { - "name": "thumbnail", - "description": "A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DescendantListTemplateDefinition", + "ofType": null }, { - "name": "thumbnailMetadata", - "description": "Configurable metadata for the thumbnail attachment", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DescendantListTemplateInstance", + "ofType": null }, { - "name": "title", - "description": "A human-readable title for the entity.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DetailTemplateDefinition", + "ofType": null }, { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DetailTemplateInstance", + "ofType": null }, { - "name": "userAccessGrants", - "description": "Access grants for specific users", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, + "kind": "OBJECT", + "name": "EntityLink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptEntityStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptRecordStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestEntity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMessage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSet", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemContribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrganizationContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PersonContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Role", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionDepositTarget", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReviewTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupItemAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserItemAccessGrant", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "CommonTransition", + "description": "A common interface for transition models, which represent state changes in a state machine.\nThese models have `from_state`, `to_state`, and `most_recent` fields, as well as an optional\nassociation to a `User` who performed the transition.\n", + "fields": [ + { + "name": "mostRecent", + "description": "Whether this is the most recent transition.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The user who performed the transition, if available.\n\nSome transitions may happen through automated processes, so the user will not always be set.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DepositorAgreementTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequestTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReviewTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTransition", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "Community", + "description": "A community of users", + "fields": [ + { + "name": "accessGrants", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, "deprecationReason": null }, { @@ -17679,6 +18227,18 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "subject", + "description": null, + "type": { + "kind": "ENUM", + "name": "AccessGrantSubjectFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null } ], "type": { @@ -17686,7 +18246,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "UserCommunityAccessGrantConnection", + "name": "AnyCommunityAccessGrantConnection", "ofType": null } }, @@ -17694,8 +18254,8 @@ "deprecationReason": null }, { - "name": "userGroupAccessGrants", - "description": "Not presently used", + "name": "allAccessGrants", + "description": "A polymorphic connection for access grants from an entity", "args": [ { "name": "after", @@ -17792,6 +18352,18 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "subject", + "description": null, + "type": { + "kind": "ENUM", + "name": "AccessGrantSubjectFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null } ], "type": { @@ -17799,103 +18371,16 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "UserGroupCommunityAccessGrantConnection", + "name": "AnyAccessGrantConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Accessible", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Attachable", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "EntityBase", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ExposesPermissions", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HarvestTarget", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasEntityAnalytics", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasEntityBreadcrumbs", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasSchemaProperties", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "OrderingEntryable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Permalinkable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "SchemaInstance", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Searchable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CommunityConnection", - "description": "The connection type for Community.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", "args": [], "type": { "kind": "NON_NULL", @@ -17907,8 +18392,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "CommunityEdge", + "kind": "SCALAR", + "name": "String", "ofType": null } } @@ -17918,144 +18403,421 @@ "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { + "name": "announcement", + "description": "Look up an announcement for this entity by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Community", + "kind": "SCALAR", + "name": "Slug", "ofType": null } - } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } + ], + "type": { + "kind": "OBJECT", + "name": "Announcement", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", - "args": [], + "name": "announcements", + "description": "A list of announcements associated with this entity.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "AnnouncementOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "PageInfo", + "name": "AnnouncementConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CommunityEdge", - "description": "An edge in a connection.", - "fields": [ + }, { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "applicableRoles", + "description": "The role(s) that gave the permissions to access this resource, if any.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Role", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", - "args": [], + "name": "assetDownloads", + "description": null, + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "precision", + "description": "The precision to apply.\n", + "type": { + "kind": "ENUM", + "name": "AnalyticsPrecision", + "ofType": null + }, + "defaultValue": "DAY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectIds", + "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "Community", + "name": "AnalyticsEventCountSummary", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ContextualPermission", - "description": "A contextual permission for a user, role, and entity", - "fields": [ + }, { - "name": "accessControlList", - "description": "The derived access control list for this user and entity.\n", - "args": [], + "name": "assetDownloadsByRegion", + "description": null, + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectIds", + "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usOnly", + "description": "Filter by country_code = \"US\" only.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "OBJECT", - "name": "AccessControlList", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnalyticsRegionCountSummary", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "accessGrants", - "description": "The access grants that correspond to this contextual permission.\n", - "args": [], + "name": "assets", + "description": "Assets owned by this entity", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "AssetKindFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserAccessGrant", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AssetConnection", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "allowedActions", - "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "name": "assignableRoles", + "description": "The role(s) that the current user could assign to other users on this entity, if applicable.", "args": [], "type": { "kind": "NON_NULL", @@ -18067,8 +18829,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Role", "ofType": null } } @@ -18078,31 +18840,112 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "name": "assignedUsers", + "description": "Retrieve a list of user & role assignments for this entity", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContextualPermissionOrder", + "ofType": null + }, + "defaultValue": "USER_NAME_ASC", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "ContextualPermissionConnection", "ofType": null } }, @@ -18110,9 +18953,26 @@ "deprecationReason": null }, { - "name": "permissions", - "description": "An array of hashes that can be requested to load in a context", - "args": [], + "name": "availableEntitiesFor", + "description": "Expose all available entities for this schema property.\n", + "args": [ + { + "name": "fullPath", + "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, @@ -18124,7 +18984,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "PermissionGrant", + "name": "EntitySelectOption", "ofType": null } } @@ -18134,8 +18994,8 @@ "deprecationReason": null }, { - "name": "roles", - "description": "The roles that correspond to this contextual permission.\n", + "name": "breadcrumbs", + "description": "Previous entries in the hierarchy", "args": [], "type": { "kind": "NON_NULL", @@ -18148,7 +19008,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Role", + "name": "EntityBreadcrumb", "ofType": null } } @@ -18158,15 +19018,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "canAlterSchemaVersion", + "description": "Whether the current user has permission to alter the schema version of this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -18174,15 +19034,15 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "canCreateAssets", + "description": "Whether the current user has permission to create assets under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -18190,139 +19050,79 @@ "deprecationReason": null }, { - "name": "user", - "description": "The user that has the contextual permission.\n", + "name": "canCreateCollections", + "description": "Whether the current user has permission to create collections under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "User", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ExposesPermissions", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ContextualPermissionConnection", - "description": "The connection type for ContextualPermission.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", + "name": "canCreateItems", + "description": "Whether the current user has permission to create items under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContextualPermissionEdge", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "canDeposit", + "description": "Whether the current user has permission to deposit a new entity into this one.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContextualPermission", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "PageInfo", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ContextualPermissionEdge", - "description": "An edge in a connection.", - "fields": [ + }, { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "canManageAccess", + "description": "Whether the current user has permission to manage access to this entity.\n\nThis opens up `grantAccess` and `revokeAccess` mutations.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -18330,77 +19130,79 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "canPurge", + "description": "Whether the current user has permission to purge this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ContextualPermission", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ContextualPermissionOrder", - "description": "A collection of options used to dictate how to order contextual permissions", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "OLDEST", - "description": "Order by the oldest granted permissions", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "RECENT", - "description": "Order by the most recently granted permissions", + "name": "canReparent", + "description": "Whether the current user has permission to reparent this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "USER_NAME_ASC", - "description": "Order by the user's name from A-Z", + "name": "canRevalidate", + "description": "Whether the current user has permission to revalidate this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "USER_NAME_DESC", - "description": "Order by the user's name from Z-A", + "name": "canReview", + "description": "Whether the current user has permission to review deposits to this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Contributable", - "description": "Something that can be contributed to", - "fields": [ + }, { - "name": "contributionRoles", - "description": "Look up contribution role configuration for this record.", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ContributionRoleConfiguration", + "name": "AuthorizationResult", "ofType": null } }, @@ -18408,9 +19210,33 @@ "deprecationReason": null }, { - "name": "contributors", - "description": "Contributors to this element", + "name": "canonicalPermalink", + "description": "The canonical permalink for this resource, if one is set.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collections", + "description": null, "args": [ + { + "name": "access", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityPermissionFilter", + "ofType": null + }, + "defaultValue": "SKIP", + "isDeprecated": false, + "deprecationReason": null + }, { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", @@ -18448,26 +19274,26 @@ "deprecationReason": null }, { - "name": "kind", - "description": null, + "name": "last", + "description": "Returns the last _n_ elements from the list.", "type": { - "kind": "ENUM", - "name": "ContributorFilterKind", + "kind": "SCALAR", + "name": "Int", "ofType": null }, - "defaultValue": "ALL", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "last", - "description": "Returns the last _n_ elements from the list.", + "name": "nodeFilter", + "description": "Select the classification of nodes to retrieve: see TreeNodeFilter for a more thorough explanation", "type": { - "kind": "SCALAR", - "name": "Int", + "kind": "ENUM", + "name": "TreeNodeFilter", "ofType": null }, - "defaultValue": null, + "defaultValue": "ROOTS_ONLY", "isDeprecated": false, "deprecationReason": null }, @@ -18476,10 +19302,10 @@ "description": null, "type": { "kind": "ENUM", - "name": "ContributorOrder", + "name": "EntityOrder", "ofType": null }, - "defaultValue": "NAME_ASCENDING", + "defaultValue": "PUBLISHED_DESCENDING", "isDeprecated": false, "deprecationReason": null }, @@ -18520,12 +19346,20 @@ "deprecationReason": null }, { - "name": "prefix", - "description": "Search for contributors with names that start with the provided text.\n", + "name": "schema", + "description": "Filter by a namespace.name schema identifier", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } }, "defaultValue": null, "isDeprecated": false, @@ -18537,89 +19371,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "AnyContributorConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "Contribution", - "description": "An interface representing a contribution from a certain contributor.\n\nIt leaves the `contributor` field's implementation up to later\nimplementations, as we have different needs elsewhere in the API.\n\nSee `Contribution` and `TemplateContribution`.\n", - "fields": [ - { - "name": "affiliation", - "description": "A potentially-overridden value from person contributors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contributionRole", - "description": "The actual role", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contributor", - "description": "The contributor, loaded via union for the most control.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Contributor", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contributorKind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ContributorKind", + "name": "CollectionConnection", "ofType": null } }, @@ -18627,15 +19379,15 @@ "deprecationReason": null }, { - "name": "displayName", - "description": "A potentially-overridden display name value for all contributor types", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, @@ -18643,39 +19395,15 @@ "deprecationReason": null }, { - "name": "innerPosition", - "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _after_ contribution role ranking.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "location", - "description": "A potentially-overridden value from organization contributors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "metadata", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ContributionMetadata", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -18683,103 +19411,372 @@ "deprecationReason": null }, { - "name": "outerPosition", - "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _before_ contribution role ranking, superseding everything else.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, + "name": "descendants", + "description": "All descendants of this entity, regardless of type.\n\nCommunities and collections can both contain collections and items. Items will only contain items.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxDepth", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntityDescendantOrder", + "ofType": null + } + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schema", + "description": "Filter by a namespace.name schema identifier", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scope", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityDescendantScopeFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityDescendantConnection", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "role", - "description": "An arbitrary text value describing the role the contributor had", - "args": [], + "name": "entityViews", + "description": null, + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "precision", + "description": "The precision to apply.\n", + "type": { + "kind": "ENUM", + "name": "AnalyticsPrecision", + "ofType": null + }, + "defaultValue": "DAY", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnalyticsEventCountSummary", + "ofType": null + } }, - "isDeprecated": true, - "deprecationReason": "Use `roleLabel` instead." + "isDeprecated": false, + "deprecationReason": null }, { - "name": "roleLabel", - "description": "An arbitrary text value describing the role the contributor had", - "args": [], + "name": "entityViewsByRegion", + "description": null, + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usOnly", + "description": "Filter by country_code = \"US\" only.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnalyticsRegionCountSummary", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "A potentially-overridden value from person contributors", - "args": [], + "name": "firstCollection", + "description": "Retrieve the first matching collection beneath this collection.", + "args": [ + { + "name": "nodeFilter", + "description": "Describe the depth of entities to retrieve", + "type": { + "kind": "ENUM", + "name": "SubtreeNodeFilter", + "ofType": null + }, + "defaultValue": "CHILDREN", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityOrder", + "ofType": null + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schema", + "description": "Filter by a namespace.name schema identifier", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Collection", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ContributionBase", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "CollectionContribution", - "ofType": null }, { - "kind": "OBJECT", - "name": "ItemContribution", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "ContributionBase", - "description": "An interface representing a contribution from a certain contributor.\n\nIt leaves the `contributor` field's implementation up to later\nimplementations, as we have different needs elsewhere in the API.\n\nSee `Contribution` and `TemplateContribution`.\n", - "fields": [ - { - "name": "affiliation", - "description": "A potentially-overridden value from person contributors", - "args": [], + "name": "firstItem", + "description": "Retrieve the first matching item beneath this item.", + "args": [ + { + "name": "nodeFilter", + "description": "Describe the depth of entities to retrieve", + "type": { + "kind": "ENUM", + "name": "SubtreeNodeFilter", + "ofType": null + }, + "defaultValue": "CHILDREN", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityOrder", + "ofType": null + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schema", + "description": "Filter by a namespace.name schema identifier", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Item", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributionRole", - "description": "The actual role", + "name": "harvestTargetKind", + "description": "Whether this is a collection or a community.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", + "kind": "ENUM", + "name": "HarvestTargetKind", "ofType": null } }, @@ -18787,15 +19784,15 @@ "deprecationReason": null }, { - "name": "contributorKind", - "description": null, + "name": "heroImage", + "description": "A hero image for the entity, suitable for displaying in page headers", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ContributorKind", + "kind": "OBJECT", + "name": "ImageAttachment", "ofType": null } }, @@ -18803,15 +19800,15 @@ "deprecationReason": null }, { - "name": "displayName", - "description": "A potentially-overridden display name value for all contributor types", + "name": "heroImageLayout", + "description": "The layout to use when rendering this community's hero image.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "HeroImageLayout", "ofType": null } }, @@ -18819,39 +19816,43 @@ "deprecationReason": null }, { - "name": "innerPosition", - "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _after_ contribution role ranking.\n", + "name": "heroImageMetadata", + "description": "Configurable metadata for the hero_image attachment", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "ImageMetadata", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "location", - "description": "A potentially-overridden value from organization contributors", + "name": "hierarchicalDepth", + "description": "The depth of the hierarchical entity, taking into account any parent types.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "metadata", + "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ContributionMetadata", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -18859,433 +19860,24 @@ "deprecationReason": null }, { - "name": "outerPosition", - "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _before_ contribution role ranking, superseding everything else.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": "An arbitrary text value describing the role the contributor had", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": true, - "deprecationReason": "Use `roleLabel` instead." - }, - { - "name": "roleLabel", - "description": "An arbitrary text value describing the role the contributor had", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": "A potentially-overridden value from person contributors", + "name": "layouts", + "description": "Access layouts for this entity.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityLayouts", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "CollectionContribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ItemContribution", - "ofType": null }, { - "kind": "OBJECT", - "name": "TemplateContribution", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "ContributionMetadata", - "description": "Metadata for a contribution", - "fields": [ - { - "name": "affiliation", - "description": "A value that can override a contribution's contributor's affiliation", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "displayName", - "description": "A value that can oerride a contribution's contributor's displayed name", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": "An arbitrary field describing how the contributor contributed", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": "A value that can override a contribution's contributor's title", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "ContributionMetadataInput", - "description": "An input type that builds contribution metadata", - "fields": null, - "inputFields": [ - { - "name": "affiliation", - "description": "A value that can override a contribution's contributor's affiliation", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "displayName", - "description": "A value that can override a contribution's contributor's displayed name", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "location", - "description": "A value that can override a contribution's contributor's location", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": "A value that can override a contribution's contributor's title", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ContributionOrder", - "description": "Sort contributions by various properties and directions", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "OLDEST", - "description": "Sort contributors by oldest created date", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "RECENT", - "description": "Sort contributors by newest created date", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "TARGET_TITLE_ASCENDING", - "description": "Sort contributors by their target's title A-Z", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "TARGET_TITLE_DESCENDING", - "description": "Sort contributors by their target's title Z-A", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ContributionRoleConfiguration", - "description": "Configuration for the controlled vocabulary used for contribution roles on a given `source`.\n", - "fields": [ - { - "name": "controlledVocabulary", - "description": "The set of items to use for contribution roles for this source.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabulary", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "defaultItem", - "description": "The default item to use when a contribution is created but no role is provided.\nThis is necessary as a fallback for harvesting and other use cases.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "otherItem", - "description": "The \"other\" item in the set, if available (logic to be implemented later).\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slug", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "ContributionRoleConfigurationInput", - "description": "Configuration for the controlled vocabulary used for contribution roles on a given `source`.\n", - "fields": null, - "inputFields": [ - { - "name": "controlledVocabularyId", - "description": "The set of items to use for contribution roles for this source.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "defaultItemId", - "description": "The default item to use when a contribution is created but no role is provided.\nThis is necessary as a fallback for harvesting and other use cases.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "otherItemId", - "description": "The \"other\" item in the set, if available (logic to be implemented later).\n", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Contributor", - "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs", - "fields": [ - { - "name": "affiliation", - "description": "Only applicable when `kind` = `PERSON`.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "attributions", - "description": null, + "name": "linkTargetCandidates", + "description": "Available link targets for this entity.\n", "args": [ { "name": "after", @@ -19324,26 +19916,26 @@ "deprecationReason": null }, { - "name": "last", - "description": "Returns the last _n_ elements from the list.", + "name": "kind", + "description": null, "type": { - "kind": "SCALAR", - "name": "Int", + "kind": "ENUM", + "name": "LinkTargetCandidateFilter", "ofType": null }, - "defaultValue": null, + "defaultValue": "ALL", "isDeprecated": false, "deprecationReason": null }, { - "name": "order", - "description": null, + "name": "last", + "description": "Returns the last _n_ elements from the list.", "type": { - "kind": "ENUM", - "name": "ContributorAttributionOrder", + "kind": "SCALAR", + "name": "Int", "ofType": null }, - "defaultValue": "DEFAULT", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, @@ -19382,6 +19974,18 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "title", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"", + "isDeprecated": false, + "deprecationReason": null } ], "type": { @@ -19389,35 +19993,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ContributorAttributionConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "bio", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "collectionContributionCount", - "description": "The total number of collection contributions from this contributor.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", + "name": "LinkTargetCandidateConnection", "ofType": null } }, @@ -19425,8 +20001,8 @@ "deprecationReason": null }, { - "name": "collectionContributions", - "description": null, + "name": "links", + "description": "Links from this entity to other entities, along with metadata about those links.\n", "args": [ { "name": "after", @@ -19481,10 +20057,10 @@ "description": null, "type": { "kind": "ENUM", - "name": "ContributionOrder", + "name": "SimpleOrder", "ofType": null }, - "defaultValue": "TARGET_TITLE_ASCENDING", + "defaultValue": "RECENT", "isDeprecated": false, "deprecationReason": null }, @@ -19530,7 +20106,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "CollectionContributionConnection", + "name": "EntityLinkConnection", "ofType": null } }, @@ -19538,15 +20114,15 @@ "deprecationReason": null }, { - "name": "contributionCount", - "description": "The total number of contributions (item + collection) from this contributor.\n", + "name": "logo", + "description": "A logo for the community", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "ImageAttachment", "ofType": null } }, @@ -19554,59 +20130,47 @@ "deprecationReason": null }, { - "name": "email", - "description": null, + "name": "logoMetadata", + "description": "Configurable metadata for the logo attachment", "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "ImageMetadata", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "familyName", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "markedForPurge", + "description": "Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "givenName", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "metadata", + "description": null, "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "JSON", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestModificationStatus", - "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HarvestModificationStatus", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", + "name": "name", "description": null, "args": [], "type": { @@ -19618,56 +20182,70 @@ "ofType": null } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use Community.title" }, { - "name": "image", - "description": "An optional image associated with the contributor.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", - "ofType": null + "name": "ordering", + "description": "Look up an ordering for this entity by identifier", + "args": [ + { + "name": "identifier", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } + ], + "type": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "imageMetadata", - "description": "Configurable metadata for the image attachment", - "args": [], + "name": "orderingForSchema", + "description": "Look up an ordering that is set up to handle a specific schema.", + "args": [ + { + "name": "slug", + "description": "This should be of the `namespace:identifier` format.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "OBJECT", - "name": "ImageMetadata", + "name": "Ordering", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemContributionCount", - "description": "The total number of item contributions from this contributor.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "itemContributions", - "description": null, + "name": "orderings", + "description": "A list of orderings associated with this entity.\n", "args": [ { "name": "after", @@ -19681,6 +20259,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "availability", + "description": "Optionally filter orderings by whether they are enabled or disabled.", + "type": { + "kind": "ENUM", + "name": "OrderingAvailabilityFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, { "name": "before", "description": "Returns the elements in the list that come before the specified cursor.", @@ -19722,10 +20312,10 @@ "description": null, "type": { "kind": "ENUM", - "name": "ContributionOrder", + "name": "OrderingOrder", "ofType": null }, - "defaultValue": "TARGET_TITLE_ASCENDING", + "defaultValue": "DETERMINISTIC", "isDeprecated": false, "deprecationReason": null }, @@ -19764,6 +20354,18 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "visibility", + "description": "Optionally filter orderings by whether they are visible or hidden.", + "type": { + "kind": "ENUM", + "name": "OrderingVisibilityFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null } ], "type": { @@ -19771,7 +20373,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ItemContributionConnection", + "name": "OrderingConnection", "ofType": null } }, @@ -19779,15 +20381,129 @@ "deprecationReason": null }, { - "name": "kind", - "description": null, - "args": [], + "name": "page", + "description": "Look up a page for this entity by slug", + "args": [ + { + "name": "slug", + "description": "**Note**: Unlike most other model types, a page's slug is just a string\nas opposed to our custom `Slug` type. They are not designed to be\nopaque, but instead be something human-readable that can appear in URIs.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pages", + "description": "A list of pages associated with this entity.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ContributorKind", + "kind": "OBJECT", + "name": "PageConnection", "ofType": null } }, @@ -19795,20 +20511,32 @@ "deprecationReason": null }, { - "name": "legalName", - "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "name": "permalinks", + "description": "All permalinks associated with this resource.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "links", - "description": null, + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", "args": [], "type": { "kind": "NON_NULL", @@ -19821,7 +20549,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ContributorLink", + "name": "PermissionGrant", "ofType": null } } @@ -19831,27 +20559,27 @@ "deprecationReason": null }, { - "name": "location", - "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "name": "position", + "description": null, "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "A display name, independent of the type of contributor.\n", + "name": "schemaDefinition", + "description": "The schema definition that this entity conforms to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "SchemaDefinition", "ofType": null } }, @@ -19859,122 +20587,158 @@ "deprecationReason": null }, { - "name": "orcid", - "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "prefix", - "description": null, + "name": "schemaInstanceContext", + "description": "The context for our schema instance. Includes form values and necessary referents.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaInstanceContext", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "schemaProperties", + "description": "A list of schema properties associated with this instance or version.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "suffix", - "description": null, - "args": [], + "name": "schemaProperty", + "description": "Read a single schema property by its full path.\n", + "args": [ + { + "name": "fullPath", + "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "INTERFACE", + "name": "SchemaProperty", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "schemaRanks", + "description": "The hierarchical schema ranks for this entity, which compute the overall structure\nof its descendants by schema definition.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HierarchicalSchemaRank", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "url", - "description": null, + "name": "schemaVersion", + "description": "The schema version that this entity conforms to.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ContributorBase", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestModificationStatus", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "OrganizationContributor", - "ofType": null + "name": "search", + "description": "Search from this level of the API using it as the origin", + "args": [ + { + "name": "maxDepth", + "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", + "type": { + "kind": "ENUM", + "name": "EntityVisibilityFilter", + "ofType": null + }, + "defaultValue": "VISIBLE", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchScope", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "PersonContributor", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "ContributorAttribution", - "description": "Similar to `Attribution`, but from the perspective of a `Contributor`.\n", - "fields": [ - { - "name": "entitySlug", - "description": "The slug for the entity.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -19989,15 +20753,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "Whether this belongs to an item or a collection.\n", + "name": "submissionStatus", + "description": "THe current submission status of this entity. Is it a draft, published, or unrelated?\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "ChildEntityKind", + "name": "EntitySubmissionStatus", "ofType": null } }, @@ -20005,56 +20769,84 @@ "deprecationReason": null }, { - "name": "published", - "description": "The published date, expressed as a variable precision date (if available).\n", + "name": "submissionTarget", + "description": "The submission target that this entity can be submitted to, if any.\n", "args": [], "type": { "kind": "OBJECT", - "name": "VariablePrecisionDate", + "name": "SubmissionTarget", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "publishedOn", - "description": "The published date, expressed as an ISO8601 date (if available).\n", + "name": "subtitle", + "description": "A human-readable subtitle for the entity.\n", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601Date", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "roles", - "description": "A priority-ordered list of the roles the associated contributor had.\n", + "name": "summary", + "description": "A description of the contents of the entity.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagline", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "thumbnail", + "description": "A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null - } - } + "kind": "OBJECT", + "name": "ImageAttachment", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, + { + "name": "thumbnailMetadata", + "description": "Configurable metadata for the thumbnail attachment", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ImageMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "title", - "description": "The title of the entity.\n", + "description": "A human-readable title for the entity.\n", "args": [], "type": { "kind": "NON_NULL", @@ -20067,32 +20859,385 @@ }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "ContributorCollectionAttribution", - "ofType": null }, { - "kind": "OBJECT", - "name": "ContributorItemAttribution", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "ContributorAttributionConnection", - "description": "The connection type for ContributorAttribution.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userAccessGrants", + "description": "Access grants for specific users", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCommunityAccessGrantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userGroupAccessGrants", + "description": "Not presently used", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserGroupCommunityAccessGrantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Accessible", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Attachable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityBase", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityContextualPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HarvestTarget", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEntityAnalytics", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEntityBreadcrumbs", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasSchemaProperties", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "OrderingEntryable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Permalinkable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SchemaInstance", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Searchable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Submittable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommunityConnection", + "description": "The connection type for Community.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", @@ -20105,7 +21250,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ContributorAttributionEdge", + "name": "CommunityEdge", "ofType": null } } @@ -20128,8 +21273,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "ContributorAttribution", + "kind": "OBJECT", + "name": "Community", "ofType": null } } @@ -20168,7 +21313,7 @@ }, { "kind": "OBJECT", - "name": "ContributorAttributionEdge", + "name": "CommunityEdge", "description": "An edge in a connection.", "fields": [ { @@ -20195,8 +21340,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "ContributorAttribution", + "kind": "OBJECT", + "name": "Community", "ofType": null } }, @@ -20210,97 +21355,112 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "ContributorAttributionOrder", - "description": "Sort a collection of `ContributorAttribution` records by specific properties and directions.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Currently the same behavior as `TITLE_ASCENDING`.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OLDEST", - "description": "Sort contributor attributions by oldest created date.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "PUBLISHED_ASCENDING", - "description": "Order by the associated entity's published date in ascending order.", - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "OBJECT", + "name": "ContextualPermission", + "description": "A contextual permission for a user, role, and entity", + "fields": [ { - "name": "PUBLISHED_DESCENDING", - "description": "Order by the associated entity's published date in descending order.", + "name": "accessControlList", + "description": "The derived access control list for this user and entity.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessControlList", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort contributor attributions by newest created date.", + "name": "accessGrants", + "description": "The access grants that correspond to this contextual permission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserAccessGrant", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "TITLE_ASCENDING", - "description": "Order by the associated entity's title in ascending order.", + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "TITLE_DESCENDING", - "description": "Order by the associated entity's title in descending order.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "ContributorBase", - "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs", - "fields": [ - { - "name": "affiliation", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "bio", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "collectionContributionCount", - "description": "The total number of collection contributions from this contributor.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "ISO8601DateTime", "ofType": null } }, @@ -20308,15 +21468,15 @@ "deprecationReason": null }, { - "name": "contributionCount", - "description": "The total number of contributions (item + collection) from this contributor.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "ISO8601Date", "ofType": null } }, @@ -20324,111 +21484,15 @@ "deprecationReason": null }, { - "name": "email", + "name": "id", "description": null, "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "familyName", - "description": "Only applicable when `kind` = `PERSON`.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "givenName", - "description": "Only applicable when `kind` = `PERSON`.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "harvestModificationStatus", - "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HarvestModificationStatus", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "An optional image associated with the contributor.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "imageMetadata", - "description": "Configurable metadata for the image attachment", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "itemContributionCount", - "description": "The total number of item contributions from this contributor.\n", - "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "ID", "ofType": null } }, @@ -20436,36 +21500,32 @@ "deprecationReason": null }, { - "name": "kind", - "description": null, + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ContributorKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "legalName", - "description": "Only applicable when `kind` = `ORGANIZATION`.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "links", - "description": null, + "name": "roles", + "description": "The roles that correspond to this contextual permission.\n", "args": [], "type": { "kind": "NON_NULL", @@ -20478,7 +21538,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ContributorLink", + "name": "Role", "ofType": null } } @@ -20488,27 +21548,15 @@ "deprecationReason": null }, { - "name": "location", - "description": "Only applicable when `kind` = `ORGANIZATION`.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "A display name, independent of the type of contributor.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Slug", "ofType": null } }, @@ -20516,39 +21564,15 @@ "deprecationReason": null }, { - "name": "orcid", - "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "prefix", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slug", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ISO8601DateTime", "ofType": null } }, @@ -20556,37 +21580,33 @@ "deprecationReason": null }, { - "name": "suffix", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "url", - "description": null, + "name": "user", + "description": "The user that has the contextual permission.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -20596,141 +21616,70 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "HasHarvestModificationStatus", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "CommonPermissions", "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ + }, { - "kind": "OBJECT", - "name": "OrganizationContributor", + "kind": "INTERFACE", + "name": "ExposesPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "PersonContributor", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { "kind": "OBJECT", - "name": "ContributorCollectionAttribution", - "description": "A specific attribution on a `Collection`.\n", + "name": "ContextualPermissionConnection", + "description": "The connection type for ContextualPermission.", "fields": [ { - "name": "collection", - "description": "The collection the contributor has an attribution on.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "entitySlug", - "description": "The slug for the entity.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": "Whether this belongs to an item or a collection.\n", + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ChildEntityKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContextualPermissionEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "published", - "description": "The published date, expressed as a variable precision date (if available).\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "VariablePrecisionDate", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "publishedOn", - "description": "The published date, expressed as an ISO8601 date (if available).\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "roles", - "description": "A priority-ordered list of the roles the associated contributor had.\n", + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", @@ -20743,7 +21692,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ControlledVocabularyItem", + "name": "ContextualPermission", "ofType": null } } @@ -20753,24 +21702,41 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "title", - "description": "The title of the entity.\n", + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContextualPermissionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", @@ -20785,15 +21751,15 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "ContextualPermission", "ofType": null } }, @@ -20802,49 +21768,39 @@ } ], "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ContributorAttribution", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], + "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", - "name": "ContributorFilterKind", - "description": null, + "name": "ContextualPermissionOrder", + "description": "A collection of options used to dictate how to order contextual permissions", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "ALL", - "description": null, + "name": "OLDEST", + "description": "Order by the oldest granted permissions", "isDeprecated": false, "deprecationReason": null }, { - "name": "ORGANIZATION", - "description": null, + "name": "RECENT", + "description": "Order by the most recently granted permissions", "isDeprecated": false, "deprecationReason": null }, { - "name": "PERSON", - "description": null, + "name": "USER_NAME_ASC", + "description": "Order by the user's name from A-Z", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USER_NAME_DESC", + "description": "Order by the user's name from Z-A", "isDeprecated": false, "deprecationReason": null } @@ -20852,68 +21808,20 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "ContributorItemAttribution", - "description": "A specific attribution on a `Item`.\n", + "kind": "INTERFACE", + "name": "Contributable", + "description": "Something that can be contributed to", "fields": [ { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "entitySlug", - "description": "The slug for the entity.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "item", - "description": "The item the contributor has an attribution on.", + "name": "contributionRoles", + "description": "Look up contribution role configuration for this record.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "Item", + "name": "ContributionRoleConfiguration", "ofType": null } }, @@ -20921,79 +21829,234 @@ "deprecationReason": null }, { - "name": "kind", - "description": "Whether this belongs to an item or a collection.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ChildEntityKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "published", - "description": "The published date, expressed as a variable precision date (if available).\n", - "args": [], + "name": "contributors", + "description": "Contributors to this element", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorFilterKind", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorOrder", + "ofType": null + }, + "defaultValue": "NAME_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "Search for contributors with names that start with the provided text.\n\n**Deprecated**: Use the `nameSearch` filter instead.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "OBJECT", - "name": "VariablePrecisionDate", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnyContributorConnection", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "publishedOn", - "description": "The published date, expressed as an ISO8601 date (if available).\n", + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "Contribution", + "description": "An interface representing a contribution from a certain contributor.\n\nIt leaves the `contributor` field's implementation up to later\nimplementations, as we have different needs elsewhere in the API.\n\nSee `Contribution` and `TemplateContribution`.\n", + "fields": [ + { + "name": "affiliation", + "description": "A potentially-overridden value from person contributors", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601Date", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "roles", - "description": "A priority-ordered list of the roles the associated contributor had.\n", + "name": "contributionRole", + "description": "The actual role", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null - } - } + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "contributor", + "description": "The contributor, loaded via union for the most control.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INTERFACE", + "name": "Contributor", "ofType": null } }, @@ -21001,15 +22064,15 @@ "deprecationReason": null }, { - "name": "title", - "description": "The title of the entity.\n", + "name": "contributorKind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "ContributorKind", "ofType": null } }, @@ -21017,231 +22080,159 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "displayName", + "description": "A potentially-overridden display name value for all contributor types", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ContributorAttribution", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ContributorKind", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "organization", - "description": null, + "name": "innerPosition", + "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _after_ contribution role ranking.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "person", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ContributorLink", - "description": "A link for a contributor", - "fields": [ - { - "name": "title", - "description": null, + "name": "location", + "description": "A potentially-overridden value from organization contributors", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "url", + "name": "metadata", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "ContributionMetadata", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "ContributorLinkInput", - "description": "A mapping to build a contributor link", - "fields": null, - "inputFields": [ + }, { - "name": "title", - "description": null, + "name": "outerPosition", + "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _before_ contribution role ranking, superseding everything else.\n", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "url", - "description": null, + "name": "role", + "description": "An arbitrary text value describing the role the contributor had", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ContributorListBackground", - "description": "An enumerated value associated with the templating subsystem.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DARK", - "description": "A dark gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use `roleLabel` instead." }, { - "name": "LIGHT", - "description": "A light gradient is applied to the background of this template.\n", + "name": "roleLabel", + "description": "An arbitrary text value describing the role the contributor had", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "NONE", - "description": "No background is applied to this template.\n", + "name": "title", + "description": "A potentially-overridden value from person contributors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null } ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ContributorListFilter", - "description": "A filter value used to control the display of contributors.\n", - "fields": null, "inputFields": null, - "interfaces": null, - "enumValues": [ + "interfaces": [ { - "name": "ALL", - "description": "Show all contributors, regardless of role.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "ContributionBase", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CollectionContribution", + "ofType": null }, { - "name": "AUTHORS", - "description": "Show only authors.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ItemContribution", + "ofType": null } - ], - "possibleTypes": null + ] }, { - "kind": "OBJECT", - "name": "ContributorListTemplateDefinition", - "description": null, + "kind": "INTERFACE", + "name": "ContributionBase", + "description": "An interface representing a contribution from a certain contributor.\n\nIt leaves the `contributor` field's implementation up to later\nimplementations, as we have different needs elsewhere in the API.\n\nSee `Contribution` and `TemplateContribution`.\n", "fields": [ { - "name": "background", - "description": "The background gradient to use for this template. Affects presentation.\n", + "name": "affiliation", + "description": "A potentially-overridden value from person contributors", "args": [], "type": { - "kind": "ENUM", - "name": "ContributorListBackground", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "contributionRole", + "description": "The actual role", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "ControlledVocabularyItem", "ofType": null } }, @@ -21249,27 +22240,15 @@ "deprecationReason": null }, { - "name": "filter", - "description": "Filter which contributors may appear based on their contribution role.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "ContributorListFilter", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", + "name": "contributorKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "ContributorKind", "ofType": null } }, @@ -21277,15 +22256,15 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "displayName", + "description": "A potentially-overridden display name value for all contributor types", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -21293,8 +22272,8 @@ "deprecationReason": null }, { - "name": "limit", - "description": "Limit the number of contributors for this template.\n", + "name": "innerPosition", + "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _after_ contribution role ranking.\n", "args": [], "type": { "kind": "SCALAR", @@ -21305,31 +22284,27 @@ "deprecationReason": null }, { - "name": "slots", - "description": "Slot definitions for this template.\n", + "name": "location", + "description": "A potentially-overridden value from organization contributors", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContributorListTemplateDefinitionSlots", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", + "name": "metadata", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "ContributionMetadata", "ofType": null } }, @@ -21337,44 +22312,48 @@ "deprecationReason": null }, { - "name": "templateKind", - "description": null, + "name": "outerPosition", + "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _before_ contribution role ranking, superseding everything else.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "TemplateKind", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "role", + "description": "An arbitrary text value describing the role the contributor had", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `roleLabel` instead." + }, + { + "name": "roleLabel", + "description": "An arbitrary text value describing the role the contributor had", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "width", - "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", + "name": "title", + "description": "A potentially-overridden value from person contributors", "args": [], "type": { - "kind": "ENUM", - "name": "TemplateWidth", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, @@ -21382,38 +22361,74 @@ } ], "inputFields": null, - "interfaces": [ + "interfaces": [], + "enumValues": null, + "possibleTypes": [ { - "kind": "INTERFACE", - "name": "Node", + "kind": "OBJECT", + "name": "CollectionContribution", "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", + "kind": "OBJECT", + "name": "ItemContribution", "ofType": null }, { - "kind": "INTERFACE", - "name": "TemplateDefinition", + "kind": "OBJECT", + "name": "TemplateContribution", "ofType": null } - ], - "enumValues": null, - "possibleTypes": null + ] }, { "kind": "OBJECT", - "name": "ContributorListTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", + "name": "ContributionMetadata", + "description": "Metadata for a contribution", "fields": [ { - "name": "header", - "description": null, + "name": "affiliation", + "description": "A value that can override a contribution's contributor's affiliation", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayName", + "description": "A value that can oerride a contribution's contributor's displayed name", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "role", + "description": "An arbitrary field describing how the contributor contributed", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "A value that can override a contribution's contributor's title", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, @@ -21426,68 +22441,114 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "ContributorListTemplateInstance", - "description": null, - "fields": [ + "kind": "INPUT_OBJECT", + "name": "ContributionMetadataInput", + "description": "An input type that builds contribution metadata", + "fields": null, + "inputFields": [ { - "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", - "args": [], + "name": "affiliation", + "description": "A value that can override a contribution's contributor's affiliation", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributionList", - "description": "The list of contributions to render as part of this template's content.\n", - "args": [], + "name": "displayName", + "description": "A value that can override a contribution's contributor's displayed name", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateContributionList", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, - "args": [], + "name": "location", + "description": "A value that can override a contribution's contributor's location", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "definition", - "description": "Load the associated definition for this template.\n", + "name": "title", + "description": "A value that can override a contribution's contributor's title", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContributionOrder", + "description": "Sort contributions by various properties and directions", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OLDEST", + "description": "Sort contributors by oldest created date", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort contributors by newest created date", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TARGET_TITLE_ASCENDING", + "description": "Sort contributors by their target's title A-Z", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TARGET_TITLE_DESCENDING", + "description": "Sort contributors by their target's title Z-A", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributionRoleConfiguration", + "description": "Configuration for the controlled vocabulary used for contribution roles on a given `source`.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ContributorListTemplateDefinition", + "name": "AuthorizationResult", "ofType": null } }, @@ -21495,15 +22556,15 @@ "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -21511,15 +22572,15 @@ "deprecationReason": null }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "name": "controlledVocabulary", + "description": "The set of items to use for contribution roles for this source.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "ControlledVocabulary", "ofType": null } }, @@ -21527,15 +22588,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601DateTime", "ofType": null } }, @@ -21543,27 +22604,15 @@ "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "layoutKind", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -21571,72 +22620,52 @@ "deprecationReason": null }, { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "name": "defaultItem", + "description": "The default item to use when a contribution is created but no role is provided.\nThis is necessary as a fallback for harvesting and other use cases.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slots", - "description": "Rendered slots for this template.\n", + "name": "otherItem", + "description": "The \"other\" item in the set, if available (logic to be implemented later).\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContributorListTemplateInstanceSlots", - "ofType": null - } + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -21651,15 +22680,15 @@ "deprecationReason": null }, { - "name": "templateKind", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -21667,15 +22696,15 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ISO8601Date", "ofType": null } }, @@ -21687,27 +22716,27 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "Renderable", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "HasDefaultTimestamps", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateHasContributionList", + "name": "Node", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateInstance", + "name": "Sluggable", "ofType": null } ], @@ -21715,152 +22744,68 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "ContributorListTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "ContributionRoleConfigurationInput", + "description": "Configuration for the controlled vocabulary used for contribution roles on a given `source`.\n", + "fields": null, + "inputFields": [ { - "name": "header", - "description": null, - "args": [], + "name": "controlledVocabularyId", + "description": "The set of items to use for contribution roles for this source.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ContributorLookupField", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "EMAIL", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NAME", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ORCID", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ContributorOrder", - "description": "Sort contributors by various properties and directions", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "AFFILIATION_ASCENDING", - "description": "Sort contributors by affiliation A-Z, then fall back to name A-Z", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "AFFILIATION_DESCENDING", - "description": "Sort contributors by affiliation Z-A, then fall back to name A-Z", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LEAST_CONTRIBUTIONS", - "description": "Sort contributors by least contributions, then fall back to name A-Z", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MOST_CONTRIBUTIONS", - "description": "Sort contributors by most contributions, then fall back to name A-Z", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NAME_ASCENDING", - "description": "Sort contributors by name A-Z. For people, this currently uses western naming order (family name, given name).", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NAME_DESCENDING", - "description": "Sort contributors by name Z-A. For people, this currently uses western naming order (family name, given name).", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OLDEST", - "description": "Sort contributors by oldest created date", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort contributors by newest created date", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ContributorProperty", - "description": null, - "fields": [ - { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", - "args": [], + "name": "defaultItemId", + "description": "The default item to use when a contribution is created but no role is provided.\nThis is necessary as a fallback for harvesting and other use cases.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributor", - "description": null, - "args": [], + "name": "otherItemId", + "description": "The \"other\" item in the set, if available (logic to be implemented later).\n", "type": { - "kind": "INTERFACE", - "name": "Contributor", + "kind": "SCALAR", + "name": "ID", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Contributor", + "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs.\n", + "fields": [ { - "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "name": "affiliation", + "description": "Only applicable when `kind` = `PERSON`.\n", "args": [], "type": { "kind": "SCALAR", @@ -21871,31 +22816,112 @@ "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", - "args": [], - "type": { - "kind": "NON_NULL", + "name": "attributions", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorAttributionOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", + "kind": "OBJECT", + "name": "ContributorAttributionConnection", "ofType": null } }, @@ -21903,31 +22929,27 @@ "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "bio", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "canClaim", + "description": "Whether the current user has the ability to claim this contributor profile as their own.\n\nThis requires both that the user has permission to manage the system broadly,\nand that they do not already have a contributor profile linked to their account.\n\nIt also requires the contributor to be unclaimed.\n\nIt is associated with the `contributorClaim` mutation.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -21935,15 +22957,15 @@ "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the schema property.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -21951,15 +22973,15 @@ "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "canLinkUser", + "description": "Whether the current user has the ability to link this contributor profile to any user account.\n\nThis differs from `canClaim` in that it does not require the contributor to be unclaimed,\nand can specify the user account to link to.\n\nIt is associated with the `contributorUserLinkUpsert` mutation.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -21967,15 +22989,15 @@ "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "canMergeSource", + "description": "Whether the current user has the ability to use this contributor profile as a source in a merge operation.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -21983,15 +23005,15 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "canMergeTarget", + "description": "Whether the current user has the ability to use this contributor profile as a target in a merge operation.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -21999,53 +23021,31 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ScalarProperty", - "ofType": null }, { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ContributorSelectOption", - "description": "A select option for a single contributor", - "fields": [ - { - "name": "kind", - "description": null, + "name": "claimed", + "description": "Whether this contributor has been claimed by a user.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ContributorKind", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -22053,15 +23053,15 @@ "deprecationReason": null }, { - "name": "label", - "description": null, + "name": "collectionContributionCount", + "description": "The total number of collection contributions from this contributor.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, @@ -22069,42 +23069,128 @@ "deprecationReason": null }, { - "name": "value", + "name": "collectionContributions", "description": null, - "args": [], + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributionOrder", + "ofType": null + }, + "defaultValue": "TARGET_TITLE_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "CollectionContributionConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ContributorsProperty", - "description": null, - "fields": [ + }, { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "contributionCount", + "description": "The total number of contributions (item + collection) from this contributor.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Int", "ofType": null } }, @@ -22112,32 +23198,20 @@ "deprecationReason": null }, { - "name": "contributors", + "name": "email", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Contributor", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "name": "familyName", + "description": "Only applicable when `kind` = `PERSON`.\n", "args": [], "type": { "kind": "SCALAR", @@ -22148,31 +23222,27 @@ "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "givenName", + "description": "Only applicable when `kind` = `PERSON`.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "harvestModificationStatus", + "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyFunction", + "name": "HarvestModificationStatus", "ofType": null } }, @@ -22180,15 +23250,15 @@ "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "identifier", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -22196,15 +23266,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "image", + "description": "An optional image associated with the contributor.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", + "kind": "OBJECT", + "name": "ImageAttachment", "ofType": null } }, @@ -22212,31 +23282,27 @@ "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the schema property.\n", + "name": "imageMetadata", + "description": "Configurable metadata for the image attachment", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "ImageMetadata", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "itemContributionCount", + "description": "The total number of item contributions from this contributor.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Int", "ofType": null } }, @@ -22244,15 +23310,112 @@ "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", - "args": [], + "name": "itemContributions", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributionOrder", + "ofType": null + }, + "defaultValue": "TARGET_TITLE_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "ItemContributionConnection", "ofType": null } }, @@ -22260,15 +23423,15 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "kind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "ContributorKind", "ofType": null } }, @@ -22276,73 +23439,19 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "legalName", + "description": "Only applicable when `kind` = `ORGANIZATION`.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ScalarProperty", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabulariesProperty", - "description": null, - "fields": [ - { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "controlledVocabulary", - "description": "The vocabulary configured for this property, based on its `wants` value\nand whatever is currently configured in `ControlledVocabularySource`.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ControlledVocabulary", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularyItems", + "name": "links", "description": null, "args": [], "type": { @@ -22356,7 +23465,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ControlledVocabularyItem", + "name": "ContributorLink", "ofType": null } } @@ -22366,8 +23475,8 @@ "deprecationReason": null }, { - "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "name": "location", + "description": "Only applicable when `kind` = `ORGANIZATION`.\n", "args": [], "type": { "kind": "SCALAR", @@ -22378,15 +23487,15 @@ "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "mergeBusy", + "description": "Whether this contributor is currently involved in an active merge as either a source or target.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, @@ -22394,15 +23503,15 @@ "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "mergeSourceStatus", + "description": "The status of this contributor in the context of being a merge source.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyFunction", + "name": "ContributorMergeSourceStatus", "ofType": null } }, @@ -22410,31 +23519,27 @@ "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "mergeTarget", + "description": "The target of the merge, if available.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "INTERFACE", + "name": "ContributorBase", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "mergeTargetStatus", + "description": "The status of this contributor in the context of being a merge target.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyKind", + "name": "ContributorMergeTargetStatus", "ofType": null } }, @@ -22442,8 +23547,8 @@ "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the schema property.\n", + "name": "name", + "description": "A display name, independent of the type of contributor.\n", "args": [], "type": { "kind": "NON_NULL", @@ -22458,47 +23563,39 @@ "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "orcid", + "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "prefix", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -22506,24 +23603,32 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "suffix", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "wants", - "description": "The key used to determine which `ControlledVocabulary` to fetch.\n\nSee `#controlledVocabulary`.\n", + "name": "title", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -22532,44 +23637,72 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "userLink", + "description": "The link between this contributor and a user, if any exists.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "HasControlledVocabulary", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "ScalarProperty", + "name": "ContributorBase", "ofType": null }, { "kind": "INTERFACE", - "name": "SchemaProperty", + "name": "HasHarvestModificationStatus", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } ], "enumValues": null, - "possibleTypes": null + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "OrganizationContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PersonContributor", + "ofType": null + } + ] }, { - "kind": "OBJECT", - "name": "ControlledVocabulary", - "description": "A set of terms that can be selected in schemas.\n\nSee also `ControlledVocabularyItem` and `ControlledVocabularySource`.\n", + "kind": "INTERFACE", + "name": "ContributorAttribution", + "description": "Similar to `Attribution`, but from the perspective of a `Contributor`.\n", "fields": [ { - "name": "createdAt", - "description": null, + "name": "entitySlug", + "description": "The slug for the entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Slug", "ofType": null } }, @@ -22577,27 +23710,15 @@ "deprecationReason": null }, { - "name": "description", - "description": "An optional internal description of the purpose/values contained within.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, + "name": "kind", + "description": "Whether this belongs to an item or a collection.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "ChildEntityKind", "ofType": null } }, @@ -22605,40 +23726,32 @@ "deprecationReason": null }, { - "name": "identifier", - "description": "A unique identifier for the controlled vocabulary (within the namespace).\n", + "name": "published", + "description": "The published date, expressed as a variable precision date (if available).\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "VariablePrecisionDate", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemSet", - "description": "The items to render for this specific controlled vocabulary.\n\nThis will be returned as a JSON array.\n\nSee the type definitions at `/types/controlled_vocabulary_item_set.d.ts`.\n", + "name": "publishedOn", + "description": "The published date, expressed as an ISO8601 date (if available).\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ControlledVocabularyItemSet", - "ofType": null - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "items", - "description": "The raw root item records.\n", + "name": "roles", + "description": "A priority-ordered list of the roles the associated contributor had.\n", "args": [], "type": { "kind": "NON_NULL", @@ -22661,88 +23774,8 @@ "deprecationReason": null }, { - "name": "name", - "description": "The human-readable name of the controlled vocabulary.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "namespace", - "description": "The namespace the controlled vocabulary lives in.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provides", - "description": "The schema value that is provided by the CV.\n\nSee `ControlledVocabularySource` for more details.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slug", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "version", - "description": "A unique version for the controlled vocabulary (within the namespace/identifier).\n", + "name": "title", + "description": "The title of the entity.\n", "args": [], "type": { "kind": "NON_NULL", @@ -22758,25 +23791,25 @@ } ], "inputFields": null, - "interfaces": [ + "interfaces": [], + "enumValues": null, + "possibleTypes": [ { - "kind": "INTERFACE", - "name": "Node", + "kind": "OBJECT", + "name": "ContributorCollectionAttribution", "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", + "kind": "OBJECT", + "name": "ContributorItemAttribution", "ofType": null } - ], - "enumValues": null, - "possibleTypes": null + ] }, { "kind": "OBJECT", - "name": "ControlledVocabularyConnection", - "description": "The connection type for ControlledVocabulary.", + "name": "ContributorAttributionConnection", + "description": "The connection type for ContributorAttribution.", "fields": [ { "name": "edges", @@ -22793,7 +23826,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ControlledVocabularyEdge", + "name": "ContributorAttributionEdge", "ofType": null } } @@ -22816,8 +23849,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabulary", + "kind": "INTERFACE", + "name": "ContributorAttribution", "ofType": null } } @@ -22855,76 +23888,109 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularyDestroyInput", - "description": "Autogenerated input type of ControlledVocabularyDestroy", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "ContributorAttributionEdge", + "description": "An edge in a connection.", + "fields": [ { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularyId", - "description": "The controlled vocabulary to destroy.\n", + "name": "node", + "description": "The item at the end of the edge.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "INTERFACE", + "name": "ContributorAttribution", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, + "inputFields": null, + "interfaces": [], "enumValues": null, "possibleTypes": null }, { - "kind": "OBJECT", - "name": "ControlledVocabularyDestroyPayload", - "description": "Autogenerated return type of ControlledVocabularyDestroy.", - "fields": [ + "kind": "ENUM", + "name": "ContributorAttributionOrder", + "description": "Sort a collection of `ContributorAttribution` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "attributeErrors", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } - } - }, + "name": "DEFAULT", + "description": "Currently the same behavior as `TITLE_ASCENDING`.", "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "OLDEST", + "description": "Sort contributor attributions by oldest created date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_ASCENDING", + "description": "Order by the associated entity's published date in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_DESCENDING", + "description": "Order by the associated entity's published date in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort contributor attributions by newest created date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_ASCENDING", + "description": "Order by the associated entity's title in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_DESCENDING", + "description": "Order by the associated entity's title in descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ContributorBase", + "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs.\n", + "fields": [ + { + "name": "affiliation", + "description": "Only applicable when `kind` = `PERSON`.\n", "args": [], "type": { "kind": "SCALAR", @@ -22935,121 +24001,75 @@ "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "name": "bio", + "description": null, "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyedId", - "description": "The ID of the deleted model", + "name": "canClaim", + "description": "Whether the current user has the ability to claim this contributor profile as their own.\n\nThis requires both that the user has permission to manage the system broadly,\nand that they do not already have a contributor profile linked to their account.\n\nIt also requires the contributor to be unclaimed.\n\nIt is associated with the `contributorClaim` mutation.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "canLinkUser", + "description": "Whether the current user has the ability to link this contributor profile to any user account.\n\nThis differs from `canClaim` in that it does not require the contributor to be unclaimed,\nand can specify the user account to link to.\n\nIt is associated with the `contributorUserLinkUpsert` mutation.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularyEdge", - "description": "An edge in a connection.", - "fields": [ - { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "canMergeSource", + "description": "Whether the current user has the ability to use this contributor profile as a source in a merge operation.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -23057,113 +24077,47 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "canMergeTarget", + "description": "Whether the current user has the ability to use this contributor profile as a target in a merge operation.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ControlledVocabulary", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularyFilterInput", - "description": "Filters for ControlledVocabulary.\n", - "fields": null, - "inputFields": [ - { - "name": "identifier", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "namespace", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null }, { - "name": "provides", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "description": "An individual term within a `ControlledVocabulary`.\n", - "fields": [ - { - "name": "children", - "description": "Any children for this vocab item. Starting from a depth of 0 at the top level, items cannot nest any deeper than 2.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "claimed", + "description": "Whether this contributor has been claimed by a user.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null } }, @@ -23171,27 +24125,15 @@ "deprecationReason": null }, { - "name": "description", - "description": "An optional, internal description for this specific term.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, + "name": "collectionContributionCount", + "description": "The total number of collection contributions from this contributor.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Int", "ofType": null } }, @@ -23199,15 +24141,15 @@ "deprecationReason": null }, { - "name": "identifier", - "description": "The unique, machine-readable identifier within the `ControlledVocabulary`.\n", + "name": "contributionCount", + "description": "The total number of contributions (item + collection) from this contributor.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, @@ -23215,83 +24157,67 @@ "deprecationReason": null }, { - "name": "label", - "description": "The unique label for the Controlled Vocabulary.\n", + "name": "email", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "priority", - "description": "An optional priority for certain programmatic sorting tasks within Meru API.\n", + "name": "familyName", + "description": "Only applicable when `kind` = `PERSON`.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "givenName", + "description": "Only applicable when `kind` = `PERSON`.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "tags", - "description": "Optional tags used for certain programmatic tasks within Meru API.\n", + "name": "harvestModificationStatus", + "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "ENUM", + "name": "HarvestModificationStatus", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "unselectable", - "description": "Whether or not this should just be used as a grouping label and not be selectable. Implies children.\n", + "name": "identifier", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -23299,15 +24225,15 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "image", + "description": "An optional image associated with the contributor.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "ImageAttachment", "ofType": null } }, @@ -23315,88 +24241,43 @@ "deprecationReason": null }, { - "name": "url", - "description": "An optional URL that should be linked to if present, using the `label` as link text,\nwhen displaying.\n", + "name": "imageMetadata", + "description": "Configurable metadata for the image attachment", "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "ImageMetadata", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "ControlledVocabularyItemSet", - "description": "An array-like representation of the item sets, presented this way\nto avoid having to query recursively.\n\nSee the types at `/types/controlled_vocabulary_item_set.d.ts`.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ControlledVocabularyOrder", - "description": "Sort a collection of `ControlledVocabulary` records by specific properties and directions.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Sort controlled vocabularies by their default order.", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "OLDEST", - "description": "Sort controlled vocabularies by oldest created date.", + "name": "itemContributionCount", + "description": "The total number of item contributions from this contributor.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort controlled vocabularies by newest created date.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularyProperty", - "description": null, - "fields": [ - { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "kind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "ContributorKind", "ofType": null } }, @@ -23404,32 +24285,44 @@ "deprecationReason": null }, { - "name": "controlledVocabulary", - "description": "The vocabulary configured for this property, based on its `wants` value\nand whatever is currently configured in `ControlledVocabularySource`.\n", + "name": "legalName", + "description": "Only applicable when `kind` = `ORGANIZATION`.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "ControlledVocabulary", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularyItem", + "name": "links", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorLink", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "name": "location", + "description": "Only applicable when `kind` = `ORGANIZATION`.\n", "args": [], "type": { "kind": "SCALAR", @@ -23440,15 +24333,15 @@ "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "mergeBusy", + "description": "Whether this contributor is currently involved in an active merge as either a source or target.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, @@ -23456,15 +24349,15 @@ "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "mergeSourceStatus", + "description": "The status of this contributor in the context of being a merge source.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyFunction", + "name": "ContributorMergeSourceStatus", "ofType": null } }, @@ -23472,31 +24365,27 @@ "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "mergeTarget", + "description": "The target of the merge, if available.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "INTERFACE", + "name": "ContributorBase", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "mergeTargetStatus", + "description": "The status of this contributor in the context of being a merge target.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyKind", + "name": "ContributorMergeTargetStatus", "ofType": null } }, @@ -23504,8 +24393,8 @@ "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the schema property.\n", + "name": "name", + "description": "A display name, independent of the type of contributor.\n", "args": [], "type": { "kind": "NON_NULL", @@ -23520,47 +24409,39 @@ "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "orcid", + "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "prefix", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -23568,24 +24449,32 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "suffix", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "wants", - "description": "The key used to determine which `ControlledVocabulary` to fetch.\n\nSee `#controlledVocabulary`.\n", + "name": "title", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -23594,151 +24483,159 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "userLink", + "description": "The link between this contributor and a user, if any exists.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "HasControlledVocabulary", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "ScalarProperty", + "name": "HasHarvestModificationStatus", "ofType": null }, { "kind": "INTERFACE", - "name": "SchemaProperty", + "name": "Sluggable", "ofType": null } ], "enumValues": null, - "possibleTypes": null + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "OrganizationContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PersonContributor", + "ofType": null + } + ] }, { - "kind": "OBJECT", - "name": "ControlledVocabularySource", - "description": "A system-wide configuration that determines which `ControlledVocabulary` satisfies\na desired `provides` value in schemas.\n", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "ContributorClaimInput", + "description": "Autogenerated input type of ContributorClaim", + "fields": null, + "inputFields": [ { - "name": "controlledVocabulary", - "description": "The controlled vocabulary that provides terms, if selected / available.\n\nIt can be blank when it needs to be populated.\n", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "OBJECT", - "name": "ControlledVocabulary", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, - "args": [], + "name": "contributorId", + "description": "The ID of the contributor to claim. This should be a contributor that has already been harvested for the current user.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributorClaimPayload", + "description": "Autogenerated return type of ContributorClaim.", + "fields": [ { - "name": "id", + "name": "attributeErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "provides", - "description": "This conforms to the `wants` attribute in CV schema properties.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, + "kind": "SCALAR", + "name": "String", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "contributor", + "description": "The contributor that was claimed by the current user, if successful.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "contributorUserLink", + "description": "The link between the claimed contributor and the current user, if the claim was successful.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularySourceConnection", - "description": "The connection type for ControlledVocabularySource.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -23751,18 +24648,18 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ControlledVocabularySourceEdge", + "name": "UserError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -23775,7 +24672,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ControlledVocabularySource", + "name": "MutationGlobalError", "ofType": null } } @@ -23785,17 +24682,25 @@ "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PageInfo", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The current user, if the claim was successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -23805,7 +24710,7 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Paginated", + "name": "StandardMutationPayload", "ofType": null } ], @@ -23814,19 +24719,19 @@ }, { "kind": "OBJECT", - "name": "ControlledVocabularySourceEdge", - "description": "An edge in a connection.", + "name": "ContributorCollectionAttribution", + "description": "A specific attribution on a `Collection`.\n", "fields": [ { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -23834,116 +24739,89 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ControlledVocabularySource", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularySourceFilterInput", - "description": "Filters for ControlledVocabularySource.\n", - "fields": null, - "inputFields": [ + }, { - "name": "unsatisfied", - "description": "Fetch only sources that remain unsatisfied.", + "name": "collection", + "description": "The collection the contributor has an attribution on.", + "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + } }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ControlledVocabularySourceOrder", - "description": "Sort a collection of `ControlledVocabularySource` records by specific properties and directions.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Sort controlled vocabulary sources by their default order.", "isDeprecated": false, "deprecationReason": null }, { - "name": "OLDEST", - "description": "Sort controlled vocabulary sources by oldest created date.", + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort controlled vocabulary sources by newest created date.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularySourceUpdateInput", - "description": "Autogenerated input type of ControlledVocabularySourceUpdate", - "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularyId", - "description": "The controlled vocabulary to select as the provider\n", + "name": "entitySlug", + "description": "The slug for the entity.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Slug", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularySourceId", - "description": "The controlled vocabulary source to update.\n", + "name": "id", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -23953,71 +24831,52 @@ "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularySourceUpdatePayload", - "description": "Autogenerated return type of ControlledVocabularySourceUpdate.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "kind", + "description": "Whether this belongs to an item or a collection.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "ENUM", + "name": "ChildEntityKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "published", + "description": "The published date, expressed as a variable precision date (if available).\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "VariablePrecisionDate", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularySource", - "description": "The newly-modified controlled vocabulary source, if successful.\n", + "name": "publishedOn", + "description": "The published date, expressed as an ISO8601 date (if available).\n", "args": [], "type": { - "kind": "OBJECT", - "name": "ControlledVocabularySource", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "roles", + "description": "A priority-ordered list of the roles the associated contributor had.\n", "args": [], "type": { "kind": "NON_NULL", @@ -24030,47 +24889,75 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "UserError", + "name": "ControlledVocabularyItem", "ofType": null } } } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Slug", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "title", + "description": "The title of the entity.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -24080,7 +24967,32 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ContributorAttribution", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } ], @@ -24089,16 +25001,16 @@ }, { "kind": "INPUT_OBJECT", - "name": "ControlledVocabularyUpsertInput", - "description": "Autogenerated input type of ControlledVocabularyUpsert", + "name": "ContributorFilterInput", + "description": "Filtering options for `Contributor` records.\n", "fields": null, "inputFields": [ { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "createdAt", + "description": "Filter the model's `created_at` with time constraints.\n", "type": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", "ofType": null }, "defaultValue": null, @@ -24106,30 +25018,38 @@ "deprecationReason": null }, { - "name": "definition", - "description": "The JSON definition for a controlled vocabulary.\n\nAll controlled vocabulary details are derived from it.\n", + "name": "nameSearch", + "description": "Perform a full-text search with the provided query.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "JSON", - "ofType": null - } + "kind": "INPUT_OBJECT", + "name": "FullTextSearchQueryInput", + "ofType": null }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectProvider", - "description": "If `true`, this will automatically select the controlled vocabulary as the source for whatever it `provides`.\n", + "name": "unclaimed", + "description": "Whether to include only contributors that have not been claimed by a user.\n", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, - "defaultValue": "false", + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Filter the model's `updated_at` with time constraints.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } @@ -24138,184 +25058,236 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "ENUM", + "name": "ContributorFilterKind", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORGANIZATION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERSON", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, { "kind": "OBJECT", - "name": "ControlledVocabularyUpsertPayload", - "description": "Autogenerated return type of ControlledVocabularyUpsert.", + "name": "ContributorItemAttribution", + "description": "A specific attribution on a `Item`.\n", "fields": [ { - "name": "attributeErrors", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabulary", - "description": "The newly-modified controlled vocabulary, if successful.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "OBJECT", - "name": "ControlledVocabulary", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "entitySlug", + "description": "The slug for the entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Slug", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "id", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + }, { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateAnnouncementInput", - "description": "Autogenerated input type of CreateAnnouncement", - "fields": null, - "inputFields": [ + "name": "item", + "description": "The item the contributor has an attribution on.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "body", - "description": "A body for the announcement", + "name": "kind", + "description": "Whether this belongs to an item or a collection.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "ChildEntityKind", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "published", + "description": "The published date, expressed as a variable precision date (if available).\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VariablePrecisionDate", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedOn", + "description": "The published date, expressed as an ISO8601 date (if available).\n", + "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityId", - "description": "The ID for an entity to create the announcement under.", + "name": "roles", + "description": "A priority-ordered list of the roles the associated contributor had.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Slug", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "header", - "description": "A header value for the announcement", + "name": "title", + "description": "The title of the entity.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -24325,388 +25297,464 @@ "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "publishedOn", - "description": "The date of the announcement.", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601Date", + "name": "ISO8601DateTime", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "teaser", - "description": "A teaser for the announcement", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ContributorAttribution", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { - "kind": "OBJECT", - "name": "CreateAnnouncementPayload", - "description": "Autogenerated return type of CreateAnnouncement.", - "fields": [ + "kind": "ENUM", + "name": "ContributorKind", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "announcement", + "name": "organization", "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Announcement", - "ofType": null - }, "isDeprecated": false, "deprecationReason": null }, { - "name": "attributeErrors", + "name": "person", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributorLink", + "description": "A link for a contributor", + "fields": [ + { + "name": "title", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "url", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ContributorLinkInput", + "description": "A mapping to build a contributor link", + "fields": null, + "inputFields": [ { - "name": "errors", + "name": "title", "description": null, - "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", + "name": "url", "description": null, - "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContributorListBackground", + "description": "An enumerated value associated with the templating subsystem.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DARK", + "description": "A dark gradient is applied to the background of this template.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, + "name": "LIGHT", + "description": "A light gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No background is applied to this template.\n", "isDeprecated": false, "deprecationReason": null } ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContributorListFilter", + "description": "A filter value used to control the display of contributors.\n", + "fields": null, "inputFields": null, - "interfaces": [ + "interfaces": null, + "enumValues": [ { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null + "name": "ALL", + "description": "Show all contributors, regardless of role.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTHORS", + "description": "Show only authors.\n", + "isDeprecated": false, + "deprecationReason": null } ], - "enumValues": null, "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "CreateAssetInput", - "description": "Autogenerated input type of CreateAsset", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "ContributorListTemplateDefinition", + "description": null, + "fields": [ { - "name": "altText", - "description": "Alt text to display for the asset (if applicable)", + "name": "background", + "description": "The background gradient to use for this template. Affects presentation.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "ContributorListBackground", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "attachment", - "description": "A reference to an upload in Tus.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "caption", - "description": "A caption to display below the asset (if applicable)", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityId", - "description": "The entity that owns the attachment", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601Date", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "A human readable name for the asset", + "name": "filter", + "description": "Filter which contributors may appear based on their contribution role.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContributorListFilter", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "position", - "description": "The position the asset occupies amongst siblings", + "name": "layoutKind", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CreateAssetPayload", - "description": "Autogenerated return type of CreateAsset.", - "fields": [ + }, { - "name": "asset", - "description": null, + "name": "limit", + "description": "Limit the number of contributors for this template.\n", "args": [], "type": { - "kind": "UNION", - "name": "AnyAsset", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "attributeErrors", - "description": null, + "name": "slots", + "description": "Slot definitions for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "ContributorListTemplateDefinitionSlots", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", + "name": "templateKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "TemplateWidth", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -24716,7 +25764,32 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateDefinition", "ofType": null } ], @@ -24724,202 +25797,497 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "CreateCollectionInput", - "description": "Autogenerated input type of CreateCollection", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "ContributorListTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", + "fields": [ { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "header", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, - "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributorListTemplateInstance", + "description": null, + "fields": [ + { + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "doi", - "description": "Digital Object Identifier (see: https://doi.org)\n\n**Note**: This actually gets assigned to the entity's `rawDOI`, and will be sanitized to get set on `DOI`.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImage", - "description": "A reference to an uploaded image in Tus.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImageMetadata", - "description": "Metadata for an image attachment.\n", + "name": "contributionList", + "description": "The list of contributions to render as part of this template's content.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateContributionList", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "parentId", - "description": "The parent of the new collection. This can be the encoded ID of a community or another collection.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601DateTime", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "published", - "description": "The date this entity was published", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "VariablePrecisionDateInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaVersionSlug", + "name": "definition", + "description": "Load the associated definition for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorListTemplateDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": "The associated entity for this template instance.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, - "defaultValue": "\"default:collection:latest\"", "isDeprecated": false, "deprecationReason": null }, { - "name": "subtitle", - "description": "Human-readable subtitle for the entity", + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "summary", - "description": "A brief description of the entity's contents.", + "name": "layoutKind", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "thumbnail", - "description": "A reference to an uploaded image in Tus.\n", + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "thumbnailMetadata", - "description": "Metadata for an image attachment.\n", + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "Human-readable title for the entity", + "name": "slots", + "description": "Rendered slots for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorListTemplateInstanceSlots", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Slug", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibility", - "description": "What level of visibility the entity has", + "name": "templateKind", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "EntityVisibility", + "name": "TemplateKind", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibleAfterAt", - "description": "If present, this is the timestamp an entity is visible after", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateHasContributionList", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateInstance", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributorListTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", + "fields": [ + { + "name": "header", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", "ofType": null }, - "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContributorLookupField", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EMAIL", + "description": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibleUntilAt", - "description": "If present, this is the timestamp an entity is visible until", + "name": "NAME", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORCID", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ContributorMergeInput", + "description": "Autogenerated input type of ContributorMerge", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "sourceId", + "description": "The ID of the contributor to merge.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetId", + "description": "The ID of the contributor to merge into.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } ], "interfaces": null, @@ -24928,8 +26296,8 @@ }, { "kind": "OBJECT", - "name": "CreateCollectionPayload", - "description": "Autogenerated return type of CreateCollection.", + "name": "ContributorMergePayload", + "description": "Autogenerated return type of ContributorMerge.", "fields": [ { "name": "attributeErrors", @@ -24967,18 +26335,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "collection", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "errors", "description": null, @@ -25038,6 +26394,30 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "source", + "description": "The contributor being merged, if successful.\n", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", + "description": "The contributor being merged into, if successful.\n", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -25052,200 +26432,124 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "CreateCommunityInput", - "description": "Autogenerated input type of CreateCommunity", + "kind": "ENUM", + "name": "ContributorMergeSourceStatus", + "description": "The merge status of a `Contributor` in the context of being a merge source.\n\nMerging contributors happens in the background, so this\nis useful to display when a contributor is in the process of being merged,\nor if a merge has been completed but the source contributor has not yet been\ndeleted.\n", "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "heroImage", - "description": "A reference to an uploaded image in Tus.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", - "ofType": null - }, - "defaultValue": null, + "name": "MERGED", + "description": "The contributor has been merged and is awaiting deletion.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImageLayout", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HeroImageLayout", - "ofType": null - } - }, - "defaultValue": null, + "name": "MERGING", + "description": "The contributor is in the process of being merged to another.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImageMetadata", - "description": "Metadata for an image attachment.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", - "ofType": null - }, - "defaultValue": null, + "name": "UNMERGED", + "description": "The contributor is not currently being merged to another.\n", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContributorMergeTargetStatus", + "description": "The merge status of a `Contributor` in the context of being a merge target.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "logo", - "description": "A reference to an uploaded image in Tus.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", - "ofType": null - }, - "defaultValue": null, + "name": "ACTIVE", + "description": "The contributor is currently the target of one or more merge(s).\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "logoMetadata", - "description": "Metadata for an image attachment.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", - "ofType": null - }, - "defaultValue": null, + "name": "INACTIVE", + "description": "The contributor is not currently the target of a merge.\n", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContributorOrder", + "description": "Sort contributors by various properties and directions", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "position", - "description": "The position the community occupies in the list", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, + "name": "AFFILIATION_ASCENDING", + "description": "Sort contributors by affiliation A-Z, then fall back to name A-Z", "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaVersionSlug", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": "\"default:community:latest\"", + "name": "AFFILIATION_DESCENDING", + "description": "Sort contributors by affiliation Z-A, then fall back to name A-Z", "isDeprecated": false, "deprecationReason": null }, { - "name": "subtitle", - "description": "Human-readable subtitle for the entity", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, + "name": "LEAST_CONTRIBUTIONS", + "description": "Sort contributors by least contributions, then fall back to name A-Z", "isDeprecated": false, "deprecationReason": null }, { - "name": "summary", - "description": "A brief description of the entity's contents.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, + "name": "MOST_CONTRIBUTIONS", + "description": "Sort contributors by most contributions, then fall back to name A-Z", "isDeprecated": false, "deprecationReason": null }, { - "name": "tagline", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, + "name": "NAME_ASCENDING", + "description": "Sort contributors by name A-Z. For people, this currently uses western naming order (family name, given name).", "isDeprecated": false, "deprecationReason": null }, { - "name": "thumbnail", - "description": "A reference to an uploaded image in Tus.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", - "ofType": null - }, - "defaultValue": null, + "name": "NAME_DESCENDING", + "description": "Sort contributors by name Z-A. For people, this currently uses western naming order (family name, given name).", "isDeprecated": false, "deprecationReason": null }, { - "name": "thumbnailMetadata", - "description": "Metadata for an image attachment.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", - "ofType": null - }, - "defaultValue": null, + "name": "OLDEST", + "description": "Sort contributors by oldest created date", "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "Human-readable title for the entity", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, + "name": "RECENT", + "description": "Sort contributors by newest created date", "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, - "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "CreateCommunityPayload", - "description": "Autogenerated return type of CreateCommunity.", + "name": "ContributorPermissionGrid", + "description": "A grid of permissions for managing contributors in Meru.\n\nContributors are a \"global\" record, in that they exist\noutside of the entity hierarchy.\n\n`update` permissions for contributors can also be granted\nby assigning that contributor to a user.\n", "fields": [ { - "name": "attributeErrors", - "description": null, + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", "args": [], "type": { "kind": "NON_NULL", @@ -25257,8 +26561,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", + "kind": "SCALAR", + "name": "String", "ofType": null } } @@ -25268,33 +26572,73 @@ "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "claim", + "description": "Whether or not a user with this permission can claim a contributor.\n\nThis is distinct from creating or updating in that it only\napplies to unclaimed contributors contributes the following auth results:\n\n- `Contributor.canClaim`\n- `User.canClaimContributor`\n\nSee `Mutations.contributorClaim` for more details.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "community", - "description": "A representation of a successfully created community", + "name": "create", + "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "Community", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", + "name": "delete", "description": null, "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merge", + "description": "Whether or not a user with this permission can merge contributor records together.\n\nThis is distinct from `update` in that it only applies to the `contributorMerge` permission,\nand feeds into the `canMergeSource` and `canMergeTarget` permissions on `Contributor`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -25306,47 +26650,43 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "UserError", + "name": "PermissionGrant", "ofType": null } } } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", + "name": "read", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "update", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -25356,7 +26696,17 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "CRUDPermissionGrid", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "PermissionGrid", "ofType": null } ], @@ -25364,150 +26714,162 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "CreateItemInput", - "description": "Autogenerated input type of CreateItem", - "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "OBJECT", + "name": "ContributorProperty", + "description": null, + "fields": [ { - "name": "doi", - "description": "Digital Object Identifier (see: https://doi.org)\n\n**Note**: This actually gets assigned to the entity's `rawDOI`, and will be sanitized to get set on `DOI`.\n", + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImage", - "description": "A reference to an uploaded image in Tus.\n", + "name": "contributor", + "description": null, + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", + "kind": "INTERFACE", + "name": "Contributor", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImageMetadata", - "description": "Metadata for an image attachment.\n", + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", + "kind": "SCALAR", + "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "parentId", - "description": "The parent of the item. This can be the encoded ID of a collection or another item.\n", + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "published", - "description": "The date this entity was published", + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "VariablePrecisionDateInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaVersionSlug", - "description": null, + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, - "defaultValue": "\"default:item:latest\"", "isDeprecated": false, "deprecationReason": null }, { - "name": "subtitle", - "description": "Human-readable subtitle for the entity", + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "summary", - "description": "A brief description of the entity's contents.", + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "thumbnail", - "description": "A reference to an uploaded image in Tus.\n", + "name": "label", + "description": "A human-readable label for the schema property.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "thumbnailMetadata", - "description": "Metadata for an image attachment.\n", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "Human-readable title for the entity", + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -25517,308 +26879,354 @@ "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibility", - "description": "What level of visibility the entity has", + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityVisibility", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibleAfterAt", - "description": "If present, this is the timestamp an entity is visible after", + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibleUntilAt", - "description": "If present, this is the timestamp an entity is visible until", + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "CreateItemPayload", - "description": "Autogenerated return type of CreateItem.", + "name": "ContributorSelectOption", + "description": "A select option for a single contributor", "fields": [ { - "name": "attributeErrors", + "name": "kind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "ENUM", + "name": "ContributorKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "label", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", + "name": "value", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" - }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributorUserLink", + "description": "A link between a `Contributor` and a `User`, indicating that the user\nis represented within Meru as that record.\n", + "fields": [ { - "name": "globalErrors", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "item", - "description": "A representation of a successfully created item", + "name": "contributor", + "description": "The contributor associated with this link.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "Item", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateOrderingInput", - "description": "Autogenerated input type of CreateOrdering", - "fields": null, - "inputFields": [ + }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityId", - "description": "The entity to create the ordering for.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601Date", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "filter", + "name": "id", "description": null, + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "OrderingFilterDefinitionInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "footer", - "description": "Optional markdown content to display after the ordering's children", + "name": "linkage", + "description": "The type of link between the contributor and user.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorUserLinkage", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "header", - "description": "Optional markdown content to display before the ordering's children", + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "identifier", - "description": "A unique (within the context of the entity) identifier. Cannot be changed", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "A human readable label for the ordering", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "order", - "description": null, + "name": "user", + "description": "The user associated with this link.\n\nIf the current viewer cannot see the user record, this will be null.\n", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderDefinitionInput", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "User", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "render", - "description": null, + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ContributorUserLinkDestroyInput", + "description": "Autogenerated input type of ContributorUserLinkDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "INPUT_OBJECT", - "name": "OrderingRenderDefinitionInput", + "kind": "SCALAR", + "name": "String", "ofType": null }, "defaultValue": null, @@ -25826,12 +27234,16 @@ "deprecationReason": null }, { - "name": "select", - "description": null, + "name": "contributorUserLinkId", + "description": "The contributor user link to destroy.\n", "type": { - "kind": "INPUT_OBJECT", - "name": "OrderingSelectDefinitionInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, @@ -25844,8 +27256,8 @@ }, { "kind": "OBJECT", - "name": "CreateOrderingPayload", - "description": "Autogenerated return type of CreateOrdering.", + "name": "ContributorUserLinkDestroyPayload", + "description": "Autogenerated return type of ContributorUserLinkDestroy.", "fields": [ { "name": "attributeErrors", @@ -25883,6 +27295,30 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "errors", "description": null, @@ -25942,22 +27378,15 @@ }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "ordering", - "description": "The created ordering", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null + }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -25969,22 +27398,10 @@ }, { "kind": "INPUT_OBJECT", - "name": "CreateOrganizationContributorInput", - "description": "Autogenerated input type of CreateOrganizationContributor", + "name": "ContributorUserLinkUpsertInput", + "description": "Autogenerated input type of ContributorUserLinkUpsert", "fields": null, "inputFields": [ - { - "name": "bio", - "description": "A summary of the contributor", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", @@ -25998,67 +27415,15 @@ "deprecationReason": null }, { - "name": "email", - "description": "An email associated with the contributor", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "A reference to an uploaded image in Tus.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "imageMetadata", - "description": "Metadata for an image attachment.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "legalName", - "description": "The legal name of the organization", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "links", - "description": null, + "name": "contributorId", + "description": "The contributor to update.\n", "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ContributorLinkInput", - "ofType": null - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } }, "defaultValue": null, @@ -26066,36 +27431,32 @@ "deprecationReason": null }, { - "name": "location", - "description": "Where the organization is located (if applicable)", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orcid", - "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", + "name": "linkage", + "description": "The type of link to create or update between the contributor and user.\n\nSetting `PRIMARY` will override any other primary set for the associated user.\n", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorUserLinkage", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "url", - "description": "A url associated with the contributor", + "name": "userId", + "description": "The user to link to the contributor.\n", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, @@ -26108,8 +27469,8 @@ }, { "kind": "OBJECT", - "name": "CreateOrganizationContributorPayload", - "description": "Autogenerated return type of CreateOrganizationContributor.", + "name": "ContributorUserLinkUpsertPayload", + "description": "Autogenerated return type of ContributorUserLinkUpsert.", "fields": [ { "name": "attributeErrors", @@ -26149,11 +27510,23 @@ }, { "name": "contributor", - "description": "The created organization", + "description": "The newly-linked contributor, if successful.\n", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributorUserLink", + "description": "The newly-created or updated link, if successful.\n", "args": [], "type": { "kind": "OBJECT", - "name": "OrganizationContributor", + "name": "ContributorUserLink", "ofType": null }, "isDeprecated": false, @@ -26218,6 +27591,18 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "user", + "description": "The user linked to the contributor, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -26232,237 +27617,253 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "CreatePageInput", - "description": "Autogenerated input type of CreatePage", + "kind": "ENUM", + "name": "ContributorUserLinkage", + "description": "The type of link between a `Contributor` and a `User` in a `ContributorUserLink`.\n", "fields": null, - "inputFields": [ + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "body", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, + "name": "AUXILIARY", + "description": "An auxiliary link indicates that the `Contributor` is an additional identity for the user.\n\nThis may be the case for users who've published under different names, or are being managed\nby a user account representing a team or organization, etc.\n\nA user may have multiple auxiliary links. Setting a new auxiliary link does not affect existing ones.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, + "name": "PRIMARY", + "description": "A primary link indicates that the `Contributor` is the primary identity for the user.\n\nA user may only have one primary link. Setting a new primary link will invalidate the previous.\n", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributorsProperty", + "description": null, + "fields": [ { - "name": "entityId", - "description": null, + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Boolean", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImage", - "description": "A reference to an uploaded image in Tus.\n", + "name": "contributors", + "description": null, + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "heroImageMetadata", - "description": "Metadata for an image attachment.\n", + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", + "kind": "SCALAR", + "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "position", - "description": null, + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": null, + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "SchemaPropertyKind", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CreatePagePayload", - "description": "Autogenerated return type of CreatePage.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "label", + "description": "A human-readable label for the schema property.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "page", - "description": null, + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "Page", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -26472,7 +27873,12 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "ScalarProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SchemaProperty", "ofType": null } ], @@ -26480,272 +27886,327 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "CreatePersonContributorInput", - "description": "Autogenerated input type of CreatePersonContributor", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "ContributorsSettings", + "description": "Settings related to how contributors are handled in this installation.\n", + "fields": [ { - "name": "affiliation", - "description": null, + "name": "claimable", + "description": "Whether users can claim ownership of an unclaimed contributor in this installation.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "bio", - "description": "A summary of the contributor", + "name": "ownerUpdatable", + "description": "Whether users who have claimed a contributor can manage that contributor\nwithout needing to be an admin or anything else.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ContributorsSettingsInput", + "description": "Settings related to how contributors are handled in this installation.\n", + "fields": null, + "inputFields": [ { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "claimable", + "description": "Whether users can claim ownership of an unclaimed contributor in this installation.\n", "type": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null }, - "defaultValue": null, + "defaultValue": "true", "isDeprecated": false, "deprecationReason": null }, { - "name": "email", - "description": "An email associated with the contributor", + "name": "ownerUpdatable", + "description": "Whether users who have claimed a contributor can manage that contributor\nwithout needing to be an admin or anything else.\n", "type": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null }, - "defaultValue": null, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabulariesProperty", + "description": null, + "fields": [ + { + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "familyName", - "description": null, + "name": "controlledVocabulary", + "description": "The vocabulary configured for this property, based on its `wants` value\nand whatever is currently configured in `ControlledVocabularySource`.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "ControlledVocabulary", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "givenName", + "name": "controlledVocabularyItems", "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null + } + } + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "image", - "description": "A reference to an uploaded image in Tus.\n", + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "UploadedFileInput", + "kind": "SCALAR", + "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "imageMetadata", - "description": "Metadata for an image attachment.\n", + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "links", - "description": null, + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "args": [], "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ContributorLinkInput", - "ofType": null - } + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "orcid", - "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": null, + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "url", - "description": "A url associated with the contributor", + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CreatePersonContributorPayload", - "description": "Autogenerated return type of CreatePersonContributor.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "label", + "description": "A human-readable label for the schema property.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributor", - "description": "The created person", + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "PersonContributor", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "wants", + "description": "The key used to determine which `ControlledVocabulary` to fetch.\n\nSee `#controlledVocabulary`.\n", "args": [], "type": { "kind": "SCALAR", @@ -26760,7 +28221,17 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "HasControlledVocabulary", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SchemaProperty", "ofType": null } ], @@ -26768,92 +28239,77 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "CreateRoleInput", - "description": "Autogenerated input type of CreateRole", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "ControlledVocabulary", + "description": "A set of terms that can be selected in schemas.\n\nSee also `ControlledVocabularyItem` and `ControlledVocabularySource`.\n", + "fields": [ { - "name": "accessControlList", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "JSON", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CreateRolePayload", - "description": "Autogenerated return type of CreateRole.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "description", + "description": "An optional internal description of the purpose/values contained within.\n", "args": [], "type": { "kind": "SCALAR", @@ -26864,32 +28320,56 @@ "deprecationReason": null }, { - "name": "errors", + "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "identifier", + "description": "A unique identifier for the controlled vocabulary (within the namespace).\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemSet", + "description": "The items to render for this specific controlled vocabulary.\n\nThis will be returned as a JSON array.\n\nSee the type definitions at `/types/controlled_vocabulary_item_set.d.ts`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ControlledVocabularyItemSet", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "The raw root item records.\n", "args": [], "type": { "kind": "NON_NULL", @@ -26902,7 +28382,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "MutationGlobalError", + "name": "ControlledVocabularyItem", "ofType": null } } @@ -26912,80 +28392,79 @@ "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "name", + "description": "The human-readable name of the controlled vocabulary.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "role", - "description": null, + "name": "namespace", + "description": "The namespace the controlled vocabulary lives in.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "Role", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DOIData", - "description": "Validated and sanitized DOI information for an entity.\n", - "fields": [ + }, { - "name": "doi", - "description": "A pristine, validated DOI value, absent any URL information.\n", + "name": "provides", + "description": "The schema value that is provided by the CV.\n\nSee `ControlledVocabularySource` for more details.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "host", - "description": "The host that this DOI uses. Will be `\"doi.org\"` in most cases.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ok", - "description": "Whether the DOI is ok and valid.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601DateTime", "ofType": null } }, @@ -26993,187 +28472,177 @@ "deprecationReason": null }, { - "name": "url", - "description": "The full URL for the DOI.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "DateEqualsOperatorInput", - "description": "Require that `path = value` while enforcing that value is a date.\n", - "fields": null, - "inputFields": [ - { - "name": "path", - "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "value", - "description": null, + "name": "version", + "description": "A unique version for the controlled vocabulary (within the namespace/identifier).\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601Date", + "name": "String", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "description": "A date-filter for various analytics and other resolvers.\n", - "fields": null, - "inputFields": [ + "inputFields": null, + "interfaces": [ { - "name": "endDate", - "description": "The end date. Make sure it is >= `start_date` if provided.\n\nFor actual filtering, this will get turned into 23:59:59 in the provided `time_zone`.\n", - "type": { - "kind": "SCALAR", - "name": "ISO8601Date", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "startDate", - "description": "The start date. Make sure it is <= `end_date` if provided.\n\nFor actual filtering, this will get turned into midnight in the provided `time_zone`.\n", - "type": { - "kind": "SCALAR", - "name": "ISO8601Date", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null }, { - "name": "timeZone", - "description": "The time zone to use for calculating the range.\n\nIf not provided, it will use the server's configured default,\nwhich is at present UTC, but may be configurable later on.\n", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null } ], - "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "DateGTEOperatorInput", - "description": "Require that `path ≥ value` while enforcing that value is a date.\n", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "ControlledVocabularyConnection", + "description": "The connection type for ControlledVocabulary.", + "fields": [ { - "name": "path", - "description": null, + "name": "edges", + "description": "A list of edges.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularyEdge", + "ofType": null + } + } } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "value", - "description": null, + "name": "nodes", + "description": "A list of nodes.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601Date", + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", - "name": "DateLTEOperatorInput", - "description": "Require that `path ≤ value` while enforcing that value is a date.\n", + "name": "ControlledVocabularyDestroyInput", + "description": "Autogenerated input type of ControlledVocabularyDestroy", "fields": null, "inputFields": [ { - "name": "path", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "value", - "description": null, + "name": "controlledVocabularyId", + "description": "The controlled vocabulary to destroy.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601Date", + "name": "ID", "ofType": null } }, @@ -27186,124 +28655,163 @@ "enumValues": null, "possibleTypes": null }, - { - "kind": "ENUM", - "name": "DatePrecision", - "description": "This describes the level of precision a VariablePrecisionDate has, in increasing order of specificity.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DAY", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MONTH", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NONE", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "YEAR", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, { "kind": "OBJECT", - "name": "DateProperty", - "description": null, + "name": "ControlledVocabularyDestroyPayload", + "description": "Autogenerated return type of ControlledVocabularyDestroy.", "fields": [ { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "date", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601Date", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "default", - "description": null, + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601Date", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": null, + "name": "destroyedId", + "description": "The ID of the deleted model", "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -27311,15 +28819,145 @@ "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularyFilterInput", + "description": "Filtering options for `ControlledVocabulary` records.\n", + "fields": null, + "inputFields": [ + { + "name": "identifier", + "description": "Filter by identifier.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter by namespace.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provides", + "description": "Filter by provides.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "description": "An individual term within a `ControlledVocabulary`.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "children", + "description": "Any children for this vocab item. Starting from a depth of 0 at the top level, items cannot nest any deeper than 2.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601DateTime", "ofType": null } }, @@ -27327,15 +28965,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -27343,7 +28981,19 @@ "deprecationReason": null }, { - "name": "label", + "name": "description", + "description": "An optional, internal description for this specific term.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", "description": null, "args": [], "type": { @@ -27351,7 +29001,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, @@ -27359,15 +29009,15 @@ "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "identifier", + "description": "The unique, machine-readable identifier within the `ControlledVocabulary`.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -27375,8 +29025,8 @@ "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "label", + "description": "The unique label for the Controlled Vocabulary.\n", "args": [], "type": { "kind": "NON_NULL", @@ -27391,15 +29041,27 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "priority", + "description": "An optional priority for certain programmatic sorting tasks within Meru API.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -27407,8 +29069,8 @@ "deprecationReason": null }, { - "name": "searchOperators", - "description": null, + "name": "tags", + "description": "Optional tags used for certain programmatic tasks within Meru API.\n", "args": [], "type": { "kind": "NON_NULL", @@ -27420,8 +29082,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SearchOperator", + "kind": "SCALAR", + "name": "String", "ofType": null } } @@ -27431,15 +29093,15 @@ "deprecationReason": null }, { - "name": "searchPath", - "description": null, + "name": "unselectable", + "description": "Whether or not this should just be used as a grouping label and not be selectable. Implies children.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, @@ -27447,37 +29109,75 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "url", + "description": "An optional URL that should be linked to if present, using the `label` as link text,\nwhen displaying.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "ScalarProperty", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "SchemaProperty", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "SearchableProperty", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } ], @@ -27485,63 +29185,38 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "DescendantListBackground", - "description": "An enumerated value associated with the templating subsystem.\n", + "kind": "SCALAR", + "name": "ControlledVocabularyItemSet", + "description": "An array-like representation of the item sets, presented this way\nto avoid having to query recursively.\n\nSee the types at `/types/controlled_vocabulary_item_set.d.ts`.\n", "fields": null, "inputFields": null, "interfaces": null, - "enumValues": [ - { - "name": "DARK", - "description": "A dark gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIGHT", - "description": "A light gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NONE", - "description": "No background is applied to this template.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], + "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", - "name": "DescendantListSelectionMode", - "description": "An enum used to control the mode of selection for a descendant list template.\n", + "name": "ControlledVocabularyOrder", + "description": "Sort a collection of `ControlledVocabulary` records by specific properties and directions.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "DYNAMIC", - "description": "Render descendants from a dynamic ordering, determined at query time.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MANUAL", - "description": "Render descendants from a manual ordering set on each individual entity. See `manualListName` for how this works.\n", + "name": "DEFAULT", + "description": "Sort controlled vocabularies by their default order.", "isDeprecated": false, "deprecationReason": null }, { - "name": "NAMED", - "description": "Render descendants from a named ordering that exists on the source entity.\n", + "name": "OLDEST", + "description": "Sort controlled vocabularies by oldest created date.", "isDeprecated": false, "deprecationReason": null }, { - "name": "PROPERTY", - "description": "Render entities from a schema property on the source entity.\n", + "name": "RECENT", + "description": "Sort controlled vocabularies by newest created date.", "isDeprecated": false, "deprecationReason": null } @@ -27550,83 +29225,71 @@ }, { "kind": "OBJECT", - "name": "DescendantListTemplateDefinition", + "name": "ControlledVocabularyProperty", "description": null, "fields": [ { - "name": "background", - "description": "The background gradient to use for this template. Affects presentation.\n", + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", "args": [], "type": { - "kind": "ENUM", - "name": "DescendantListBackground", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "browseStyle", - "description": "A boolean used to describe list templates that should match browse style as close as possible.\n", + "name": "controlledVocabulary", + "description": "The vocabulary configured for this property, based on its `wants` value\nand whatever is currently configured in `ControlledVocabularySource`.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "ControlledVocabulary", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", + "name": "controlledVocabularyItem", "description": null, "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "dynamicOrderingDefinition", - "description": "When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure\nas schemas to define a dynamic ordering that is resolved at runtime and based\non the `selectionSource`.\n", - "args": [], "type": { "kind": "OBJECT", - "name": "OrderingDefinition", + "name": "ControlledVocabularyItem", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityContext", - "description": "Enumerate how much context to show when listing entities.\n\nReplaces `showEntityContext`.\n", + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", "args": [], "type": { - "kind": "ENUM", - "name": "ListEntityContext", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, @@ -27634,15 +29297,15 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "LayoutKind", + "name": "SchemaPropertyFunction", "ofType": null } }, @@ -27650,219 +29313,254 @@ "deprecationReason": null }, { - "name": "manualListName", - "description": "When `selectionMode` is set to `MANUAL`, the purpose of this property\nis to specify a name under which all the manual selections (per entity)\nwill be stored. This allows a layout to have multiple templates of the\nsame type using different lists, that will persist across rearrangements\nof the layout _without_ losing connections between entities.\n", + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", "args": [], "type": { "kind": "SCALAR", - "name": "SchemaComponent", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderingIdentifier", - "description": "When `selectionMode` is set to `NAMED`, this will look up the named ordering\non the resolved `selectionSource` and render up to `selectionLimit` entities.\n", + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "SchemaComponent", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "seeAllButtonLabel", - "description": "", + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "seeAllOrderingIdentifier", - "description": "If provided, this will expose an ordering on the template instance that can\nbe used to generate a link to the ordering in the frontend.\n", + "name": "label", + "description": "A human-readable label for the schema property.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "SchemaComponent", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionFallbackMode", - "description": "The fallback mode to use when rendering a list of entities, when the list from\n`selectionMode` is empty and `useSelectionFallback` has been set to true.\n", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { - "kind": "ENUM", - "name": "DescendantListSelectionMode", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionLimit", - "description": "Regardless of `selectionMode`, this limit will be applied on whatever resulting\nlist of entities are produced, so that only up to that amount of entities are\nrendered in the template proper.\n", + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionMode", - "description": "The default mode to use when rendering a list of entities.\n\nSee also `selectionFallbackMode` and `useSelectionFallback`.\n", + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", "args": [], "type": { - "kind": "ENUM", - "name": "DescendantListSelectionMode", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionPropertyPath", - "description": "When `selectionMode` is set to `PROPERTY`, this should be set to the full path\nfor a given schema property on the associated `selectionSource`\n", + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "SchemaPropertyPath", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionSource", - "description": "When selecting entities based on `selectionMode`, this property determines\nwhich entity (relevant to the rendering entity) should be used for lookups.\n\nBy default, it is `self`, which means the rendering entity itself.\n\nIt can also support things like `ancestor.journal`, `ancestor.issue`, etc.,\nin order to render a list of values in its parent.\n", + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "TemplateSelectionSource", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionSourceAncestorName", - "description": "The derived name of the ancestor used for the `selectionSource`.\n\nExposed for introspection only.\n", + "name": "wants", + "description": "The key used to determine which `ControlledVocabulary` to fetch.\n\nSee `#controlledVocabulary`.\n", "args": [], "type": { "kind": "SCALAR", - "name": "SchemaComponent", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasControlledVocabulary", + "ofType": null }, { - "name": "selectionSourceMode", - "description": "An enum representing what mode `selectionSource` is in. Not directly set,\nit is used internally for lookups.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "SelectionSourceMode", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null }, { - "name": "selectionUnbounded", - "description": "When true, this takes priority over `selectionLimit`. It allows an entire\nmatching list of records to be retrieved. It should be used with caution,\nsince very large entity trees could cause responses to be slow.\n", + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "description": "A system-wide configuration that determines which `ControlledVocabulary` satisfies\na desired `provides` value in schemas.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showContributors", - "description": "Show contributors when listing entities.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showEntityContext", - "description": "Show additional context about each entity in the selection.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": true, - "deprecationReason": "Use entity_context enum instead" - }, - { - "name": "showHeroImage", - "description": "", + "name": "controlledVocabulary", + "description": "The controlled vocabulary that provides terms, if selected / available.\n\nIt can be blank when it needs to be populated.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "ControlledVocabulary", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showNestedEntities", - "description": "Show nested items from the associated listItemLayouts in order to generate\na two-tier list.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showSeeAllButton", - "description": "", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": true, - "deprecationReason": "Use seeAllOrdering on the instance instead." - }, - { - "name": "slots", - "description": "Slot definitions for this template.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "DescendantListTemplateDefinitionSlots", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -27870,7 +29568,7 @@ "deprecationReason": null }, { - "name": "slug", + "name": "id", "description": null, "args": [], "type": { @@ -27878,7 +29576,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ID", "ofType": null } }, @@ -27886,15 +29584,15 @@ "deprecationReason": null }, { - "name": "templateKind", - "description": null, + "name": "provides", + "description": "This conforms to the `wants` attribute in CV schema properties.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -27902,20 +29600,24 @@ "deprecationReason": null }, { - "name": "title", - "description": "", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -27930,37 +29632,17 @@ "deprecationReason": null }, { - "name": "useSelectionFallback", - "description": "Controls whether or not to use `selectionFallbackMode` if the entity list returned\nvia `selectionMode` turns out to be empty at runtime.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "variant", - "description": "The variant rendering mode to use for this template. Affects presentation.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "DescendantListVariant", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "width", - "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "ENUM", - "name": "TemplateWidth", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -27970,17 +29652,27 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateDefinition", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } ], @@ -27989,126 +29681,100 @@ }, { "kind": "OBJECT", - "name": "DescendantListTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", + "name": "ControlledVocabularySourceConnection", + "description": "The connection type for ControlledVocabularySource.", "fields": [ { - "name": "blockHeader", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "blockHeaderFallback", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "header", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "headerAside", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "headerFallback", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "listContext", - "description": null, + "name": "edges", + "description": "A list of edges.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularySourceEdge", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "metadata", - "description": null, + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "subtitle", - "description": null, + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, - "interfaces": [], + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "DescendantListTemplateInstance", - "description": null, + "name": "ControlledVocabularySourceEdge", + "description": "An edge in a connection.", "fields": [ { - "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -28116,132 +29782,190 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "ControlledVocabularySource", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularySourceFilterInput", + "description": "Filtering options for `ControlledVocabularySource` records.\n", + "fields": null, + "inputFields": [ { - "name": "definition", - "description": "Load the associated definition for this template.\n", - "args": [], + "name": "unsatisfied", + "description": "Fetch only sources that remain unsatisfied.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "DescendantListTemplateDefinition", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ControlledVocabularySourceOrder", + "description": "Sort a collection of `ControlledVocabularySource` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort controlled vocabulary sources by their default order.", "isDeprecated": false, "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", - "args": [], + "name": "OLDEST", + "description": "Sort controlled vocabulary sources by oldest created date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort controlled vocabulary sources by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularySourceUpdateInput", + "description": "Autogenerated input type of ControlledVocabularySourceUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityList", - "description": "The list of entities to render as part of this template's content.\n", - "args": [], + "name": "controlledVocabularyId", + "description": "The controlled vocabulary to select as the provider\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "TemplateEntityList", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", - "args": [], + "name": "controlledVocabularySourceId", + "description": "The controlled vocabulary source to update.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularySourceUpdatePayload", + "description": "Autogenerated return type of ControlledVocabularySourceUpdate.", + "fields": [ { - "name": "id", + "name": "attributeErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "controlledVocabularySource", + "description": "The newly-modified controlled vocabulary source, if successful.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null - } + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -28254,18 +29978,18 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "TemplateInstanceSibling", + "name": "UserError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -28278,7 +30002,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "TemplateInstanceSibling", + "name": "MutationGlobalError", "ofType": null } } @@ -28288,214 +30012,188 @@ "deprecationReason": null }, { - "name": "seeAllOrdering", - "description": "The ordering to render for a \"see all\" link.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "OBJECT", - "name": "Ordering", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "slots", - "description": "Rendered slots for this template.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "DescendantListTemplateInstanceSlots", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularyUpsertInput", + "description": "Autogenerated input type of ControlledVocabularyUpsert", + "fields": null, + "inputFields": [ { - "name": "slug", - "description": null, - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "templateKind", - "description": null, - "args": [], + "name": "definition", + "description": "The JSON definition for a controlled vocabulary.\n\nAll controlled vocabulary details are derived from it.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "kind": "SCALAR", + "name": "JSON", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, - "args": [], + "name": "selectProvider", + "description": "If `true`, this will automatically select the controlled vocabulary as the source for whatever it `provides`.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, + "defaultValue": "false", "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Renderable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "TemplateHasEntityList", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "TemplateHasSeeAllOrdering", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "TemplateInstance", - "ofType": null - } - ], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "DescendantListTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", + "name": "ControlledVocabularyUpsertPayload", + "description": "Autogenerated return type of ControlledVocabularyUpsert.", "fields": [ { - "name": "blockHeader", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "blockHeaderFallback", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "header", + "name": "attributeErrors", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerAside", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerFallback", - "description": null, + "name": "controlledVocabulary", + "description": "The newly-modified controlled vocabulary, if successful.\n", "args": [], "type": { "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "name": "ControlledVocabulary", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "listContext", + "name": "errors", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "metadata", + "name": "globalErrors", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "subtitle", - "description": null, + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, @@ -28503,66 +30201,25 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "DescendantListVariant", - "description": "An enum used to control how a descendant list template should be rendered.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "CARDS", - "description": "A card list of entities.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMPACT", - "description": "A compact list of entities.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "GRID", - "description": "A grid of entities\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "PROMOS", - "description": "A horizontal list of entities with promotional header.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SUMMARY", - "description": "A vertical, summarized list of entities.\n", - "isDeprecated": false, - "deprecationReason": null - }, + "interfaces": [ { - "name": "TREE", - "description": "A tree structure.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null } ], + "enumValues": null, "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "DescribesSchema", - "description": "The most basic shared properties for a single schema, whether a definition,\na version, or an aggregate based on the former types.\n", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "CreateAnnouncementInput", + "description": "Autogenerated input type of CreateAnnouncement", + "fields": null, + "inputFields": [ { - "name": "declaration", - "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", - "args": [], + "name": "body", + "description": "A body for the announcement", "type": { "kind": "NON_NULL", "name": null, @@ -28572,45 +30229,41 @@ "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "identifier", - "description": "A unique (per-namespace) value that names the schema within the system.\n", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "The kind of entity this schema applies to.\n", - "args": [], + "name": "entityId", + "description": "The ID for an entity to create the announcement under.", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaKind", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "A human-readable name for the schema.\n", - "args": [], + "name": "header", + "description": "A header value for the announcement", "type": { "kind": "NON_NULL", "name": null, @@ -28620,85 +30273,41 @@ "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "namespace", - "description": "A unique namespace the schema lives in.\n", - "args": [], + "name": "publishedOn", + "description": "The date of the announcement.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "HierarchicalSchemaRank", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HierarchicalSchemaVersionRank", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SchemaDefinition", - "ofType": null }, { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } - ] - }, - { - "kind": "INPUT_OBJECT", - "name": "DestroyAnnouncementInput", - "description": "Autogenerated input type of DestroyAnnouncement", - "fields": null, - "inputFields": [ - { - "name": "announcementId", - "description": null, + "name": "teaser", + "description": "A teaser for the announcement", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null } ], "interfaces": null, @@ -28707,9 +30316,21 @@ }, { "kind": "OBJECT", - "name": "DestroyAnnouncementPayload", - "description": "Autogenerated return type of DestroyAnnouncement.", + "name": "CreateAnnouncementPayload", + "description": "Autogenerated return type of CreateAnnouncement.", "fields": [ + { + "name": "announcement", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "Announcement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "attributeErrors", "description": null, @@ -28746,30 +30367,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "destroyedId", - "description": "The ID of the deleted model", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "errors", "description": null, @@ -28833,11 +30430,6 @@ ], "inputFields": null, "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -28849,29 +30441,13 @@ }, { "kind": "INPUT_OBJECT", - "name": "DestroyAssetInput", - "description": "Autogenerated input type of DestroyAsset", + "name": "CreateAssetInput", + "description": "Autogenerated input type of CreateAsset", "fields": null, "inputFields": [ { - "name": "assetId", - "description": "The ID for the asset to destroy", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "altText", + "description": "Alt text to display for the asset (if applicable)", "type": { "kind": "SCALAR", "name": "String", @@ -28880,198 +30456,113 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DestroyAssetPayload", - "description": "Autogenerated return type of DestroyAsset.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, - "args": [], + "name": "attachment", + "description": "A reference to an upload in Tus.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", + "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "args": [], + "name": "caption", + "description": "A caption to display below the asset (if applicable)", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyedId", - "description": "The ID of the deleted model", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "errors", - "description": null, - "args": [], + "name": "entityId", + "description": "The entity that owns the attachment", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, - "args": [], + "name": "name", + "description": "A human readable name for the asset", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", - "args": [], + "name": "position", + "description": "The position the asset occupies amongst siblings", "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "DestroyCollectionInput", - "description": "Autogenerated input type of DestroyCollection", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "CreateAssetPayload", + "description": "Autogenerated return type of CreateAsset.", + "fields": [ { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "asset", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "UNION", + "name": "AnyAsset", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, - { - "name": "collectionId", - "description": "The ID for the collection to destroy", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DestroyCollectionPayload", - "description": "Autogenerated return type of DestroyCollection.", - "fields": [ { "name": "attributeErrors", "description": null, @@ -29108,30 +30599,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "destroyedId", - "description": "The ID of the deleted model", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "errors", "description": null, @@ -29195,11 +30662,6 @@ ], "inputFields": null, "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -29211,8 +30673,8 @@ }, { "kind": "INPUT_OBJECT", - "name": "DestroyCommunityInput", - "description": "Autogenerated input type of DestroyCommunity", + "name": "CreateCollectionInput", + "description": "Autogenerated input type of CreateCollection", "fields": null, "inputFields": [ { @@ -29228,8 +30690,44 @@ "deprecationReason": null }, { - "name": "communityId", - "description": "The ID for the community to destroy", + "name": "doi", + "description": "Digital Object Identifier (see: https://doi.org)\n\n**Note**: This actually gets assigned to the entity's `rawDOI`, and will be sanitized to get set on `DOI`.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroImage", + "description": "A reference to an uploaded image in Tus.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroImageMetadata", + "description": "Metadata for an image attachment.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentId", + "description": "The parent of the new collection. This can be the encoded ID of a community or another collection.\n", "type": { "kind": "NON_NULL", "name": null, @@ -29242,166 +30740,117 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DestroyCommunityPayload", - "description": "Autogenerated return type of DestroyCommunity.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, - "args": [], + "name": "published", + "description": "The date this entity was published", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } - } + "kind": "INPUT_OBJECT", + "name": "VariablePrecisionDateInput", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "args": [], + "name": "schemaVersionSlug", + "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": "\"default:collection:latest\"", "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], + "name": "subtitle", + "description": "Human-readable subtitle for the entity", "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyedId", - "description": "The ID of the deleted model", - "args": [], + "name": "summary", + "description": "A brief description of the entity's contents.", "type": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, - "args": [], + "name": "thumbnail", + "description": "A reference to an uploaded image in Tus.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } - } + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", + "ofType": null }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, - "args": [], + "name": "thumbnailMetadata", + "description": "Metadata for an image attachment.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Human-readable title for the entity", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", - "args": [], + "name": "visibility", + "description": "What level of visibility the entity has", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntityVisibility", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null }, { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "DestroyContributionInput", - "description": "Autogenerated input type of DestroyContribution", - "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "visibleAfterAt", + "description": "If present, this is the timestamp an entity is visible after", "type": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null }, "defaultValue": null, @@ -29409,16 +30858,12 @@ "deprecationReason": null }, { - "name": "contributionId", - "description": null, + "name": "visibleUntilAt", + "description": "If present, this is the timestamp an entity is visible until", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null }, "defaultValue": null, "isDeprecated": false, @@ -29431,8 +30876,8 @@ }, { "kind": "OBJECT", - "name": "DestroyContributionPayload", - "description": "Autogenerated return type of DestroyContribution.", + "name": "CreateCollectionPayload", + "description": "Autogenerated return type of CreateCollection.", "fields": [ { "name": "attributeErrors", @@ -29471,24 +30916,12 @@ "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "destroyedId", - "description": "The ID of the deleted model", + "name": "collection", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "Collection", "ofType": null }, "isDeprecated": false, @@ -29557,11 +30990,6 @@ ], "inputFields": null, "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -29573,8 +31001,8 @@ }, { "kind": "INPUT_OBJECT", - "name": "DestroyContributorInput", - "description": "Autogenerated input type of DestroyContributor", + "name": "CreateCommunityInput", + "description": "Autogenerated input type of CreateCommunity", "fields": null, "inputFields": [ { @@ -29590,177 +31018,120 @@ "deprecationReason": null }, { - "name": "contributorId", + "name": "heroImage", + "description": "A reference to an uploaded image in Tus.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroImageLayout", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "HeroImageLayout", "ofType": null } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DestroyContributorPayload", - "description": "Autogenerated return type of DestroyContributor.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, - "args": [], + "name": "heroImageMetadata", + "description": "Metadata for an image attachment.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } - } + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "args": [], + "name": "logo", + "description": "A reference to an uploaded image in Tus.\n", "type": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], + "name": "logoMetadata", + "description": "Metadata for an image attachment.\n", "type": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyedId", - "description": "The ID of the deleted model", - "args": [], + "name": "position", + "description": "The position the community occupies in the list", "type": { "kind": "SCALAR", - "name": "ID", + "name": "Int", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", + "name": "schemaVersionSlug", "description": null, - "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "defaultValue": "\"default:community:latest\"", + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } - } + "name": "subtitle", + "description": "Human-readable subtitle for the entity", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", - "args": [], + "name": "summary", + "description": "A brief description of the entity's contents.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null }, { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "DestroyEntityLinkInput", - "description": "Autogenerated input type of DestroyEntityLink", - "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "tagline", + "description": null, "type": { "kind": "SCALAR", "name": "String", @@ -29771,14 +31142,38 @@ "deprecationReason": null }, { - "name": "entityLinkId", - "description": "The ID for the EntityLink to destroy", + "name": "thumbnail", + "description": "A reference to an uploaded image in Tus.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "thumbnailMetadata", + "description": "Metadata for an image attachment.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Human-readable title for the entity", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, @@ -29793,8 +31188,8 @@ }, { "kind": "OBJECT", - "name": "DestroyEntityLinkPayload", - "description": "Autogenerated return type of DestroyEntityLink.", + "name": "CreateCommunityPayload", + "description": "Autogenerated return type of CreateCommunity.", "fields": [ { "name": "attributeErrors", @@ -29833,24 +31228,12 @@ "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "destroyedId", - "description": "The ID of the deleted model", + "name": "community", + "description": "A representation of a successfully created community", "args": [], "type": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "Community", "ofType": null }, "isDeprecated": false, @@ -29919,11 +31302,6 @@ ], "inputFields": null, "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -29935,8 +31313,8 @@ }, { "kind": "INPUT_OBJECT", - "name": "DestroyItemInput", - "description": "Autogenerated input type of DestroyItem", + "name": "CreateItemInput", + "description": "Autogenerated input type of CreateItem", "fields": null, "inputFields": [ { @@ -29952,8 +31330,44 @@ "deprecationReason": null }, { - "name": "itemId", - "description": "The ID for the item to destroy", + "name": "doi", + "description": "Digital Object Identifier (see: https://doi.org)\n\n**Note**: This actually gets assigned to the entity's `rawDOI`, and will be sanitized to get set on `DOI`.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroImage", + "description": "A reference to an uploaded image in Tus.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroImageMetadata", + "description": "Metadata for an image attachment.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentId", + "description": "The parent of the item. This can be the encoded ID of a collection or another item.\n", "type": { "kind": "NON_NULL", "name": null, @@ -29966,158 +31380,144 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DestroyItemPayload", - "description": "Autogenerated return type of DestroyItem.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, - "args": [], + "name": "published", + "description": "The date this entity was published", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } - } + "kind": "INPUT_OBJECT", + "name": "VariablePrecisionDateInput", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "args": [], + "name": "schemaVersionSlug", + "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": "\"default:item:latest\"", "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], + "name": "subtitle", + "description": "Human-readable subtitle for the entity", "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyedId", - "description": "The ID of the deleted model", - "args": [], + "name": "summary", + "description": "A brief description of the entity's contents.", "type": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, - "args": [], + "name": "thumbnail", + "description": "A reference to an uploaded image in Tus.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "thumbnailMetadata", + "description": "Metadata for an image attachment.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Human-readable title for the entity", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, - "args": [], + "name": "visibility", + "description": "What level of visibility the entity has", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "ENUM", + "name": "EntityVisibility", + "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", - "args": [], + "name": "visibleAfterAt", + "description": "If present, this is the timestamp an entity is visible after", "type": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null }, { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null + "name": "visibleUntilAt", + "description": "If present, this is the timestamp an entity is visible until", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } ], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "description": "This mutation destroys a model", + "kind": "OBJECT", + "name": "CreateItemPayload", + "description": "Autogenerated return type of CreateItem.", "fields": [ { "name": "attributeErrors", @@ -30144,24 +31544,12 @@ "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "destroyedId", - "description": "The ID of the deleted model", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null }, "isDeprecated": false, @@ -30226,98 +31614,35 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "item", + "description": "A representation of a successfully created item", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "ControlledVocabularyDestroyPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyAnnouncementPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyAssetPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyCollectionPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyCommunityPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyContributionPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyContributorPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyEntityLinkPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyItemPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyOrderingPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyPagePayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EntityPurgePayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMappingDestroyPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMetadataMappingDestroyPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestSourceDestroyPayload", - "ofType": null - }, + "interfaces": [ { - "kind": "OBJECT", - "name": "PermalinkDestroyPayload", + "kind": "INTERFACE", + "name": "StandardMutationPayload", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { "kind": "INPUT_OBJECT", - "name": "DestroyOrderingInput", - "description": "Autogenerated input type of DestroyOrdering", + "name": "CreateOrderingInput", + "description": "Autogenerated input type of CreateOrdering", "fields": null, "inputFields": [ { @@ -30333,8 +31658,8 @@ "deprecationReason": null }, { - "name": "orderingId", - "description": null, + "name": "entityId", + "description": "The entity to create the ordering for.\n", "type": { "kind": "NON_NULL", "name": null, @@ -30347,84 +31672,160 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DestroyOrderingPayload", - "description": "Autogenerated return type of DestroyOrdering.", - "fields": [ + }, { - "name": "attributeErrors", + "name": "filter", "description": null, - "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } - } + "kind": "INPUT_OBJECT", + "name": "OrderingFilterDefinitionInput", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "args": [], + "name": "footer", + "description": "Optional markdown content to display after the ordering's children", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], + "name": "header", + "description": "Optional markdown content to display before the ordering's children", "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyedId", - "description": "The ID of the deleted model", - "args": [], + "name": "identifier", + "description": "A unique (within the context of the entity) identifier. Cannot be changed", "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "disabled", - "description": null, - "args": [], + "name": "name", + "description": "A human readable label for the ordering", "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderDefinitionInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "render", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderingRenderDefinitionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "select", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderingSelectDefinitionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateOrderingPayload", + "description": "Autogenerated return type of CreateOrdering.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, @@ -30489,15 +31890,22 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "ordering", + "description": "The created ordering", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -30509,10 +31917,22 @@ }, { "kind": "INPUT_OBJECT", - "name": "DestroyPageInput", - "description": "Autogenerated input type of DestroyPage", + "name": "CreateOrganizationContributorInput", + "description": "Autogenerated input type of CreateOrganizationContributor", "fields": null, "inputFields": [ + { + "name": "bio", + "description": "A summary of the contributor", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", @@ -30526,20 +31946,108 @@ "deprecationReason": null }, { - "name": "pageId", + "name": "email", + "description": "An email associated with the contributor", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "A reference to an uploaded image in Tus.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageMetadata", + "description": "Metadata for an image attachment.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legalName", + "description": "The legal name of the organization", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", "description": null, "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorLinkInput", + "ofType": null + } } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "location", + "description": "Where the organization is located (if applicable)", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orcid", + "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "A url associated with the contributor", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } ], "interfaces": null, @@ -30548,8 +32056,8 @@ }, { "kind": "OBJECT", - "name": "DestroyPagePayload", - "description": "Autogenerated return type of DestroyPage.", + "name": "CreateOrganizationContributorPayload", + "description": "Autogenerated return type of CreateOrganizationContributor.", "fields": [ { "name": "attributeErrors", @@ -30588,24 +32096,12 @@ "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "destroyedId", - "description": "The ID of the deleted model", + "name": "contributor", + "description": "The created organization", "args": [], "type": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "OrganizationContributor", "ofType": null }, "isDeprecated": false, @@ -30674,11 +32170,6 @@ ], "inputFields": null, "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -30689,218 +32180,236 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "DetailBackground", - "description": "An enumerated value associated with the templating subsystem.\n", + "kind": "INPUT_OBJECT", + "name": "CreatePageInput", + "description": "Autogenerated input type of CreatePage", "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DARK", - "description": "A dark gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIGHT", - "description": "A light gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NONE", - "description": "No background is applied to this template.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DetailTemplateDefinition", - "description": null, - "fields": [ - { - "name": "background", - "description": "The background gradient to use for this template. Affects presentation.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "DetailBackground", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, + "inputFields": [ { - "name": "createdAt", + "name": "body", "description": null, - "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", + "name": "entityId", "description": null, - "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "showAnnouncements", - "description": "", - "args": [], + "name": "heroImage", + "description": "A reference to an uploaded image in Tus.\n", "type": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "showBody", - "description": "Whether to show and use the 'body' slot on a detail view.\nPrimarily intended for items with copious text to display.\n", - "args": [], + "name": "heroImageMetadata", + "description": "Metadata for an image attachment.\n", "type": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "showHeroImage", - "description": "", - "args": [], + "name": "position", + "description": null, "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "Int", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "slots", - "description": "Slot definitions for this template.\n", - "args": [], + "name": "slug", + "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "DetailTemplateDefinitionSlots", + "kind": "SCALAR", + "name": "String", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", + "name": "title", "description": null, - "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "String", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreatePagePayload", + "description": "Autogenerated return type of CreatePage.", + "fields": [ { - "name": "templateKind", + "name": "attributeErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "variant", - "description": "The variant rendering mode to use for this template. Affects presentation.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "ENUM", - "name": "DetailVariant", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "width", - "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", + "name": "page", + "description": null, "args": [], "type": { - "kind": "ENUM", - "name": "TemplateWidth", + "kind": "OBJECT", + "name": "Page", "ofType": null }, "isDeprecated": false, @@ -30911,17 +32420,7 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "TemplateDefinition", + "name": "StandardMutationPayload", "ofType": null } ], @@ -30929,244 +32428,356 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "DetailTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "CreatePersonContributorInput", + "description": "Autogenerated input type of CreatePersonContributor", + "fields": null, + "inputFields": [ { - "name": "body", + "name": "affiliation", "description": null, - "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "header", - "description": null, - "args": [], + "name": "bio", + "description": "A summary of the contributor", "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsA", - "description": null, - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsB", - "description": null, - "args": [], + "name": "email", + "description": "An email associated with the contributor", "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsC", + "name": "familyName", "description": null, - "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsD", + "name": "givenName", "description": null, - "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheader", + "name": "image", + "description": "A reference to an uploaded image in Tus.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "UploadedFileInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageMetadata", + "description": "Metadata for an image attachment.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", "description": null, - "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorLinkInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orcid", + "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", + "type": { + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "summary", + "name": "title", "description": null, - "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "A url associated with the contributor", + "type": { + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "DetailTemplateInstance", - "description": null, + "name": "CreatePersonContributorPayload", + "description": "Autogenerated return type of CreatePersonContributor.", "fields": [ { - "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "definition", - "description": "Load the associated definition for this template.\n", + "name": "contributor", + "description": "The created person", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "DetailTemplateDefinition", - "ofType": null - } + "kind": "OBJECT", + "name": "PersonContributor", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "haltCode", + "description": "Not presently used", "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateRoleInput", + "description": "Autogenerated input type of CreateRole", + "fields": null, + "inputFields": [ + { + "name": "accessControlList", + "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "JSON", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", + "name": "name", "description": null, - "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "String", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateRolePayload", + "description": "Autogenerated return type of CreateRole.", + "fields": [ { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -31179,7 +32790,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "TemplateInstanceSibling", + "name": "MutationAttributeError", "ofType": null } } @@ -31189,8 +32800,20 @@ "deprecationReason": null }, { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -31203,75 +32826,59 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "TemplateInstanceSibling", + "name": "UserError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slots", - "description": "Rendered slots for this template.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "DetailTemplateInstanceSlots", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "slug", + "name": "globalErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "templateKind", - "description": null, + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "TemplateKind", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", + "name": "role", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "Role", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -31281,22 +32888,7 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Renderable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "TemplateInstance", + "name": "StandardMutationPayload", "ofType": null } ], @@ -31305,269 +32897,283 @@ }, { "kind": "OBJECT", - "name": "DetailTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", + "name": "DOIData", + "description": "Validated and sanitized DOI information for an entity.\n", "fields": [ { - "name": "body", - "description": null, + "name": "doi", + "description": "A pristine, validated DOI value, absent any URL information.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "header", - "description": null, + "name": "host", + "description": "The host that this DOI uses. Will be `\"doi.org\"` in most cases.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsA", - "description": null, + "name": "ok", + "description": "Whether the DOI is ok and valid.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsB", - "description": null, + "name": "url", + "description": "The full URL for the DOI.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DateEqualsOperatorInput", + "description": "Require that `path = value` while enforcing that value is a date.\n", + "fields": null, + "inputFields": [ { - "name": "itemsC", + "name": "path", "description": null, - "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsD", + "name": "value", "description": null, - "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "description": "A date-filter for various analytics and other resolvers.\n", + "fields": null, + "inputFields": [ + { + "name": "endDate", + "description": "The end date. Make sure it is >= `start_date` if provided.\n\nFor actual filtering, this will get turned into 23:59:59 in the provided `time_zone`.\n", + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheader", - "description": null, - "args": [], + "name": "startDate", + "description": "The start date. Make sure it is <= `end_date` if provided.\n\nFor actual filtering, this will get turned into midnight in the provided `time_zone`.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "summary", - "description": null, - "args": [], + "name": "timeZone", + "description": "The time zone to use for calculating the range.\n\nIf not provided, it will use the server's configured default,\nwhich is at present UTC, but may be configurable later on.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "DetailVariant", - "description": "An enum used to control how a detail template should be rendered.\n", + "kind": "INPUT_OBJECT", + "name": "DateGTEOperatorInput", + "description": "Require that `path ≥ value` while enforcing that value is a date.\n", "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "inputFields": [ { - "name": "COLUMNS", - "description": "A columnar display format for entity details, similar to metadata.\n\nIt will make use of the `items*` slots in order to render the content.\n\nSee the `hideMetadata` property on the navigation template for an\noptimal use case with moving metadata from its own tab over to the\nmain layout.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FULL", - "description": "Display 'full' detail about the entity.\n", + "name": "path", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "SUMMARY", - "description": "Display detail about the entity in a summarized fashion.\n", + "name": "value", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], + "interfaces": null, + "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "Direction", - "description": null, + "kind": "INPUT_OBJECT", + "name": "DateLTEOperatorInput", + "description": "Require that `path ≤ value` while enforcing that value is a date.\n", "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "inputFields": [ { - "name": "ASCENDING", + "name": "path", "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "DESCENDING", + "name": "value", "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], + "interfaces": null, + "enumValues": null, "possibleTypes": null }, { - "kind": "OBJECT", - "name": "EffectiveAccess", - "description": "User-specific access permissions for non-hierarchical records.\n", - "fields": [ + "kind": "ENUM", + "name": "DatePrecision", + "description": "This describes the level of precision a VariablePrecisionDate has, in increasing order of specificity.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "allowedActions", - "description": "A list of allowed actions for the given user on this entity (and its descendants).", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, + "name": "DAY", + "description": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "availableActions", - "description": "The values that may appear in `allowed_actions`. This is for introspection\nand type-checking: the presence of a string here does _not_ mean the user\nhas the effective capability.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, + "name": "MONTH", + "description": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "permissions", - "description": "An array of hashes that can be requested to load in a context", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PermissionGrant", - "ofType": null - } - } - } - }, + "name": "NONE", + "description": null, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + }, { - "kind": "INTERFACE", - "name": "ExposesPermissions", - "ofType": null + "name": "YEAR", + "description": null, + "isDeprecated": false, + "deprecationReason": null } ], - "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "EmailProperty", + "name": "DateProperty", "description": null, "fields": [ - { - "name": "address", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "array", "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", @@ -31585,12 +33191,24 @@ "deprecationReason": null }, { - "name": "defaultAddress", + "name": "date", "description": null, "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "default", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null }, "isDeprecated": false, @@ -31598,7 +33216,7 @@ }, { "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -31640,6 +33258,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "isWide", "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", @@ -31674,7 +33304,7 @@ }, { "name": "label", - "description": "A human-readable label for the schema property.\n", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -31736,6 +33366,62 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "searchOperators", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchOperator", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchPath", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "type", "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", @@ -31764,6 +33450,11 @@ "kind": "INTERFACE", "name": "SchemaProperty", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SearchableProperty", + "ofType": null } ], "enumValues": null, @@ -31771,19 +33462,19 @@ }, { "kind": "OBJECT", - "name": "EntitiesProperty", - "description": "A property that references a deterministically-ordered list of entities.\n", + "name": "DepositingSettings", + "description": "Settings for depositing to this installation.\n", "fields": [ { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "agreement", + "description": "The agreement that users must accept before depositing.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -31791,75 +33482,77 @@ "deprecationReason": null }, { - "name": "availableEntities", - "description": "Expose all available entities for this schema property.\n", + "name": "enabled", + "description": "Whether depositing is enabled for this installation.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntitySelectOption", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DepositingSettingsInput", + "description": "Settings for depositing to this installation.\n", + "fields": null, + "inputFields": [ { - "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", - "args": [], + "name": "agreement", + "description": "The agreement that users must accept before depositing.\n", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": "\"\"", "isDeprecated": false, "deprecationReason": null }, { - "name": "entities", - "description": "A deterministically-ordered list of entities.\n\nGiven the same input, this array will always be returned in the same order.\n", - "args": [], + "name": "enabled", + "description": "Whether depositing is enabled for this installation.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, + "defaultValue": "false", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreement", + "description": "The record of an agreement accepted by a depositor for a given submission target.\n", + "fields": [ { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "canAccept", + "description": "Whether the current user can accept this agreement.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -31867,15 +33560,15 @@ "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -31883,15 +33576,15 @@ "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "canReset", + "description": "Whether the current user can reset this agreement.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -31899,15 +33592,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -31915,15 +33608,15 @@ "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the schema property.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, @@ -31931,15 +33624,15 @@ "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601Date", "ofType": null } }, @@ -31947,15 +33640,15 @@ "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, @@ -31963,15 +33656,27 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "lastAcceptedAt", + "description": "The timestamp of the most recent time the agreement was accepted by the depositor.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -31979,113 +33684,40 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "state", + "description": "The current state of the agreement.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyType", + "name": "DepositorAgreementState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "HasAvailableEntities", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ScalarProperty", - "ofType": null }, { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "EntitiesSettings", - "description": "Settings specific to how entities should behave on this installation.", - "fields": [ - { - "name": "suppressExternalLinks", - "description": "Whether external links should be suppressed in certain schema field types.", + "name": "submissionTarget", + "description": "The submission target associated with this agreement.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "SubmissionTarget", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "EntitiesSettingsInput", - "description": "An object for updating EntitiesSettings", - "fields": null, - "inputFields": [ - { - "name": "suppressExternalLinks", - "description": "Whether external links should be suppressed in certain schema field types.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Entity", - "description": "An entity that exists in the hierarchy.", - "fields": [ - { - "name": "accessControlList", - "description": "Derived access control list", - "args": [], - "type": { - "kind": "OBJECT", - "name": "AccessControlList", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null }, { - "name": "allAccessGrants", - "description": "A polymorphic connection for access grants from an entity", + "name": "transitions", + "description": "The state transitions for this agreement.\n", "args": [ { "name": "after", @@ -32135,18 +33767,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, { "name": "page", "description": "The page of edges/nodes to fetch", @@ -32182,18 +33802,6 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "subject", - "description": null, - "type": { - "kind": "ENUM", - "name": "AccessGrantSubjectFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null } ], "type": { @@ -32201,7 +33809,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "AnyAccessGrantConnection", + "name": "DepositorAgreementTransitionConnection", "ofType": null } }, @@ -32209,174 +33817,128 @@ "deprecationReason": null }, { - "name": "allowedActions", - "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "announcement", - "description": "Look up an announcement for this entity by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The user who accepted the agreement.\n", + "args": [], "type": { "kind": "OBJECT", - "name": "Announcement", + "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "announcements", - "description": "Announcements for a specific entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "AnnouncementOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DepositorAgreementAcceptInput", + "description": "Autogenerated input type of DepositorAgreementAccept", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetId", + "description": "The ID of the submission target that the agreement belongs to.", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnnouncementConnection", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementAcceptPayload", + "description": "Autogenerated return type of DepositorAgreementAccept.", + "fields": [ { - "name": "applicableRoles", - "description": "The role(s) that gave the permissions to access this resource, if any.", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -32389,7 +33951,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Role", + "name": "MutationAttributeError", "ofType": null } } @@ -32399,8 +33961,32 @@ "deprecationReason": null }, { - "name": "assignableRoles", - "description": "The role(s) that the current user could assign to other users on this entity, if applicable.", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositorAgreement", + "description": "The depositor agreement that was accepted.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DepositorAgreement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -32413,7 +33999,31 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Role", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", "ofType": null } } @@ -32423,121 +34033,76 @@ "deprecationReason": null }, { - "name": "assignedUsers", - "description": "Retrieve a list of user & role assignments for this entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContextualPermissionOrder", - "ofType": null - }, - "defaultValue": "USER_NAME_ASC", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DepositorAgreementResetAllInput", + "description": "Autogenerated input type of DepositorAgreementResetAll", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetId", + "description": "The ID of the submission target for which to reset depositor agreements.", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ContextualPermissionConnection", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementResetAllPayload", + "description": "Autogenerated return type of DepositorAgreementResetAll.", + "fields": [ { - "name": "breadcrumbs", - "description": "Previous entries in the hierarchy", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -32550,7 +34115,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityBreadcrumb", + "name": "MutationAttributeError", "ofType": null } } @@ -32560,220 +34125,319 @@ "deprecationReason": null }, { - "name": "descendants", - "description": "Search and retrieve *all* descendants of this `Entity`, regardless of type.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "maxDepth", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityDescendantOrder", + "kind": "OBJECT", + "name": "UserError", "ofType": null } - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schema", - "description": "Filter by a namespace.name schema identifier", - "type": { - "kind": "LIST", + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityDescendantScopeFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null + } } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTarget", + "description": "The submission target for which depositor agreements were reset.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DepositorAgreementResetInput", + "description": "Autogenerated input type of DepositorAgreementReset", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetId", + "description": "The ID of the submission target for which to reset a depositor agreement.", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "EntityDescendantConnection", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImage", - "description": "A hero image for the entity, suitable for displaying in page headers", - "args": [], + "name": "userId", + "description": "The ID of the user for which to reset a depositor agreement.", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementResetPayload", + "description": "Autogenerated return type of DepositorAgreementReset.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImageMetadata", - "description": "Configurable metadata for the hero_image attachment", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositorAgreement", + "description": "The depositor agreement that was reset.", "args": [], "type": { "kind": "OBJECT", - "name": "ImageMetadata", + "name": "DepositorAgreement", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "hierarchicalDepth", - "description": "The depth of the hierarchical entity, taking into account any parent types", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layouts", - "description": "Access layouts for this entity.\n", + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DepositorAgreementState", + "description": "The state of a user's acceptance of a given `SubmissionTarget`'s agreement requirements.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCEPTED", + "description": "The user has accepted the agreement for the submission target.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The user has not yet accepted the agreement for the submission target.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementTransition", + "description": "A transition for a `DepositorAgreement`.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityLayouts", + "name": "AuthorizationResult", "ofType": null } }, @@ -32781,124 +34445,15 @@ "deprecationReason": null }, { - "name": "linkTargetCandidates", - "description": "Available link targets for this entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": null, - "type": { - "kind": "ENUM", - "name": "LinkTargetCandidateFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": "\"\"", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "LinkTargetCandidateConnection", + "name": "AuthorizationResult", "ofType": null } }, @@ -32906,112 +34461,15 @@ "deprecationReason": null }, { - "name": "links", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "EntityLinkConnection", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -33019,15 +34477,15 @@ "deprecationReason": null }, { - "name": "markedForPurge", - "description": "Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601Date", "ofType": null } }, @@ -33035,194 +34493,43 @@ "deprecationReason": null }, { - "name": "ordering", - "description": "Look up an ordering for this entity by identifier", - "args": [ - { - "name": "identifier", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "fromState", + "description": "The state that the depositor agreement is transitioning from. This will be null if the submission target is being created.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "Ordering", + "kind": "ENUM", + "name": "DepositorAgreementState", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderingForSchema", - "description": "Look up an ordering that is set up to handle a specific schema.", - "args": [ - { - "name": "slug", - "description": "This should be of the `namespace:identifier` format.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "id", + "description": null, + "args": [], "type": { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderings", - "description": "Retrieve a connection of orderings for the parent object.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "availability", - "description": "Optionally filter orderings by whether they are enabled or disabled.", - "type": { - "kind": "ENUM", - "name": "OrderingAvailabilityFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "OrderingOrder", - "ofType": null - }, - "defaultValue": "DETERMINISTIC", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibility", - "description": "Optionally filter orderings by whether they are visible or hidden.", - "type": { - "kind": "ENUM", - "name": "OrderingVisibilityFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "mostRecent", + "description": "Whether this is the most recent transition.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "OrderingConnection", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -33230,129 +34537,31 @@ "deprecationReason": null }, { - "name": "page", - "description": "Look up a page for this entity by slug", - "args": [ - { - "name": "slug", - "description": "**Note**: Unlike most other model types, a page's slug is just a string\nas opposed to our custom `Slug` type. They are not designed to be\nopaque, but instead be something human-readable that can appear in URIs.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "Page", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pages", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "toState", + "description": "The state that the depositor agreement is transitioning to.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PageConnection", + "kind": "ENUM", + "name": "DepositorAgreementState", "ofType": null } }, @@ -33360,39 +34569,31 @@ "deprecationReason": null }, { - "name": "permissions", - "description": "An array of hashes that can be requested to load in a context", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PermissionGrant", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaDefinition", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinition", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -33400,8 +34601,62 @@ "deprecationReason": null }, { - "name": "schemaProperties", - "description": "A list of schema properties associated with this instance or version.\n", + "name": "user", + "description": "The user who performed the transition, if available.\n\nSome transitions may happen through automated processes, so the user will not always be set.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonTransition", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementTransitionConnection", + "description": "The connection type for DepositorAgreementTransition.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", @@ -33413,8 +34668,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "SchemaProperty", + "kind": "OBJECT", + "name": "DepositorAgreementTransitionEdge", "ofType": null } } @@ -33424,8 +34679,8 @@ "deprecationReason": null }, { - "name": "schemaRanks", - "description": null, + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", @@ -33438,7 +34693,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HierarchicalSchemaRank", + "name": "DepositorAgreementTransition", "ofType": null } } @@ -33448,56 +34703,48 @@ "deprecationReason": null }, { - "name": "schemaVersion", - "description": null, + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaVersion", + "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "search", - "description": "Search from this level of the API using it as the origin", - "args": [ - { - "name": "maxDepth", - "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibility", - "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", - "type": { - "kind": "ENUM", - "name": "EntityVisibilityFilter", - "ofType": null - }, - "defaultValue": "VISIBLE", - "isDeprecated": false, - "deprecationReason": null - } - ], + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementTransitionEdge", + "description": "An edge in a connection for `DepositorAgreementTransition`.\n", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SearchScope", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -33505,55 +34752,74 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "DepositorAgreementTransition", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequest", + "description": "A request for depositor access to a given submission target.\n", + "fields": [ { - "name": "subtitle", - "description": "A human-readable subtitle for the entity.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "summary", - "description": "A description of the contents of the entity.\n", + "name": "canTransition", + "description": "Whether the current user can approve or reject the request.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "thumbnail", - "description": "A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc.", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ImageAttachment", + "name": "AuthorizationResult", "ofType": null } }, @@ -33561,98 +34827,39 @@ "deprecationReason": null }, { - "name": "thumbnailMetadata", - "description": "Configurable metadata for the thumbnail attachment", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "A human-readable title for the entity.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Accessible", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "EntityBase", - "ofType": null }, { - "kind": "INTERFACE", - "name": "ExposesPermissions", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasEntityBreadcrumbs", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasSchemaProperties", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Searchable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Community", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "EntityBase", - "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs", - "fields": [ - { - "name": "slug", + "name": "id", "description": null, "args": [], "type": { @@ -33660,7 +34867,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ID", "ofType": null } }, @@ -33668,20 +34875,8 @@ "deprecationReason": null }, { - "name": "subtitle", - "description": "A human-readable subtitle for the entity.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "summary", - "description": "A description of the contents of the entity.\n", + "name": "message", + "description": "An optional message from the requester, which may be provided when making the depositor request and may be visible to management.\n", "args": [], "type": { "kind": "SCALAR", @@ -33692,64 +34887,31 @@ "deprecationReason": null }, { - "name": "title", - "description": "A human-readable title for the entity.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Slug", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null }, { - "kind": "OBJECT", - "name": "Community", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "EntityBreadcrumb", - "description": null, - "fields": [ - { - "name": "crumb", - "description": null, + "name": "state", + "description": "The current state of this depositor request.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "ENUM", + "name": "DepositorRequestState", "ofType": null } }, @@ -33757,15 +34919,15 @@ "deprecationReason": null }, { - "name": "depth", - "description": null, + "name": "submissionTarget", + "description": "The submission target that this depositor request is for.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "SubmissionTarget", "ofType": null } }, @@ -33773,15 +34935,100 @@ "deprecationReason": null }, { - "name": "id", - "description": null, - "args": [], + "name": "transitions", + "description": "The state transitions for this depositor request.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "DepositorRequestTransitionConnection", "ofType": null } }, @@ -33789,15 +35036,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityKind", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -33805,15 +35052,15 @@ "deprecationReason": null }, { - "name": "label", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, @@ -33821,15 +35068,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "user", + "description": "The user that made this depositor request.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "User", "ofType": null } }, @@ -33839,82 +35086,98 @@ ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null } ], "enumValues": null, "possibleTypes": null }, { - "kind": "OBJECT", - "name": "EntityDescendant", - "description": "A descendant of an `Entity`.", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "DepositorRequestChangeStateInput", + "description": "Autogenerated input type of DepositorRequestChangeState", + "fields": null, + "inputFields": [ { - "name": "descendant", - "description": "The actual descendant entity", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "relativeDepth", - "description": "The relative depth of this entity from its ancestor", - "args": [], + "name": "depositorRequestId", + "description": "The depositor request to update.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "scope", - "description": "The scope of this entity relative to its ancestor", - "args": [], + "name": "toState", + "description": "The state to transition the depositor request to. Valid states are `approved` and `rejected`.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "EntityScope", + "name": "DepositorRequestState", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "EntityDescendantConnection", - "description": "The connection type for EntityDescendant.", + "name": "DepositorRequestChangeStatePayload", + "description": "Autogenerated return type of DepositorRequestChangeState.", "fields": [ { - "name": "edges", - "description": "A list of edges.", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -33927,7 +35190,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityDescendantEdge", + "name": "MutationAttributeError", "ofType": null } } @@ -33937,8 +35200,32 @@ "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositorRequest", + "description": "The newly-modified depositor request, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -33951,37 +35238,57 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityDescendant", + "name": "UserError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PageInfo", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "Paginated", + "name": "StandardMutationPayload", "ofType": null } ], @@ -33990,35 +35297,67 @@ }, { "kind": "OBJECT", - "name": "EntityDescendantEdge", - "description": "An edge in a connection.", + "name": "DepositorRequestConnection", + "description": "The connection type for DepositorRequest.", "fields": [ { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DepositorRequestEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityDescendant", + "name": "PageInfo", "ofType": null } }, @@ -34027,253 +35366,363 @@ } ], "inputFields": null, - "interfaces": [], + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "EntityDescendantOrder", - "description": "Sort entity descendants by specific attributes and order", + "kind": "INPUT_OBJECT", + "name": "DepositorRequestCreateInput", + "description": "Autogenerated input type of DepositorRequestCreate", "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "PUBLISHED_ASCENDING", - "description": "Sort descendants by oldest published date (or OLDEST for communities)", - "isDeprecated": false, - "deprecationReason": null - }, + "inputFields": [ { - "name": "PUBLISHED_DESCENDING", - "description": "Sort descendants by newest published date (or RECENT for communities)", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "TITLE_ASCENDING", - "description": "Sort descendants by title A-Z", + "name": "message", + "description": "An optional message to include with the depositor request.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "TITLE_DESCENDING", - "description": "Sort descendants by title Z-A", + "name": "submissionTargetId", + "description": "The ID of the submission target for which to create the depositor request.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], + "interfaces": null, + "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "EntityDescendantScopeFilter", - "description": "This enum is used to filter the type(s) of descendants to include\nin a set of results.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ALL", - "description": "This will include anything regardless of type.\n", - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "OBJECT", + "name": "DepositorRequestCreatePayload", + "description": "Autogenerated return type of DepositorRequestCreate.", + "fields": [ { - "name": "ANY_ENTITY", - "description": "This will include all `Collection`s and `Item`s that are direct descendants and not linked.\n", + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ANY_LINK", - "description": "This will include any _linked_ `Collection`s or `Item`s.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "COLLECTION", - "description": "This will include only directly descending `Collection`s, no links.\n", + "name": "depositorRequest", + "description": "The newly-modified depositor request, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "COLLECTION_OR_LINK", - "description": "This will include any descendant `Collection`s, whether or not it is a link.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ITEM", - "description": "This will include only directly descending `Item`s, no links.\n", - "isDeprecated": false, - "deprecationReason": null + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "ITEM_OR_LINK", - "description": "This will include any descendant `Item`s, whether or not it is a link.\n", + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "LINKED_COLLECTION", - "description": "This will only descendant `Collection`s that are linked.\n", + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "LINKED_ITEM", - "description": "This will only descendant `Item`s that are linked.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null } ], + "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "EntityKind", - "description": "An enumeration of the different kinds of hierarchical entities", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "COLLECTION", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "OBJECT", + "name": "DepositorRequestEdge", + "description": "An edge in a connection for `DepositorRequest`.\n", + "fields": [ { - "name": "COMMUNITY", - "description": null, + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ITEM", - "description": null, + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null } ], + "inputFields": null, + "interfaces": [], + "enumValues": null, "possibleTypes": null }, { - "kind": "OBJECT", - "name": "EntityLayouts", - "description": "An accessor for pulling up layout instances for a given entity.\n", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "DepositorRequestFilterInput", + "description": "Filtering options for `DepositorRequest` records.\n", + "fields": null, + "inputFields": [ { - "name": "hero", - "description": "The `HERO` layout instance for this entity.\n", - "args": [], + "name": "createdAt", + "description": "Filter the model's `created_at` with time constraints.\n", "type": { - "kind": "OBJECT", - "name": "HeroLayoutInstance", + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "listItem", - "description": "The `LIST_ITEM` layout instance for this entity.\n", - "args": [], + "name": "inState", + "description": "Filter by in state.\n", "type": { - "kind": "OBJECT", - "name": "ListItemLayoutInstance", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DepositorRequestState", + "ofType": null + } + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "main", - "description": "The `MAIN` layout instance for this entity.\n", - "args": [], + "name": "updatedAt", + "description": "Filter the model's `updated_at` with time constraints.\n", "type": { - "kind": "OBJECT", - "name": "MainLayoutInstance", + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", "ofType": null }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DepositorRequestOrder", + "description": "Sort a collection of `DepositorRequest` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort depositor requests by their default order.", "isDeprecated": false, "deprecationReason": null }, { - "name": "metadata", - "description": "The `METADATA` layout instance for this entity.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "MetadataLayoutInstance", - "ofType": null - }, + "name": "OLDEST", + "description": "Sort depositor requests by oldest created date.", "isDeprecated": false, "deprecationReason": null }, { - "name": "navigation", - "description": "The `NAVIGATION` layout instance for this entity.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "NavigationLayoutInstance", - "ofType": null - }, + "name": "RECENT", + "description": "Sort depositor requests by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DepositorRequestState", + "description": "Depositor request state enum\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPROVED", + "description": "", "isDeprecated": false, "deprecationReason": null }, { - "name": "renderedInline", - "description": "Whether the render happened inline when requesting this entity.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, + "name": "PENDING", + "description": "", "isDeprecated": false, "deprecationReason": null }, { - "name": "supplementary", - "description": "The `SUPPLEMENTARY` layout instance for this entity.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "SupplementaryLayoutInstance", - "ofType": null - }, + "name": "REJECTED", + "description": "", "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], - "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "EntityLink", - "description": "A link between different entities", + "name": "DepositorRequestTransition", + "description": "A transition for a `DepositorRequest`.\n", "fields": [ { - "name": "createdAt", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -34281,15 +35730,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -34297,15 +35746,15 @@ "deprecationReason": null }, { - "name": "operator", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityLinkOperator", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -34313,15 +35762,15 @@ "deprecationReason": null }, { - "name": "scope", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityLinkScope", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -34329,31 +35778,27 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "fromState", + "description": "The state that the submission target is transitioning from. This will be null if the submission target is being created.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } + "kind": "ENUM", + "name": "DepositorRequestState", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "source", + "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -34361,51 +35806,47 @@ "deprecationReason": null }, { - "name": "sourceCollection", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sourceCommunity", - "description": null, + "name": "mostRecent", + "description": "Whether this is the most recent transition.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "Community", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "sourceItem", - "description": null, + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "Item", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "target", - "description": null, + "name": "toState", + "description": "The state that the submission target is transitioning to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "ENUM", + "name": "DepositorRequestState", "ofType": null } }, @@ -34413,68 +35854,75 @@ "deprecationReason": null }, { - "name": "targetCollection", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { - "kind": "OBJECT", - "name": "Collection", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "targetCommunity", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "OBJECT", - "name": "Community", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "targetItem", - "description": null, + "name": "user", + "description": "The user who performed the transition, if available.\n\nSome transitions may happen through automated processes, so the user will not always be set.\n", "args": [], "type": { "kind": "OBJECT", - "name": "Item", + "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "Node", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "OrderingEntryable", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonTransition", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", "ofType": null }, { @@ -34488,8 +35936,8 @@ }, { "kind": "OBJECT", - "name": "EntityLinkConnection", - "description": "The connection type for EntityLink.", + "name": "DepositorRequestTransitionConnection", + "description": "The connection type for DepositorRequestTransition.", "fields": [ { "name": "edges", @@ -34506,7 +35954,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityLinkEdge", + "name": "DepositorRequestTransitionEdge", "ofType": null } } @@ -34530,7 +35978,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityLink", + "name": "DepositorRequestTransition", "ofType": null } } @@ -34569,8 +36017,8 @@ }, { "kind": "OBJECT", - "name": "EntityLinkEdge", - "description": "An edge in a connection.", + "name": "DepositorRequestTransitionEdge", + "description": "An edge in a connection for `DepositorRequestTransition`.\n", "fields": [ { "name": "cursor", @@ -34597,7 +36045,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityLink", + "name": "DepositorRequestTransition", "ofType": null } }, @@ -34612,21 +36060,27 @@ }, { "kind": "ENUM", - "name": "EntityLinkOperator", - "description": "A link operator describes how a source is linked to its target", + "name": "DescendantListBackground", + "description": "An enumerated value associated with the templating subsystem.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "CONTAINS", - "description": null, + "name": "DARK", + "description": "A dark gradient is applied to the background of this template.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "REFERENCES", - "description": null, + "name": "LIGHT", + "description": "A light gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No background is applied to this template.\n", "isDeprecated": false, "deprecationReason": null } @@ -34635,63 +36089,33 @@ }, { "kind": "ENUM", - "name": "EntityLinkScope", - "description": "A link scope succinctly describes the source and target types", + "name": "DescendantListSelectionMode", + "description": "An enum used to control the mode of selection for a descendant list template.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "COLLECTION_LINKED_COLLECTION", - "description": "A link to a collection from another collection", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COLLECTION_LINKED_COMMUNITY", - "description": "A link to a community from a collection", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COLLECTION_LINKED_ITEM", - "description": "A link to an item from a community", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMMUNITY_LINKED_COLLECTION", - "description": "A link to a collection not directly owned by a community", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMMUNITY_LINKED_COMMUNITY", - "description": "A link to a community from another community", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMMUNITY_LINKED_ITEM", - "description": "A link to an item from a community", + "name": "DYNAMIC", + "description": "Render descendants from a dynamic ordering, determined at query time.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "ITEM_LINKED_COLLECTION", - "description": "A link to a collection from an item", + "name": "MANUAL", + "description": "Render descendants from a manual ordering set on each individual entity. See `manualListName` for how this works.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "ITEM_LINKED_COMMUNITY", - "description": "A link to a community from an item", + "name": "NAMED", + "description": "Render descendants from a named ordering that exists on the source entity.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "ITEM_LINKED_ITEM", - "description": "A link to an item from another item", + "name": "PROPERTY", + "description": "Render entities from a schema property on the source entity.\n", "isDeprecated": false, "deprecationReason": null } @@ -34699,144 +36123,92 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "EntityOrder", - "description": "Sort entities by a specific property and order", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "OLDEST", - "description": "Sort entities by oldest created date", - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "OBJECT", + "name": "DescendantListTemplateDefinition", + "description": null, + "fields": [ { - "name": "POSITION_ASCENDING", - "description": "Sort communities by position 0-9; other entities by RECENT", + "name": "background", + "description": "The background gradient to use for this template. Affects presentation.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "DescendantListBackground", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "POSITION_DESCENDING", - "description": "Sort communities by position 9-0; other entities by OLDEST", + "name": "browseStyle", + "description": "A boolean used to describe list templates that should match browse style as close as possible.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "PUBLISHED_ASCENDING", - "description": "Sort entities by oldest published date (or OLDEST for communities)", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "PUBLISHED_DESCENDING", - "description": "Sort entities by newest published date (or RECENT for communities)", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort entities by newest created date", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCHEMA_NAME_ASCENDING", - "description": "Sort entities by the name of their schema A-Z", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCHEMA_NAME_DESCENDING", - "description": "Sort entities by the name of their schema Z-A", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "TITLE_ASCENDING", - "description": "Sort entities by title A-Z", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "TITLE_DESCENDING", - "description": "Sort entities by title Z-A", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "EntityPermissionFilter", - "description": "When retrieving lists of entities, sometimes it is helpful to only show\nentities that the current user (or related user) has access to.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "READ_ONLY", - "description": "Show only the entities that a user has specific read access for—this allows\nthem to view the full record as opposed to just what appears in the frontend.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SKIP", - "description": "A default value that skips checking for access. It will retrieve every\nentity visible to the current user.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UPDATE", - "description": "Show entities that a user has the ability to update.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "EntityPermissionGrid", - "description": "A grid of permissions for various hierarchical entity scopes.", - "fields": [ - { - "name": "allowedActions", - "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "assets", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AssetPermissionGrid", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -34844,23 +36216,31 @@ "deprecationReason": null }, { - "name": "create", - "description": null, + "name": "dynamicOrderingDefinition", + "description": "When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure\nas schemas to define a dynamic ordering that is resolved at runtime and based\non the `selectionSource`.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "OBJECT", + "name": "OrderingDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "delete", + "name": "entityContext", + "description": "Enumerate how much context to show when listing entities.\n\nReplaces `showEntityContext`.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "ListEntityContext", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", "description": null, "args": [], "type": { @@ -34868,7 +36248,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, @@ -34876,15 +36256,15 @@ "deprecationReason": null }, { - "name": "manageAccess", + "name": "layoutKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, @@ -34892,258 +36272,219 @@ "deprecationReason": null }, { - "name": "permissions", - "description": "An array of hashes that can be requested to load in a context", + "name": "manualListName", + "description": "When `selectionMode` is set to `MANUAL`, the purpose of this property\nis to specify a name under which all the manual selections (per entity)\nwill be stored. This allows a layout to have multiple templates of the\nsame type using different lists, that will persist across rearrangements\nof the layout _without_ losing connections between entities.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PermissionGrant", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "read", - "description": null, + "name": "orderingIdentifier", + "description": "When `selectionMode` is set to `NAMED`, this will look up the named ordering\non the resolved `selectionSource` and render up to `selectionLimit` entities.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "update", - "description": null, + "name": "seeAllButtonLabel", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "CRUDPermissionGrid", - "ofType": null }, { - "kind": "INTERFACE", - "name": "ExposesPermissions", - "ofType": null + "name": "seeAllOrderingIdentifier", + "description": "If provided, this will expose an ordering on the template instance that can\nbe used to generate a link to the ordering in the frontend.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "PermissionGrid", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "EntityProperty", - "description": "A property that references another entity within the system.\n", - "fields": [ + "name": "selectionFallbackMode", + "description": "The fallback mode to use when rendering a list of entities, when the list from\n`selectionMode` is empty and `useSelectionFallback` has been set to true.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "DescendantListSelectionMode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "selectionLimit", + "description": "Regardless of `selectionMode`, this limit will be applied on whatever resulting\nlist of entities are produced, so that only up to that amount of entities are\nrendered in the template proper.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "availableEntities", - "description": "Expose all available entities for this schema property.\n", + "name": "selectionMode", + "description": "The default mode to use when rendering a list of entities.\n\nSee also `selectionFallbackMode` and `useSelectionFallback`.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntitySelectOption", - "ofType": null - } - } - } + "kind": "ENUM", + "name": "DescendantListSelectionMode", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "name": "selectionPropertyPath", + "description": "When `selectionMode` is set to `PROPERTY`, this should be set to the full path\nfor a given schema property on the associated `selectionSource`\n", "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "SchemaPropertyPath", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entity", - "description": "A single reference to another entity within the system.\n", + "name": "selectionSource", + "description": "When selecting entities based on `selectionMode`, this property determines\nwhich entity (relevant to the rendering entity) should be used for lookups.\n\nBy default, it is `self`, which means the rendering entity itself.\n\nIt can also support things like `ancestor.journal`, `ancestor.issue`, etc.,\nin order to render a list of values in its parent.\n", "args": [], "type": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "SCALAR", + "name": "TemplateSelectionSource", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "selectionSourceAncestorName", + "description": "The derived name of the ancestor used for the `selectionSource`.\n\nExposed for introspection only.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "selectionSourceMode", + "description": "An enum representing what mode `selectionSource` is in. Not directly set,\nit is used internally for lookups.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", - "ofType": null - } + "kind": "ENUM", + "name": "SelectionSourceMode", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "selectionUnbounded", + "description": "When true, this takes priority over `selectionLimit`. It allows an entire\nmatching list of records to be retrieved. It should be used with caution,\nsince very large entity trees could cause responses to be slow.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "showContributors", + "description": "Show contributors when listing entities.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the schema property.\n", + "name": "showEntityContext", + "description": "Show additional context about each entity in the selection.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use entity_context enum instead" + }, + { + "name": "showHeroImage", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "showNestedEntities", + "description": "Show nested items from the associated listItemLayouts in order to generate\na two-tier list.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "showSeeAllButton", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use seeAllOrdering on the instance instead." + }, + { + "name": "slots", + "description": "Slot definitions for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "DescendantListTemplateDefinitionSlots", "ofType": null } }, @@ -35151,15 +36492,15 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -35167,242 +36508,132 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "templateKind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyType", + "name": "TemplateKind", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "HasAvailableEntities", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ScalarProperty", - "ofType": null }, { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "EntityPurgeInput", - "description": "Autogenerated input type of EntityPurge", - "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "title", + "description": "", + "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityId", - "description": "The entity to destroy.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601DateTime", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "EntityPurgePayload", - "description": "Autogenerated return type of EntityPurge.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "useSelectionFallback", + "description": "Controls whether or not to use `selectionFallbackMode` if the entity list returned\nvia `selectionMode` turns out to be empty at runtime.\n", "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "name": "variant", + "description": "The variant rendering mode to use for this template. Affects presentation.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "DescendantListVariant", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyedId", - "description": "The ID of the deleted model", + "name": "width", + "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "TemplateWidth", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "entity", - "description": "The root entity that is to be purged.\n\nNote that it may not exist for very long.\n", - "args": [], - "type": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null }, { - "name": "errors", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } - } - }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" - }, - { - "name": "globalErrors", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null }, { - "name": "haltCode", - "description": "Not presently used", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "Node", + "ofType": null }, - { - "name": "jobEnqueued", - "description": "Whether or not a job was enqueued.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ { "kind": "INTERFACE", - "name": "DestroyMutationPayload", + "name": "Sluggable", "ofType": null }, { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "TemplateDefinition", "ofType": null } ], @@ -35410,127 +36641,143 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "EntityScope", - "description": "This type is used for authorization and filtering, and can\ndistinguish an entity that has been linked to another from\none that exists directly in a hierarchy.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "COLLECTION", - "description": "A `Collection` that is an actual descendant at this point in the hierarchy.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COLLECTION_LINKED_COLLECTION", - "description": "A `Collection` that was linked from another `Collection`.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COLLECTION_LINKED_COMMUNITY", - "description": "A `Community` that was linked from a `Collection`.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COLLECTION_LINKED_ITEM", - "description": "An `Item` that was linked from a `Collection`.\n", - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "OBJECT", + "name": "DescendantListTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", + "fields": [ { - "name": "COMMUNITY", - "description": "A `Community` that is an actual descendant at this point in the hierarchy.\n", + "name": "blockHeader", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "COMMUNITY_LINKED_COLLECTION", - "description": "A `Collection` that was linked from a `Community`.\n", + "name": "blockHeaderFallback", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "COMMUNITY_LINKED_COMMUNITY", - "description": "A `Community` that was linked from another `Community`.\n", + "name": "header", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "COMMUNITY_LINKED_ITEM", - "description": "An `Item` that was linked from a `Community`.\n", + "name": "headerAside", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ITEM", - "description": "An `Item` that is an actual descendant at this point in the hierarchy.\n", + "name": "headerFallback", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ITEM_LINKED_COLLECTION", - "description": "A `Collection` that was linked from an `Item`.\n", + "name": "listContext", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ITEM_LINKED_COMMUNITY", - "description": "A `Community` that was linked from an `Item`.\n", + "name": "metadata", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ITEM_LINKED_ITEM", - "description": "An `Item` that was linked from another `Item`.\n", + "name": "subtitle", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null } ], + "inputFields": null, + "interfaces": [], + "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "EntitySelectOption", - "description": "A select option for a single entity", + "name": "DescendantListTemplateInstance", + "description": null, "fields": [ { - "name": "breadcrumbs", - "description": "Previous entries in the hierarchy", + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntityBreadcrumb", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entity", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -35538,15 +36785,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityKind", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -35554,15 +36801,15 @@ "deprecationReason": null }, { - "name": "label", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, @@ -35570,15 +36817,15 @@ "deprecationReason": null }, { - "name": "schemaVersion", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaVersion", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -35586,15 +36833,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "definition", + "description": "Load the associated definition for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "DescendantListTemplateDefinition", "ofType": null } }, @@ -35602,175 +36849,100 @@ "deprecationReason": null }, { - "name": "value", - "description": null, + "name": "entity", + "description": "The associated entity for this template instance.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "HasEntityBreadcrumbs", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "EntityVisibility", - "description": "The level of visibility an entity can have", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "HIDDEN", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIMITED", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "VISIBLE", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "EntityVisibilityFilter", - "description": "Filter entities by their visibility.\n\n`VISIBLE` is the default in most cases. Any other option requires special privileges.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ALL", - "description": "Do not filter entities by their visibility at all.", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "HIDDEN", - "description": "Fetch only *currently hidden* entities.", + "name": "entityList", + "description": "The list of entities to render as part of this template's content.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateEntityList", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "VISIBLE", - "description": "Fetch only *currently visible* entities.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "EqualsOperatorInput", - "description": "Require that `path = value`.\n", - "fields": null, - "inputFields": [ - { - "name": "path", - "description": null, + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "value", + "name": "id", "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "JSON", + "name": "ID", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "ExposesEffectiveAccess", - "description": null, - "fields": [ + }, + { + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "effectiveAccess", - "description": "User-specific access permissions for this object.\n", + "name": "layoutKind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "EffectiveAccess", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Role", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "ExposesPermissions", - "description": null, - "fields": [ + }, { - "name": "allowedActions", - "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", "args": [], "type": { "kind": "NON_NULL", @@ -35782,8 +36954,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateInstanceSibling", "ofType": null } } @@ -35793,8 +36965,8 @@ "deprecationReason": null }, { - "name": "permissions", - "description": "An array of hashes that can be requested to load in a context", + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", "args": [], "type": { "kind": "NON_NULL", @@ -35807,7 +36979,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "PermissionGrant", + "name": "TemplateInstanceSibling", "ofType": null } } @@ -35815,89 +36987,45 @@ }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "AccessControlList", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AssetPermissionGrid", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Community", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContextualPermission", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EffectiveAccess", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EntityPermissionGrid", - "ofType": null }, { - "kind": "OBJECT", - "name": "GlobalAccessControlList", - "ofType": null + "name": "seeAllOrdering", + "description": "The ordering to render for a \"see all\" link.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "Item", - "ofType": null + "name": "slots", + "description": "Rendered slots for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DescendantListTemplateInstanceSlots", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - ] - }, - { - "kind": "SCALAR", - "name": "Float", - "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "FloatProperty", - "description": null, - "fields": [ - { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -35905,140 +37033,267 @@ "deprecationReason": null }, { - "name": "defaultFloat", + "name": "templateKind", "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "Float", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateHasEntityList", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateHasSeeAllOrdering", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateInstance", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DescendantListTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", + "fields": [ + { + "name": "blockHeader", "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "floatValue", + "name": "blockHeaderFallback", "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "Float", + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "header", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "headerAside", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "headerFallback", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "listContext", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "label", + "name": "metadata", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "subtitle", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DescendantListVariant", + "description": "An enum used to control how a descendant list template should be rendered.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CARDS", + "description": "A card list of entities.\n", + "isDeprecated": false, + "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "COMPACT", + "description": "A compact list of entities.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GRID", + "description": "A grid of entities\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROMOS", + "description": "A horizontal list of entities with promotional header.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUMMARY", + "description": "A vertical, summarized list of entities.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TREE", + "description": "A tree structure.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "DescribesSchema", + "description": "The most basic shared properties for a single schema, whether a definition,\na version, or an aggregate based on the former types.\n", + "fields": [ + { + "name": "declaration", + "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", "args": [], "type": { "kind": "NON_NULL", @@ -36053,15 +37308,15 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "identifier", + "description": "A unique (per-namespace) value that names the schema within the system.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -36069,32 +37324,24 @@ "deprecationReason": null }, { - "name": "searchOperators", - "description": null, + "name": "kind", + "description": "The kind of entity this schema applies to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SearchOperator", - "ofType": null - } - } + "kind": "ENUM", + "name": "SchemaKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "searchPath", - "description": null, + "name": "name", + "description": "A human-readable name for the schema.\n", "args": [], "type": { "kind": "NON_NULL", @@ -36109,15 +37356,15 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "namespace", + "description": "A unique namespace the schema lives in.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -36126,47 +37373,40 @@ } ], "inputFields": null, - "interfaces": [ + "interfaces": [], + "enumValues": null, + "possibleTypes": [ { - "kind": "INTERFACE", - "name": "ScalarProperty", + "kind": "OBJECT", + "name": "HierarchicalSchemaRank", "ofType": null }, { - "kind": "INTERFACE", - "name": "SchemaProperty", + "kind": "OBJECT", + "name": "HierarchicalSchemaVersionRank", "ofType": null }, { - "kind": "INTERFACE", - "name": "SearchableProperty", + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersion", "ofType": null } - ], - "enumValues": null, - "possibleTypes": null + ] }, { "kind": "INPUT_OBJECT", - "name": "FrontendCacheRevalidateEntityInput", - "description": "Autogenerated input type of FrontendCacheRevalidateEntity", + "name": "DestroyAnnouncementInput", + "description": "Autogenerated input type of DestroyAnnouncement", "fields": null, "inputFields": [ { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "entityId", - "description": "The entity to update.\n", + "name": "announcementId", + "description": null, "type": { "kind": "NON_NULL", "name": null, @@ -36179,6 +37419,18 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } ], "interfaces": null, @@ -36187,8 +37439,8 @@ }, { "kind": "OBJECT", - "name": "FrontendCacheRevalidateEntityPayload", - "description": "Autogenerated return type of FrontendCacheRevalidateEntity.", + "name": "DestroyAnnouncementPayload", + "description": "Autogenerated return type of DestroyAnnouncement.", "fields": [ { "name": "attributeErrors", @@ -36226,6 +37478,30 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "errors", "description": null, @@ -36285,22 +37561,15 @@ }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "revalidated", - "description": "Whether the revalidation request was successfully performed.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null + }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -36312,10 +37581,26 @@ }, { "kind": "INPUT_OBJECT", - "name": "FrontendCacheRevalidateInstanceInput", - "description": "Autogenerated input type of FrontendCacheRevalidateInstance", + "name": "DestroyAssetInput", + "description": "Autogenerated input type of DestroyAsset", "fields": null, "inputFields": [ + { + "name": "assetId", + "description": "The ID for the asset to destroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", @@ -36335,8 +37620,8 @@ }, { "kind": "OBJECT", - "name": "FrontendCacheRevalidateInstancePayload", - "description": "Autogenerated return type of FrontendCacheRevalidateInstance.", + "name": "DestroyAssetPayload", + "description": "Autogenerated return type of DestroyAsset.", "fields": [ { "name": "attributeErrors", @@ -36374,6 +37659,30 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "errors", "description": null, @@ -36433,22 +37742,15 @@ }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "revalidated", - "description": "Whether the revalidation request was successfully performed.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null + }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -36459,105 +37761,76 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "FullText", - "description": "A full-text searchable value for an entity", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "DestroyCollectionInput", + "description": "Autogenerated input type of DestroyCollection", + "fields": null, + "inputFields": [ { - "name": "content", - "description": "The full-text searchable value itself", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "The content type for the text, if any", - "args": [], - "type": { - "kind": "ENUM", - "name": "FullTextKind", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lang", - "description": "The ISO-639 language code of this content, if any", - "args": [], + "name": "collectionId", + "description": "The ID for the collection to destroy", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "FullTextKind", - "description": "It is necessary for the system to know what kind the content is in order to properly index it", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "kind": "OBJECT", + "name": "DestroyCollectionPayload", + "description": "Autogenerated return type of DestroyCollection.", + "fields": [ { - "name": "HTML", + "name": "attributeErrors", "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MARKDOWN", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "TEXT", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "FullTextProperty", - "description": null, - "fields": [ - { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", @@ -36568,147 +37841,31 @@ "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "fullText", - "description": null, + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", "args": [], "type": { - "kind": "OBJECT", - "name": "FullText", + "kind": "SCALAR", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "label", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "destroyedId", + "description": "The ID of the deleted model", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "ID", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "searchOperators", + "name": "errors", "description": null, "args": [], "type": { @@ -36721,44 +37878,48 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SearchOperator", + "kind": "OBJECT", + "name": "UserError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "searchPath", + "name": "globalErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -36768,17 +37929,12 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "ScalarProperty", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "SchemaProperty", + "name": "DestroyMutationPayload", "ofType": null }, { "kind": "INTERFACE", - "name": "SearchableProperty", + "name": "StandardMutationPayload", "ofType": null } ], @@ -36786,195 +37942,165 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "GlobalAccessControlList", - "description": "A global ACL", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "DestroyCommunityInput", + "description": "Autogenerated input type of DestroyCommunity", + "fields": null, + "inputFields": [ { - "name": "allowedActions", - "description": "A list of allowed actions for the given user on this entity (and its descendants).", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "permissions", - "description": "An array of hashes that can be requested to load in a context", - "args": [], + "name": "communityId", + "description": "The ID for the community to destroy", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PermissionGrant", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ExposesPermissions", - "ofType": null - } - ], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "GlobalConfiguration", - "description": "The global configuration for this installation of Meru.", + "name": "DestroyCommunityPayload", + "description": "Autogenerated return type of DestroyCommunity.", "fields": [ { - "name": "contributionRoles", - "description": "Global configuration for contribution roles.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ContributionRoleConfiguration", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entities", - "description": "Settings specific to how entities should behave on this installation.", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntitiesSettings", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "institution", - "description": "Settings specific to this institution.", + "name": "destroyedId", + "description": "The ID of the deleted model", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "InstitutionSettings", - "ofType": null - } + "kind": "SCALAR", + "name": "ID", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "logo", - "description": "The logo attachment. It may not always be present.", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SiteLogoAttachment", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "logoMetadata", - "description": "Configurable metadata for the logo attachment.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "site", - "description": "Settings specific to this site", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SiteSettings", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "theme", - "description": "Settings specific to the site's theme", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ThemeSettings", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -36984,7 +38110,12 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", + "name": "DestroyMutationPayload", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", "ofType": null } ], @@ -36993,8 +38124,8 @@ }, { "kind": "INPUT_OBJECT", - "name": "GrantAccessInput", - "description": "Autogenerated input type of GrantAccess", + "name": "DestroyContributionInput", + "description": "Autogenerated input type of DestroyContribution", "fields": null, "inputFields": [ { @@ -37010,39 +38141,7 @@ "deprecationReason": null }, { - "name": "entityId", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "roleId", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", + "name": "contributionId", "description": null, "type": { "kind": "NON_NULL", @@ -37064,8 +38163,8 @@ }, { "kind": "OBJECT", - "name": "GrantAccessPayload", - "description": "Autogenerated return type of GrantAccess.", + "name": "DestroyContributionPayload", + "description": "Autogenerated return type of DestroyContribution.", "fields": [ { "name": "attributeErrors", @@ -37104,12 +38203,24 @@ "deprecationReason": null }, { - "name": "entity", - "description": null, + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", "args": [], "type": { - "kind": "UNION", - "name": "AnyEntity", + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", "ofType": null }, "isDeprecated": false, @@ -37163,18 +38274,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "granted", - "description": "Whether or not access was granted", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "haltCode", "description": "Not presently used", @@ -37190,6 +38289,11 @@ ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null + }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -37200,29 +38304,76 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "GroupProperty", - "description": "A schema property that groups other schema properties together underneath a `path`.\n", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "DestroyContributorInput", + "description": "Autogenerated input type of DestroyContributor", + "fields": null, + "inputFields": [ { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributorId", + "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyContributorPayload", + "description": "Autogenerated return type of DestroyContributor.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", @@ -37233,40 +38384,80 @@ "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "legend", - "description": "The legend / label for this group property.", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { "kind": "SCALAR", @@ -37275,42 +38466,131 @@ }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyEntityLinkInput", + "description": "Autogenerated input type of DestroyEntityLink", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", - "args": [], + "name": "entityLinkId", + "description": "The ID for the EntityLink to destroy", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyEntityLinkPayload", + "description": "Autogenerated return type of DestroyEntityLink.", + "fields": [ { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "properties", - "description": "The list of (scalar) schema properties contained within this group.", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -37322,44 +38602,48 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "ScalarProperty", + "kind": "OBJECT", + "name": "UserError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "required", - "description": "Whether this property is required to have a value.", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -37369,7 +38653,12 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "SchemaProperty", + "name": "DestroyMutationPayload", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", "ofType": null } ], @@ -37377,97 +38666,136 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "HarvestAttempt", - "description": "A record of a single attempt at harvesting.\n", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "DestroyItemInput", + "description": "Autogenerated input type of DestroyItem", + "fields": null, + "inputFields": [ { - "name": "beganAt", - "description": "The time the attempt began.\n", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, - "args": [], + "name": "itemId", + "description": "The ID for the item to destroy", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyItemPayload", + "description": "Autogenerated return type of DestroyItem.", + "fields": [ { - "name": "currentState", - "description": "The current state of the attempt.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestAttemptState", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "endedAt", - "description": "The time the attempt ended.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityStatus", - "description": "A progress report for entity data during a harvest attempt.\n", + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestAttemptEntityStatus", + "kind": "SCALAR", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "harvestErrors", - "description": "A list of errors that are associated with this harvesting type.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -37480,7 +38808,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestError", + "name": "MutationGlobalError", "ofType": null } } @@ -37490,342 +38818,320 @@ "deprecationReason": null }, { - "name": "harvestMapping", - "description": "An optional mapping that may have constrained the harvest attempt.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestMapping", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null }, { - "name": "harvestMessages", + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "description": "This mutation destroys a model", + "fields": [ + { + "name": "attributeErrors", "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", - "type": { - "kind": "LIST", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - } + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestMessageConnection", - "ofType": null + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestRecords", - "description": "Records associated with this attempt specifically.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestRecordOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestRecordConnection", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSet", - "description": "An optional set that may have constrained the harvest attempt.\n", + "name": "destroyedId", + "description": "The ID of the deleted model", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSet", + "kind": "SCALAR", + "name": "ID", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSource", - "description": "The source associated with the attempt.\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "id", + "name": "globalErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "metadataFormat", - "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ContributorUserLinkDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyAnnouncementPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyAssetPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyCollectionPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyCommunityPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyContributionPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyContributorPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyEntityLinkPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyItemPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyOrderingPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyPagePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityPurgePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMappingDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMappingDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourceDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PermalinkDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionCommentDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerDestroyPayload", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyOrderingInput", + "description": "Autogenerated input type of DestroyOrdering", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderingId", + "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyOrderingPayload", + "description": "Autogenerated return type of DestroyOrdering.", + "fields": [ { - "name": "mode", - "description": "Whether this attempt is `MANUAL` or `SCHEDULED`. This field is not set\nthrough the admin section, but derived from how the attempt was created.\n\n`SCHEDULED` attempts are created by Meru internally\nbased on their `harvestMapping`'s configuration.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestScheduleMode", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "note", - "description": "An optional note for this harvesting attempt.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", @@ -37836,85 +39142,97 @@ "deprecationReason": null }, { - "name": "recordCount", - "description": "The number of records (if available).\n", + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "recordStatus", - "description": "A progress report for record data during a harvest attempt.\n", + "name": "destroyedId", + "description": "The ID of the deleted model", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestAttemptRecordStatus", + "kind": "SCALAR", + "name": "ID", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "scheduledAt", - "description": "This specifies the time the attempt is scheduled to run at, if the `mode` is `SCHEDULED`.\n", + "name": "disabled", + "description": null, "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", + "name": "errors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "targetEntity", - "description": "The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "HarvestTarget", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -37924,32 +39242,12 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "HasHarvestErrors", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestExtractionMappingTemplate", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestMetadataFormat", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestMessage", + "name": "DestroyMutationPayload", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "StandardMutationPayload", "ofType": null } ], @@ -37957,39 +39255,54 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "HarvestAttemptConnection", - "description": "The connection type for HarvestAttempt.", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "DestroyPageInput", + "description": "Autogenerated input type of DestroyPage", + "fields": null, + "inputFields": [ { - "name": "edges", - "description": "A list of edges.", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestAttemptEdge", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", - "args": [], - "type": { + "name": "pageId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyPagePayload", + "description": "Autogenerated return type of DestroyPage.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { "kind": "NON_NULL", "name": null, "ofType": { @@ -38000,7 +39313,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestAttempt", + "name": "MutationAttributeError", "ofType": null } } @@ -38010,27 +39323,112 @@ "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PageInfo", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "Paginated", + "name": "DestroyMutationPayload", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", "ofType": null } ], @@ -38038,92 +39436,86 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "HarvestAttemptEdge", - "description": "An edge in a connection.", - "fields": [ + "kind": "ENUM", + "name": "DetailBackground", + "description": "An enumerated value associated with the templating subsystem.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "cursor", - "description": "A cursor for use in pagination.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, + "name": "DARK", + "description": "A dark gradient is applied to the background of this template.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null - } - }, + "name": "LIGHT", + "description": "A light gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No background is applied to this template.\n", "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], - "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "HarvestAttemptEntityStatus", - "description": "A progress report for entity data during a harvest attempt.\n", + "name": "DetailTemplateDefinition", + "description": null, "fields": [ { - "name": "assetsDurationAverage", - "description": "Average time to fetch assets for a given entity in seconds (may be used in ETA calculations in the future).\n", + "name": "background", + "description": "The background gradient to use for this template. Affects presentation.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Float", + "kind": "ENUM", + "name": "DetailBackground", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "assetsEta", - "description": "A (very) rough estimate of when the assets might be fully extracted.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "completion", - "description": "The percentage of completion based on current data expressed as a float between 0.0 and 1.0.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Float", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -38137,6 +39529,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "id", "description": null, @@ -38154,15 +39562,15 @@ "deprecationReason": null }, { - "name": "slug", + "name": "layoutKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, @@ -38170,69 +39578,93 @@ "deprecationReason": null }, { - "name": "totalEntities", - "description": "Total number of entities extracted for this attempt.\n", + "name": "showAnnouncements", + "description": "", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "totalEntitiesSuccess", - "description": "Total number of entities that have been successfully extracted.\n", + "name": "showBody", + "description": "Whether to show and use the 'body' slot on a detail view.\nPrimarily intended for items with copious text to display.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "totalEntitiesWaitingForAssets", - "description": "Total number of entities that are waiting for assets to be fetched.\n", + "name": "showHeroImage", + "description": "", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "totalEntitiesWaitingForUpsert", - "description": "Total number of entities that are pending upsert.\n", + "name": "slots", + "description": "Slot definitions for this template.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DetailTemplateDefinitionSlots", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "totalEntitiesWithAssets", - "description": "Total number of entities extracted for this attempt that have 1 or more assets attached.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", + "name": "templateKind", "description": null, "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -38246,24 +39678,40 @@ "deprecationReason": null }, { - "name": "upsertDurationAverage", - "description": "Average time to upsert a given entity in seconds (may be used in ETA calculations in the future).\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "SCALAR", - "name": "Float", + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The variant rendering mode to use for this template. Affects presentation.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "DetailVariant", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "upsertEta", - "description": "A (very) rough estimate of when the entities might be fully upserted.\n", + "name": "width", + "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "ENUM", + "name": "TemplateWidth", "ofType": null }, "isDeprecated": false, @@ -38272,6 +39720,21 @@ ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -38281,186 +39744,112 @@ "kind": "INTERFACE", "name": "Sluggable", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateDefinition", + "ofType": null } ], "enumValues": null, "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "HarvestAttemptFromMappingInput", - "description": "Autogenerated input type of HarvestAttemptFromMapping", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "DetailTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", + "fields": [ { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "body", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", "ofType": null }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "harvestMappingId", - "description": "The harvest mapping to update.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "note", - "description": "An optional note for this harvesting attempt.\n", + "name": "header", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttemptFromMappingPayload", - "description": "Autogenerated return type of HarvestAttemptFromMapping.", - "fields": [ + }, { - "name": "attributeErrors", + "name": "itemsA", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "itemsB", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", + "name": "itemsC", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", + "name": "itemsD", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "subheader", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestAttempt", - "description": "The newly-modified harvest mapping, if successful.\n", + "name": "summary", + "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "HarvestAttempt", + "name": "TemplateSlotBlockDefinition", "ofType": null }, "isDeprecated": false, @@ -38468,340 +39857,214 @@ } ], "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], + "interfaces": [], "enumValues": null, "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "HarvestAttemptFromSourceInput", - "description": "Autogenerated input type of HarvestAttemptFromSource", - "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "OBJECT", + "name": "DetailTemplateInstance", + "description": null, + "fields": [ { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSetId", - "description": "An optional set to restrict the attempt to.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSourceId", - "description": "The harvest source to use as the base.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "note", - "description": "An optional note for this harvesting attempt.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "targetEntityId", - "description": "The community or collection to target for the harvest.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601Date", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttemptFromSourcePayload", - "description": "Autogenerated return type of HarvestAttemptFromSource.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "definition", + "description": "Load the associated definition for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "DetailTemplateDefinition", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "entity", + "description": "The associated entity for this template instance.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", + "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", "args": [], "type": { "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "harvestAttempt", - "description": "The newly created harvest attempt record, if successful.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "HarvestAttempt", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSource", - "description": "The newly-modified harvest source, if successful.\n", + "name": "layoutKind", + "description": null, "args": [], - "type": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "HarvestAttemptOrder", - "description": "Sort a collection of `HarvestAttempt` records by specific properties and directions.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Sort harvest attempts by their default order.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OLDEST", - "description": "Sort harvest attempts by oldest created date.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "RECENT", - "description": "Sort harvest attempts by newest created date.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestAttemptPruneEntitiesInput", - "description": "Autogenerated input type of HarvestAttemptPruneEntities", - "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "harvestAttemptId", - "description": "The harvest attempt to update.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "mode", - "description": "Whether to prune `PRISTINE` or **all** harvested entities.\n", + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestPruneMode", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttemptPruneEntitiesPayload", - "description": "Autogenerated return type of HarvestAttemptPruneEntities.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", "args": [], "type": { "kind": "NON_NULL", @@ -38814,7 +40077,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "MutationAttributeError", + "name": "TemplateInstanceSibling", "ofType": null } } @@ -38824,85 +40087,81 @@ "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "slots", + "description": "Rendered slots for this template.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DetailTemplateInstanceSlots", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Slug", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", + "name": "templateKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestAttempt", - "description": "The harvest attempt, if successful.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -38912,7 +40171,37 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateInstance", "ofType": null } ], @@ -38921,197 +40210,157 @@ }, { "kind": "OBJECT", - "name": "HarvestAttemptRecordStatus", - "description": "A progress report for record data during a harvest attempt.\n", + "name": "DetailTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", "fields": [ { - "name": "completion", - "description": "The percentage of completion based on current data expressed as a float between 0.0 and 1.0.\n", + "name": "body", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "Float", + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", + "name": "header", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "extractionDurationAverage", - "description": "Average time to extract a given record in seconds (may be used in ETA calculations in the future).\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Float", + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", + "name": "itemsA", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", + "name": "itemsB", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "totalRecords", - "description": "Total number of records extracted for this attempt.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "totalRecordsSuccess", - "description": "Total number of records that have been successfully extracted.\n", + "name": "itemsC", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "totalRecordsWaitingForExtraction", - "description": "Total number of records that are pending extraction (which will then be harvest entities).\n", + "name": "itemsD", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "totalRecordsWaitingForUpsert", - "description": "Total number of records that are waiting on their entities to be complete.\nThis could include waiting for assets to be fetched.\n", + "name": "subheader", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", + "name": "summary", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], + "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", - "name": "HarvestAttemptState", - "description": "The state that an attempt is in.\n", + "name": "DetailVariant", + "description": "An enum used to control how a detail template should be rendered.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "CANCELLED", - "description": "A scheduled attempt that was cancelled.\n", + "name": "COLUMNS", + "description": "A columnar display format for entity details, similar to metadata.\n\nIt will make use of the `items*` slots in order to render the content.\n\nSee the `hideMetadata` property on the navigation template for an\noptimal use case with moving metadata from its own tab over to the\nmain layout.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "EXECUTING", - "description": "An attempt that is in the process of extracting records.\n\nA failed extraction may linger in this state.\n", + "name": "FULL", + "description": "Display 'full' detail about the entity.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "EXTRACTED", - "description": "An attempt whose entities have all been extracted from the source.\n", + "name": "SUMMARY", + "description": "Display detail about the entity in a summarized fashion.\n", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "Direction", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "PENDING", - "description": "An attempt that has not yet extracted anything.\n", + "name": "ASCENDING", + "description": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "SCHEDULED", - "description": "A scheduled attempt for a specific mapping that has not yet ran.\n", + "name": "DESCENDING", + "description": null, "isDeprecated": false, "deprecationReason": null } @@ -39119,155 +40368,32 @@ "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "HarvestAttemptable", - "description": "A record that can be used to trigger a run of the harvesting\nsubsystem via `harvestStart`.\n", + "kind": "OBJECT", + "name": "EmailProperty", + "description": null, "fields": [ { - "name": "harvestAttempts", - "description": "Harvest attempts associated with this record.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestAttemptOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "address", + "description": null, + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestAttemptConnection", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null }, { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "HarvestEntity", - "description": "A staged entity extracted from a `HarvestRecord`, that\ncan then be associated to an actual entity by the\nharvesting process.\n", - "fields": [ - { - "name": "createdAt", - "description": null, + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null } }, @@ -39275,144 +40401,39 @@ "deprecationReason": null }, { - "name": "entity", - "description": "The real entity this is associated with (if available).\n", + "name": "defaultAddress", + "description": null, "args": [], "type": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMessages", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMessageConnection", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -39420,15 +40441,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "SchemaPropertyFunction", "ofType": null } }, @@ -39436,15 +40457,27 @@ "deprecationReason": null }, { - "name": "identifier", - "description": "A unique identifier for the staged entity within the context of its `HarvestRecord`.\n", + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, @@ -39452,15 +40485,15 @@ "deprecationReason": null }, { - "name": "leaf", - "description": "Whether this staged entity is a leaf (has no children).\n", + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "SchemaPropertyKind", "ofType": null } }, @@ -39468,27 +40501,31 @@ "deprecationReason": null }, { - "name": "parent", - "description": "The parent staged entity (if applicable).\n", + "name": "label", + "description": "A human-readable label for the schema property.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestEntity", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "relativeDepth", - "description": "The relative depth of the staged entity (based on the attempt's `targetEntity`).\n", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "Boolean", "ofType": null } }, @@ -39496,15 +40533,15 @@ "deprecationReason": null }, { - "name": "root", - "description": "Whether this staged entity is a root (has no parent).\n", + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -39512,27 +40549,31 @@ "deprecationReason": null }, { - "name": "schemaVersion", - "description": "The schema version that this will use (if available).\n", + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "Boolean", "ofType": null } }, @@ -39540,15 +40581,15 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "ENUM", + "name": "SchemaPropertyType", "ofType": null } }, @@ -39560,17 +40601,12 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestMessage", + "name": "ScalarProperty", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "SchemaProperty", "ofType": null } ], @@ -39579,31 +40615,19 @@ }, { "kind": "OBJECT", - "name": "HarvestError", - "description": "An error that may occur during the harvesting process.\n", + "name": "EntitiesProperty", + "description": "A property that references a deterministically-ordered list of entities.\n", "fields": [ { - "name": "code", - "description": "A machine code that identifies the error for reprocessing and debugging.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null } }, @@ -39611,24 +40635,32 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "availableEntities", + "description": "Expose all available entities for this schema property.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntitySelectOption", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "message", - "description": "A more descriptive issue of the message, if available.\n", + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", "args": [], "type": { "kind": "SCALAR", @@ -39639,31 +40671,39 @@ "deprecationReason": null }, { - "name": "metadata", - "description": "Raw metadata for the error. Should be displayed as inspectable JSON.\n", + "name": "entities", + "description": "A deterministically-ordered list of entities.\n\nGiven the same input, this array will always be returned in the same order.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "JSON", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "String", "ofType": null } }, @@ -39671,46 +40711,36 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "ENUM", + "name": "SchemaPropertyFunction", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + }, { - "kind": "INTERFACE", - "name": "Node", - "ofType": null + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestExample", - "description": "An example of various harvesting configurations, particularly extraction mapping templates.\n", - "fields": [ - { - "name": "default", - "description": "Whether this should be considered a \"default\" example\nfor a given metadata / protocol combination.\n", + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", "args": [], "type": { "kind": "NON_NULL", @@ -39725,20 +40755,24 @@ "deprecationReason": null }, { - "name": "description", - "description": "A description about the example, if available.\n", + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "extractionMappingTemplate", - "description": "The example's extraction mapping template which can be applied to harvest sources, mappings, and attempts.\n", + "name": "label", + "description": "A human-readable label for the schema property.\n", "args": [], "type": { "kind": "NON_NULL", @@ -39753,8 +40787,8 @@ "deprecationReason": null }, { - "name": "generic", - "description": "Whether this is a generic example that is not tied\nto any specific protocol nor metadata format.\n", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { "kind": "NON_NULL", @@ -39769,15 +40803,15 @@ "deprecationReason": null }, { - "name": "id", - "description": "The ID for the example.\n", + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, @@ -39785,27 +40819,15 @@ "deprecationReason": null }, { - "name": "metadataFormatName", - "description": "The metadata format this example applies to.\n\nIt can be blank if the example is not metadata-specific.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "The human-readable name for the example.\n", + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, @@ -39813,60 +40835,32 @@ "deprecationReason": null }, { - "name": "protocolName", - "description": "The protocol this example applies to.\n\nIt can be blank if the example is not protocol-specific.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "HarvestProtocol", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schemaDeclarations", - "description": "A list of schema declarations that the mapping template can generate.\n", + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaVersions", - "description": "A list of schema versions that the mapping template can generate.\n", + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } - } + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null } }, "isDeprecated": false, @@ -39874,62 +40868,84 @@ } ], "inputFields": null, - "interfaces": [], + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasAvailableEntities", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "HarvestMapping", - "description": "A specific mapping to be used by a `HarvestSource`,\npossibly an optional `HarvestSet`, and other options\nin order to harvest records from the source and produce\nentities.\n\nIt can produce a `HarvestAttempt`.\n", + "name": "EntitiesSettings", + "description": "Settings specific to how entities should behave on this installation.\n", "fields": [ { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", + "name": "suppressExternalLinks", + "description": "Whether external links should be suppressed in certain schema field types.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EntitiesSettingsInput", + "description": "An object for updating EntitiesSettings.\n", + "fields": null, + "inputFields": [ { - "name": "frequencyExpression", - "description": "This can be a cron expression as well as a human-readable expression like\n`\"every sunday at 5 am America/Los_Angeles\"`.\nThe system will attempt to validate and parse the expression when setting\nit in order to make sure it is something that Meru can handle.\n", - "args": [], + "name": "suppressExternalLinks", + "description": "Whether external links should be suppressed in certain schema field types.\n", "type": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null }, + "defaultValue": "false", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Entity", + "description": "An entity that exists in the hierarchy.\n", + "fields": [ { - "name": "harvestAttempts", - "description": "Attempts produced by this mapping.\n", + "name": "allAccessGrants", + "description": "A polymorphic connection for access grants from an entity", "args": [ { "name": "after", @@ -39984,10 +41000,10 @@ "description": null, "type": { "kind": "ENUM", - "name": "HarvestAttemptOrder", + "name": "SimpleOrder", "ofType": null }, - "defaultValue": "DEFAULT", + "defaultValue": "RECENT", "isDeprecated": false, "deprecationReason": null }, @@ -40026,6 +41042,18 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "subject", + "description": null, + "type": { + "kind": "ENUM", + "name": "AccessGrantSubjectFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null } ], "type": { @@ -40033,7 +41061,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestAttemptConnection", + "name": "AnyAccessGrantConnection", "ofType": null } }, @@ -40041,8 +41069,61 @@ "deprecationReason": null }, { - "name": "harvestMessages", - "description": null, + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "announcement", + "description": "Look up an announcement for this entity by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Announcement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "announcements", + "description": "A list of announcements associated with this entity.\n", "args": [ { "name": "after", @@ -40068,18 +41149,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, { "name": "first", "description": "Returns the first _n_ elements from the list.", @@ -40105,22 +41174,14 @@ "deprecationReason": null }, { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "name": "order", + "description": null, "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - } - } + "kind": "ENUM", + "name": "AnnouncementOrder", + "ofType": null }, - "defaultValue": "[]", + "defaultValue": "RECENT", "isDeprecated": false, "deprecationReason": null }, @@ -40166,7 +41227,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestMessageConnection", + "name": "AnnouncementConnection", "ofType": null } }, @@ -40174,8 +41235,56 @@ "deprecationReason": null }, { - "name": "harvestRecords", - "description": "Records associated with this mapping.\n", + "name": "applicableRoles", + "description": "The role(s) that gave the permissions to access this resource, if any.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Role", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignableRoles", + "description": "The role(s) that the current user could assign to other users on this entity, if applicable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Role", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedUsers", + "description": "Retrieve a list of user & role assignments for this entity", "args": [ { "name": "after", @@ -40230,10 +41339,10 @@ "description": null, "type": { "kind": "ENUM", - "name": "HarvestRecordOrder", + "name": "ContextualPermissionOrder", "ofType": null }, - "defaultValue": "DEFAULT", + "defaultValue": "USER_NAME_ASC", "isDeprecated": false, "deprecationReason": null }, @@ -40279,7 +41388,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestRecordConnection", + "name": "ContextualPermissionConnection", "ofType": null } }, @@ -40287,27 +41396,39 @@ "deprecationReason": null }, { - "name": "harvestSet", - "description": "The optionally-associated harvest set for this mapping.\n", + "name": "breadcrumbs", + "description": "Previous entries in the hierarchy", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSet", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityBreadcrumb", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSource", - "description": "The harvest source this belongs to.\n", + "name": "canAlterSchemaVersion", + "description": "Whether the current user has permission to alter the schema version of this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestSource", + "name": "AuthorizationResult", "ofType": null } }, @@ -40315,15 +41436,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "canCreateAssets", + "description": "Whether the current user has permission to create assets under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -40331,27 +41452,15 @@ "deprecationReason": null }, { - "name": "lastScheduledAt", - "description": "This timestamp signifies when the harvest mapping last tried to schedule its\nattempts (if applicable).\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "mappingOptions", - "description": "Options that control mapping of entities during the harvesting process.\n", + "name": "canCreateCollections", + "description": "Whether the current user has permission to create collections under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestOptionsMapping", + "name": "AuthorizationResult", "ofType": null } }, @@ -40359,15 +41468,15 @@ "deprecationReason": null }, { - "name": "metadataFormat", - "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", + "name": "canCreateItems", + "description": "Whether the current user has permission to create items under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -40375,15 +41484,15 @@ "deprecationReason": null }, { - "name": "mode", - "description": "Whether this mapping is `MANUAL` or `SCHEDULED`. This field is not set\nthrough the admin section, but derived from parsing the mapping's\n`frequencyExpression`.\n\n`SCHEDULED` mappings will automatically create `HarvestAttempt`s\nfor the next several iterations of their `frequencyExpression`.\n", + "name": "canDeposit", + "description": "Whether the current user has permission to deposit a new entity into this one.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestScheduleMode", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -40391,15 +41500,15 @@ "deprecationReason": null }, { - "name": "readOptions", - "description": "Options that control reading from the source.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestOptionsRead", + "name": "AuthorizationResult", "ofType": null } }, @@ -40407,27 +41516,31 @@ "deprecationReason": null }, { - "name": "scheduleChangedAt", - "description": "This timestamp signifies the last time the frequency expression, or any\nof its derived fields, were changed.\n", + "name": "canManageAccess", + "description": "Whether the current user has permission to manage access to this entity.\n\nThis opens up `grantAccess` and `revokeAccess` mutations.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "scheduleData", - "description": "Derived information about the frequency expression (if valid and applicable),\nto provide insight for introspection.\n", + "name": "canPurge", + "description": "Whether the current user has permission to purge this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestScheduleData", + "name": "AuthorizationResult", "ofType": null } }, @@ -40435,15 +41548,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "canReparent", + "description": "Whether the current user has permission to reparent this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -40451,15 +41564,15 @@ "deprecationReason": null }, { - "name": "targetEntity", - "description": "The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified.\n", + "name": "canRevalidate", + "description": "Whether the current user has permission to revalidate this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "HarvestTarget", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -40467,205 +41580,246 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "canReview", + "description": "Whether the current user has permission to review deposits to this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "HarvestAttemptable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestExtractionMappingTemplate", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestMetadataFormat", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestOptions", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestMessage", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestMappingConnection", - "description": "The connection type for HarvestMapping.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestMappingEdge", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, + "name": "descendants", + "description": "All descendants of this entity, regardless of type.\n\nCommunities and collections can both contain collections and items. Items will only contain items.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxDepth", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMapping", + "kind": "ENUM", + "name": "EntityDescendantOrder", "ofType": null } - } + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schema", + "description": "Filter by a namespace.name schema identifier", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scope", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityDescendantScopeFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageInfo", - "description": "Information to aid in pagination.", - "args": [], + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "PageInfo", + "name": "EntityDescendantConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestMappingCreateInput", - "description": "Autogenerated input type of HarvestMappingCreate", - "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null }, { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", + "name": "heroImage", + "description": "A hero image for the entity, suitable for displaying in page headers", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "ImageAttachment", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "frequencyExpression", - "description": "This can be a cron expression as well as a human-readable expression like\n`\"every sunday at 5 am America/Los_Angeles\"`.\nThe system will attempt to validate and parse the expression when setting\nit in order to make sure it is something that Meru can handle.\n", + "name": "heroImageMetadata", + "description": "Configurable metadata for the hero_image attachment", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "ImageMetadata", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSetId", - "description": "An optional set to associate with the mapping.\n\nThis cannot be changed since mappings are intricately tied to their set (if applicable).\n", + "name": "hierarchicalDepth", + "description": "The depth of the hierarchical entity, taking into account any parent types.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSourceId", - "description": "The harvest source to create the mapping for.\n\nThis cannot be changed since mappings are intricately tied to sources.\n", + "name": "id", + "description": "ID of the object.", + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -40675,243 +41829,607 @@ "ofType": null } }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "mappingOptions", - "description": "Options that control mapping of entities during the harvesting process.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsMappingInput", - "ofType": null - }, - "defaultValue": "{autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false}", "isDeprecated": false, "deprecationReason": null }, { - "name": "metadataFormat", - "description": "The metadata format for this mapping to use, which can be different from the Harvest Source.\n\nIt should default to whatever the harvest source uses.\n", + "name": "layouts", + "description": "Access layouts for this entity.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", + "kind": "OBJECT", + "name": "EntityLayouts", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "readOptions", - "description": "Options that control reading from the source.\n", + "name": "linkTargetCandidates", + "description": "Available link targets for this entity.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "LinkTargetCandidateFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsReadInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LinkTargetCandidateConnection", + "ofType": null + } }, - "defaultValue": "{maxRecords: 80000}", "isDeprecated": false, "deprecationReason": null }, { - "name": "targetEntityId", - "description": "The community or collection to target for this mapping.\n\nThis can be changed if the mapping needs to be retargeted in the hierarchy.\n", + "name": "links", + "description": "Links from this entity to other entities, along with metadata about those links.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "EntityLinkConnection", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestMappingCreatePayload", - "description": "Autogenerated return type of HarvestMappingCreate.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "markedForPurge", + "description": "Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "errors", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { + "name": "ordering", + "description": "Look up an ordering for this entity by identifier", + "args": [ + { + "name": "identifier", + "description": null, + "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "UserError", + "kind": "SCALAR", + "name": "String", "ofType": null } - } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } + ], + "type": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { + "name": "orderingForSchema", + "description": "Look up an ordering that is set up to handle a specific schema.", + "args": [ + { + "name": "slug", + "description": "This should be of the `namespace:identifier` format.", + "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", + "kind": "SCALAR", + "name": "Slug", "ofType": null } - } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "haltCode", - "description": "Not presently used", - "args": [], + ], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Ordering", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMapping", - "description": "The newly-modified harvest mapping, if successful.\n", - "args": [], + "name": "orderings", + "description": "A list of orderings associated with this entity.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availability", + "description": "Optionally filter orderings by whether they are enabled or disabled.", + "type": { + "kind": "ENUM", + "name": "OrderingAvailabilityFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "OrderingOrder", + "ofType": null + }, + "defaultValue": "DETERMINISTIC", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Optionally filter orderings by whether they are visible or hidden.", + "type": { + "kind": "ENUM", + "name": "OrderingVisibilityFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingConnection", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestMappingDestroyInput", - "description": "Autogenerated input type of HarvestMappingDestroy", - "fields": null, - "inputFields": [ + }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "page", + "description": "Look up a page for this entity by slug", + "args": [ + { + "name": "slug", + "description": "**Note**: Unlike most other model types, a page's slug is just a string\nas opposed to our custom `Slug` type. They are not designed to be\nopaque, but instead be something human-readable that can appear in URIs.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Page", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMappingId", - "description": "The harvest mapping to destroy.\n", + "name": "pages", + "description": "A list of pages associated with this entity.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "PageConnection", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestMappingDestroyPayload", - "description": "Autogenerated return type of HarvestMappingDestroy.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", "args": [], "type": { "kind": "NON_NULL", @@ -40924,7 +42442,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "MutationAttributeError", + "name": "PermissionGrant", "ofType": null } } @@ -40934,44 +42452,24 @@ "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "destroyedId", - "description": "The ID of the deleted model", + "name": "schemaDefinition", + "description": "The schema definition that this entity conforms to.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "schemaProperties", + "description": "A list of schema properties associated with this instance or version.\n", "args": [], "type": { "kind": "NON_NULL", @@ -40983,19 +42481,19 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "UserError", + "kind": "INTERFACE", + "name": "SchemaProperty", "ofType": null } } } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "schemaRanks", + "description": "The hierarchical schema ranks for this entity, which compute the overall structure\nof its descendants by schema definition.\n", "args": [], "type": { "kind": "NON_NULL", @@ -41008,7 +42506,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "MutationGlobalError", + "name": "HierarchicalSchemaRank", "ofType": null } } @@ -41018,49 +42516,56 @@ "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "schemaVersion", + "description": "The schema version that this entity conforms to.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null }, { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestMappingEdge", - "description": "An edge in a connection.", - "fields": [ - { - "name": "cursor", - "description": "A cursor for use in pagination.", - "args": [], + "name": "search", + "description": "Search from this level of the API using it as the origin", + "args": [ + { + "name": "maxDepth", + "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", + "type": { + "kind": "ENUM", + "name": "EntityVisibilityFilter", + "ofType": null + }, + "defaultValue": "VISIBLE", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "SearchScope", "ofType": null } }, @@ -41068,195 +42573,224 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMapping", + "kind": "SCALAR", + "name": "Slug", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "HarvestMappingOrder", - "description": "Sort a collection of `HarvestMapping` records by specific properties and directions.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Sort harvest mappings by their default order.", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "OLDEST", - "description": "Sort harvest mappings by oldest created date.", + "name": "submissionStatus", + "description": "THe current submission status of this entity. Is it a draft, published, or unrelated?\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntitySubmissionStatus", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort harvest mappings by newest created date.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestMappingUpdateInput", - "description": "Autogenerated input type of HarvestMappingUpdate", - "fields": null, - "inputFields": [ - { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "submissionTarget", + "description": "The submission target that this entity can be submitted to, if any.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "SubmissionTarget", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", + "name": "subtitle", + "description": "A human-readable subtitle for the entity.\n", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "frequencyExpression", - "description": "This can be a cron expression as well as a human-readable expression like\n`\"every sunday at 5 am America/Los_Angeles\"`.\nThe system will attempt to validate and parse the expression when setting\nit in order to make sure it is something that Meru can handle.\n", + "name": "summary", + "description": "A description of the contents of the entity.\n", + "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMappingId", - "description": "The harvest mapping to update.\n", + "name": "thumbnail", + "description": "A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "ImageAttachment", "ofType": null } }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "mappingOptions", - "description": "Options that control mapping of entities during the harvesting process.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsMappingInput", - "ofType": null - }, - "defaultValue": "{autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false}", "isDeprecated": false, "deprecationReason": null }, { - "name": "readOptions", - "description": "Options that control reading from the source.\n", + "name": "thumbnailMetadata", + "description": "Configurable metadata for the thumbnail attachment", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsReadInput", + "kind": "OBJECT", + "name": "ImageMetadata", "ofType": null }, - "defaultValue": "{maxRecords: 80000}", "isDeprecated": false, "deprecationReason": null }, { - "name": "targetEntityId", - "description": "The community or collection to target for this mapping.\n\nThis can be changed if the mapping needs to be retargeted in the hierarchy.\n", + "name": "title", + "description": "A human-readable title for the entity.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Accessible", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityBase", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityContextualPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEntityBreadcrumbs", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasSchemaProperties", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Searchable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Submittable", + "ofType": null + } + ], "enumValues": null, - "possibleTypes": null + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] }, { - "kind": "OBJECT", - "name": "HarvestMappingUpdatePayload", - "description": "Autogenerated return type of HarvestMappingUpdate.", + "kind": "INTERFACE", + "name": "EntityBase", + "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs.\n", "fields": [ { - "name": "attributeErrors", - "description": null, + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Slug", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "subtitle", + "description": "A human-readable subtitle for the entity.\n", "args": [], "type": { "kind": "SCALAR", @@ -41267,56 +42801,8 @@ "deprecationReason": null }, { - "name": "errors", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } - } - }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" - }, - { - "name": "globalErrors", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "haltCode", - "description": "Not presently used", + "name": "summary", + "description": "A description of the contents of the entity.\n", "args": [], "type": { "kind": "SCALAR", @@ -41327,13 +42813,17 @@ "deprecationReason": null }, { - "name": "harvestMapping", - "description": "The newly-modified harvest mapping, if successful.\n", + "name": "title", + "description": "A human-readable title for the entity.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -41343,28 +42833,44 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "Sluggable", "ofType": null } ], "enumValues": null, - "possibleTypes": null + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] }, { "kind": "OBJECT", - "name": "HarvestMessage", - "description": "A single log message recorded during some aspect of harvesting.\n", + "name": "EntityBreadcrumb", + "description": null, "fields": [ { - "name": "at", - "description": "The time the message occurred. This field should be favored at\nfor display over the model's default `createdAt` field.\n", + "name": "crumb", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -41372,7 +42878,7 @@ "deprecationReason": null }, { - "name": "createdAt", + "name": "depth", "description": null, "args": [], "type": { @@ -41380,73 +42886,13 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, - { - "name": "harvestAttempt", - "description": "The harvest attempt associatd with the message, if available.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "harvestEntity", - "description": "The harvest entity associatd with the message, if available.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "HarvestEntity", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "harvestMapping", - "description": "The harvest mapping associatd with the message, if available.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "harvestRecord", - "description": "The harvest record associatd with the message, if available.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "HarvestRecord", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "harvestSource", - "description": "The harvest source associated with the message.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "id", "description": null, @@ -41464,15 +42910,15 @@ "deprecationReason": null }, { - "name": "level", - "description": "The level of severity of the message.\n", + "name": "kind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "HarvestMessageLevel", + "name": "EntityKind", "ofType": null } }, @@ -41480,8 +42926,8 @@ "deprecationReason": null }, { - "name": "message", - "description": "The message itself.\n", + "name": "label", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -41504,16 +42950,33 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "tags", - "description": "Tags associated with the message. This may describe what section\nof the harvesting system triggered the message, and may support\nquerying in the future.\n", + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "EntityContextualPermissions", + "description": "A common interface for something that exposes contextual permissions.\n", + "fields": [ + { + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", "args": [], "type": { "kind": "NON_NULL", @@ -41536,46 +42999,8 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestMessageConnection", - "description": "The connection type for HarvestMessage.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", + "name": "applicableRoles", + "description": "The role(s) that gave the permissions to access this resource, if any.", "args": [], "type": { "kind": "NON_NULL", @@ -41588,7 +43013,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestMessageEdge", + "name": "Role", "ofType": null } } @@ -41598,8 +43023,8 @@ "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "assignableRoles", + "description": "The role(s) that the current user could assign to other users on this entity, if applicable.", "args": [], "type": { "kind": "NON_NULL", @@ -41612,7 +43037,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestMessage", + "name": "Role", "ofType": null } } @@ -41622,16 +43047,24 @@ "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PageInfo", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } } }, "isDeprecated": false, @@ -41642,28 +43075,44 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Paginated", + "name": "ExposesPermissions", "ofType": null } ], "enumValues": null, - "possibleTypes": null + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] }, { "kind": "OBJECT", - "name": "HarvestMessageEdge", - "description": "An edge in a connection.", + "name": "EntityDescendant", + "description": "A descendant of an `Entity`.", "fields": [ { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "descendant", + "description": "The actual descendant entity", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -41671,15 +43120,31 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "relativeDepth", + "description": "The relative depth of this entity from its ancestor", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMessage", + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scope", + "description": "The scope of this entity relative to its ancestor", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntityScope", "ofType": null } }, @@ -41693,69 +43158,158 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "description": "Filters for HarvestMessage.\n", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "EntityDescendantConnection", + "description": "The connection type for EntityDescendant.", + "fields": [ { - "name": "severity", - "description": null, + "name": "edges", + "description": "A list of edges.", + "args": [], "type": { - "kind": "ENUM", - "name": "HarvestMessageLevel", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityDescendantEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityDescendant", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "HarvestMessageLevel", - "description": "Levels of severity associated with `HarvestMessage`s.\n\n`FATAL` is the most severe, `TRACE` is the least.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "kind": "OBJECT", + "name": "EntityDescendantEdge", + "description": "An edge in a connection.", + "fields": [ { - "name": "DEBUG", - "description": "Debug information about the harvesting system.\n\nMay be hidden by default when displaying.\n", + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ERROR", - "description": "An error that may or may not have interrupted a harvesting operation,\nbut could, for instance, just indicate that a single record failed.\n", + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityDescendant", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EntityDescendantOrder", + "description": "Sort entity descendants by specific attributes and order", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "FATAL", - "description": "A fatal error which likely caused an entire harvesting operation to stop.\n", + "name": "PUBLISHED_ASCENDING", + "description": "Sort descendants by oldest published date (or OLDEST for communities)", "isDeprecated": false, "deprecationReason": null }, { - "name": "INFO", - "description": "Informational messages that are higher priority than debug messages.\n", + "name": "PUBLISHED_DESCENDING", + "description": "Sort descendants by newest published date (or RECENT for communities)", "isDeprecated": false, "deprecationReason": null }, { - "name": "TRACE", - "description": "Very low-level trace messages that may be used in the future\nto narrow down specific / performance issues with harvesting,\nbut at present likely won't appear.\n\nShould be hidden by default when displaying.\n", + "name": "TITLE_ASCENDING", + "description": "Sort descendants by title A-Z", "isDeprecated": false, "deprecationReason": null }, { - "name": "WARN", - "description": "Warnings about validation failures and similar things.\n", + "name": "TITLE_DESCENDING", + "description": "Sort descendants by title Z-A", "isDeprecated": false, "deprecationReason": null } @@ -41764,45 +43318,92 @@ }, { "kind": "ENUM", - "name": "HarvestMetadataFormat", - "description": "Supported metadata formats for harvesting.\n\n`HarvestProtocol` describes the transport method for individual records to be harvested,\nwhile `HarvestMetadataFormat` describes the structure of the data.\n", + "name": "EntityDescendantScopeFilter", + "description": "This enum is used to filter the type(s) of descendants to include\nin a set of results.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "ESPLORO", - "description": "[Esploro Records](https://developers.exlibrisgroup.com/esploro/apis/xsd/esploro_record.xsd/)\n", + "name": "ALL", + "description": "This will include anything regardless of type.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "JATS", - "description": "[Journal Article Tag Suite](https://jats.nlm.nih.gov/)\n", + "name": "ANY_ENTITY", + "description": "This will include all `Collection`s and `Item`s that are direct descendants and not linked.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "METS", - "description": "[Metadata Encoding and Transmission Standard](https://www.loc.gov/standards/mets/)\n", + "name": "ANY_LINK", + "description": "This will include any _linked_ `Collection`s or `Item`s.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "MODS", - "description": "[Metadata Object Description Schema](https://www.loc.gov/standards/mods/)\n", + "name": "COLLECTION", + "description": "This will include only directly descending `Collection`s, no links.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "OAIDC", - "description": "[OAI-PMH Dublin Core](https://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#dublincore)\n", + "name": "COLLECTION_OR_LINK", + "description": "This will include any descendant `Collection`s, whether or not it is a link.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "PRESSBOOKS", - "description": "Pressbooks 'Book' response\n", + "name": "ITEM", + "description": "This will include only directly descending `Item`s, no links.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_OR_LINK", + "description": "This will include any descendant `Item`s, whether or not it is a link.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_COLLECTION", + "description": "This will only descendant `Collection`s that are linked.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_ITEM", + "description": "This will only descendant `Item`s that are linked.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EntityKind", + "description": "An enumeration of the different kinds of hierarchical entities", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM", + "description": null, "isDeprecated": false, "deprecationReason": null } @@ -41811,99 +43412,79 @@ }, { "kind": "OBJECT", - "name": "HarvestMetadataMapping", - "description": "An advanced definition that allows mapping specific existing entities to act as parents\nfor certain harvested entities, based on their metadata matching a specific mapping.\n", + "name": "EntityLayouts", + "description": "An accessor for pulling up layout instances for a given entity.\n", "fields": [ { - "name": "createdAt", - "description": null, + "name": "hero", + "description": "The `HERO` layout instance for this entity.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "HeroLayoutInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "field", - "description": "Which \"field\" this should try to match its `pattern` against.\n", + "name": "listItem", + "description": "The `LIST_ITEM` layout instance for this entity.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HarvestMetadataMappingField", - "ofType": null - } + "kind": "OBJECT", + "name": "ListItemLayoutInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "main", + "description": "The `MAIN` layout instance for this entity.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "OBJECT", + "name": "MainLayoutInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pattern", - "description": "A regular expression / pattern to match against. Must be written to support postgres regular expressions,\nwhich are more limited than most modern languages but follow the ANSI spec as much as possible.\n", + "name": "metadata", + "description": "The `METADATA` layout instance for this entity.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "MetadataLayoutInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "navigation", + "description": "The `NAVIGATION` layout instance for this entity.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } + "kind": "OBJECT", + "name": "NavigationLayoutInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "targetEntity", - "description": "The entity that will act as the parent when this metadata mapping is matched.\n", + "name": "renderedInline", + "description": "Whether the render happened inline when requesting this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "HarvestTarget", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -41911,438 +43492,337 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "supplementary", + "description": "The `SUPPLEMENTARY` layout instance for this entity.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "SupplementaryLayoutInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], + "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "HarvestMetadataMappingConnection", - "description": "The connection type for HarvestMetadataMapping.", + "name": "EntityLink", + "description": "A link between different entities", "fields": [ { - "name": "edges", - "description": "A list of edges.", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestMetadataMappingEdge", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestMetadataMapping", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PageInfo", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestMetadataMappingCreateInput", - "description": "Autogenerated input type of HarvestMetadataMappingCreate", - "fields": null, - "inputFields": [ + }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "field", - "description": "Which \"field\" this should try to match its `pattern` against.\n", + "name": "id", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestMetadataMappingField", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSourceId", - "description": "The source to create the harvest metadata mapping for.\n", + "name": "operator", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "EntityLinkOperator", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "pattern", - "description": "A regular expression / pattern to match against. Must be written to support postgres regular expressions,\nwhich are more limited than most modern languages but follow the ANSI spec as much as possible.\n", + "name": "scope", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "EntityLinkScope", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "targetEntityId", - "description": "The entity that will act as the parent when this metadata mapping is matched.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Slug", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestMetadataMappingCreatePayload", - "description": "Autogenerated return type of HarvestMetadataMappingCreate.", - "fields": [ + }, { - "name": "attributeErrors", + "name": "source", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "INTERFACE", + "name": "Entity", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "sourceCollection", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Collection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", + "name": "sourceCommunity", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "Community", + "ofType": null }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", + "name": "sourceItem", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "INTERFACE", + "name": "Entity", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "targetCollection", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Collection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMetadataMapping", - "description": "The newly-modified harvest metadata mapping, if successful.\n", + "name": "targetCommunity", + "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "HarvestMetadataMapping", + "name": "Community", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestMetadataMappingDestroyInput", - "description": "Autogenerated input type of HarvestMetadataMappingDestroy", - "fields": null, - "inputFields": [ + }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "targetItem", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Item", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMetadataMappingId", - "description": "The harvest metadata mapping to destroy.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601DateTime", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestMetadataMappingDestroyPayload", - "description": "Autogenerated return type of HarvestMetadataMappingDestroy.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null }, { - "name": "destroyedId", - "description": "The ID of the deleted model", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "Node", + "ofType": null }, { - "name": "errors", - "description": null, + "kind": "INTERFACE", + "name": "OrderingEntryable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EntityLinkConnection", + "description": "The connection type for EntityLink.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", @@ -42355,18 +43835,18 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "UserError", + "name": "EntityLinkEdge", "ofType": null } } } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", @@ -42379,7 +43859,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "MutationGlobalError", + "name": "EntityLink", "ofType": null } } @@ -42389,13 +43869,17 @@ "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -42405,12 +43889,7 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "Paginated", "ofType": null } ], @@ -42419,7 +43898,7 @@ }, { "kind": "OBJECT", - "name": "HarvestMetadataMappingEdge", + "name": "EntityLinkEdge", "description": "An edge in a connection.", "fields": [ { @@ -42447,7 +43926,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestMetadataMapping", + "name": "EntityLink", "ofType": null } }, @@ -42462,27 +43941,86 @@ }, { "kind": "ENUM", - "name": "HarvestMetadataMappingField", - "description": "An enum describing which \"field\" to match on. An individual record\ncan try to match any number of fields in order to satisfy its mappings.\n", + "name": "EntityLinkOperator", + "description": "A link operator describes how a source is linked to its target", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "IDENTIFIER", - "description": "Some sort of identifier for the record itself.\n", + "name": "CONTAINS", + "description": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "RELATION", - "description": "Some sort of relationship identifier for the record.\n", + "name": "REFERENCES", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EntityLinkScope", + "description": "A link scope succinctly describes the source and target types", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION_LINKED_COLLECTION", + "description": "A link to a collection from another collection", "isDeprecated": false, "deprecationReason": null }, { - "name": "TITLE", - "description": "An attempt to map records based on their title value(s) to existing collections.\n", + "name": "COLLECTION_LINKED_COMMUNITY", + "description": "A link to a community from a collection", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_LINKED_ITEM", + "description": "A link to an item from a community", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY_LINKED_COLLECTION", + "description": "A link to a collection not directly owned by a community", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY_LINKED_COMMUNITY", + "description": "A link to a community from another community", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY_LINKED_ITEM", + "description": "A link to an item from a community", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_LINKED_COLLECTION", + "description": "A link to a collection from an item", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_LINKED_COMMUNITY", + "description": "A link to a community from an item", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_LINKED_ITEM", + "description": "A link to an item from another item", "isDeprecated": false, "deprecationReason": null } @@ -42491,27 +44029,69 @@ }, { "kind": "ENUM", - "name": "HarvestMetadataMappingOrder", - "description": "Sort a collection of `HarvestMetadataMapping` records by specific properties and directions.\n", + "name": "EntityOrder", + "description": "Sort entities by a specific property and order", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "DEFAULT", - "description": "Sort harvest metadata mappings by their default order.", + "name": "OLDEST", + "description": "Sort entities by oldest created date", "isDeprecated": false, "deprecationReason": null }, { - "name": "OLDEST", - "description": "Sort harvest metadata mappings by oldest created date.", + "name": "POSITION_ASCENDING", + "description": "Sort communities by position 0-9; other entities by RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POSITION_DESCENDING", + "description": "Sort communities by position 9-0; other entities by OLDEST", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_ASCENDING", + "description": "Sort entities by oldest published date (or OLDEST for communities)", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_DESCENDING", + "description": "Sort entities by newest published date (or RECENT for communities)", "isDeprecated": false, "deprecationReason": null }, { "name": "RECENT", - "description": "Sort harvest metadata mappings by newest created date.", + "description": "Sort entities by newest created date", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA_NAME_ASCENDING", + "description": "Sort entities by the name of their schema A-Z", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA_NAME_DESCENDING", + "description": "Sort entities by the name of their schema Z-A", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_ASCENDING", + "description": "Sort entities by title A-Z", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_DESCENDING", + "description": "Sort entities by title Z-A", "isDeprecated": false, "deprecationReason": null } @@ -42520,27 +44100,27 @@ }, { "kind": "ENUM", - "name": "HarvestModificationStatus", - "description": "An enum which describes how harvesting actions will affect\na given record.\n", + "name": "EntityPermissionFilter", + "description": "When retrieving lists of entities, sometimes it is helpful to only show\nentities that the current user (or related user) has access to.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "MODIFIED", - "description": "This record was created through harvesting actions and **has**\nbeen modified in the admin section. Harvest\n\nHarvesting actions will leave this record alone.\n", + "name": "READ_ONLY", + "description": "Show only the entities that a user has specific read access for—this allows\nthem to view the full record as opposed to just what appears in the frontend.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "PRISTINE", - "description": "This record was created through harvesting actions and **has not**\nbeen modified in the admin section.\n\nHarvesting actions will overwrite any data if they encounter this record again.\n", + "name": "SKIP", + "description": "A default value that skips checking for access. It will retrieve every\nentity visible to the current user.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "UNHARVESTED", - "description": "This record was not created through harvesting actions.\n\nShould harvesting actions end up matching an unharvested record,\nit will change this value to `MODIFIED` and treat it as such.\n", + "name": "UPDATE", + "description": "Show entities that a user has the ability to update.\n", "isDeprecated": false, "deprecationReason": null } @@ -42549,19 +44129,43 @@ }, { "kind": "OBJECT", - "name": "HarvestOptionsMapping", - "description": "Options that control mapping of entities during the harvesting process.\n", + "name": "EntityPermissionGrid", + "description": "A grid of permissions for various hierarchical entity scopes.", "fields": [ { - "name": "autoCreateVolumesAndIssues", - "description": "Harvesting certain journals may require creating volumes/issues automatically.\n", + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assets", + "description": "Permissions related to managing assets associated with the attached entity.\n\nThis is slated for deprecation in a future release. Instead, permissions for\nassets will be determined by the `update` permission on the entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AssetPermissionGrid", "ofType": null } }, @@ -42569,8 +44173,8 @@ "deprecationReason": null }, { - "name": "linkIdentifiersGlobally", - "description": "When linking to existing entities, it may be necessary to use global identifiers,\nas there may be some entities that are created outside of a specific harvesting\nattempt, or exist elsewhere in the hierarchy.\n\nThis will look for a globally unique identifier for an entity, and fail if it finds\nduplicates.\n", + "name": "create", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -42585,8 +44189,8 @@ "deprecationReason": null }, { - "name": "useMetadataMappings", - "description": "When resolving to existing entities, the system may rely on\nmetadata mappings to figure out where something should go based\non the presence of certain fields in the metadata.\n", + "name": "delete", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -42599,75 +44203,73 @@ }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsMappingInput", - "description": "Options that control mapping of entities during the harvesting process.\n", - "fields": null, - "inputFields": [ + }, { - "name": "autoCreateVolumesAndIssues", - "description": "Harvesting certain journals may require creating volumes/issues automatically.\n", + "name": "manageAccess", + "description": "Whether the user can manage access to entities at this scope.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": "false", "isDeprecated": false, "deprecationReason": null }, { - "name": "linkIdentifiersGlobally", - "description": "When linking to existing entities, it may be necessary to use global identifiers,\nas there may be some entities that are created outside of a specific harvesting\nattempt, or exist elsewhere in the hierarchy.\n\nThis will look for a globally unique identifier for an entity, and fail if it finds\nduplicates.\n", + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", + "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } + } }, - "defaultValue": "false", "isDeprecated": false, "deprecationReason": null }, { - "name": "useMetadataMappings", - "description": "When resolving to existing entities, the system may rely on\nmetadata mappings to figure out where something should go based\non the presence of certain fields in the metadata.\n", + "name": "read", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": "false", "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestOptionsRead", - "description": "Options that control reading from the source.\n", - "fields": [ + }, { - "name": "maxRecords", - "description": "The maximum number of records to read from the source per attempt.\n\nThe system will not paginate beyond this count.\n", + "name": "update", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "Boolean", "ofType": null } }, @@ -42676,100 +44278,89 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsReadInput", - "description": "Options that control reading from the source.\n", - "fields": null, - "inputFields": [ + "interfaces": [ { - "name": "maxRecords", - "description": "The maximum number of records to read from the source per attempt.\n\nThe system will not paginate beyond this count.\n", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": "80000", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CRUDPermissionGrid", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "PermissionGrid", + "ofType": null } ], - "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "HarvestProtocol", - "description": "Protocols for harvesting. Only `OAI` is presently supported.\n\n`HarvestProtocol` describes the transport method for individual records to be harvested,\nwhile `HarvestMetadataFormat` describes the structure of the data.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "kind": "INTERFACE", + "name": "EntityPermissions", + "description": "Entities can optionally be submitted to.\n", + "fields": [ { - "name": "OAI", - "description": "[OAI-PMH](https://www.openarchives.org/OAI/2.0/guidelines.htm)\n", + "name": "canAlterSchemaVersion", + "description": "Whether the current user has permission to alter the schema version of this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "PRESSBOOKS", - "description": "[Pressbooks API](https://pressbooks.org/dev-guides/rest-api/)\n", + "name": "canCreateAssets", + "description": "Whether the current user has permission to create assets under this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "UNKNOWN", - "description": "A fallback value for protocols that should not appear under normal circumstances.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "HarvestPruneMode", - "description": "The selection criteria for pruning entities from a harvest.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "EVERYTHING", - "description": "Prune **all** entities that have been harvested by the source or attempt.\n", + "name": "canCreateCollections", + "description": "Whether the current user has permission to create collections under this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "UNMODIFIED", - "description": "Prune **only** unmodified harvested entities.\n\nNote that unmodified entities _may_ be left behind\nif one of their child entities has been modified.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestRecord", - "description": "An object representing a single record in the `HarvestSource`.\nIt can produce one or more harvest entities.\n", - "fields": [ - { - "name": "createdAt", - "description": null, + "name": "canCreateItems", + "description": "Whether the current user has permission to create items under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -42777,192 +44368,63 @@ "deprecationReason": null }, { - "name": "entityCount", - "description": "The number of entities this record can/will produce (if available).\n", + "name": "canDeposit", + "description": "Whether the current user has permission to deposit a new entity into this one.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestEntities", - "description": "Staged entities that were extracted from this record.\n", + "name": "canManageAccess", + "description": "Whether the current user has permission to manage access to this entity.\n\nThis opens up `grantAccess` and `revokeAccess` mutations.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestEntity", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestErrors", - "description": "A list of errors that are associated with this harvesting type.\n", + "name": "canPurge", + "description": "Whether the current user has permission to purge this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMessages", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "canReparent", + "description": "Whether the current user has permission to reparent this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestMessageConnection", + "name": "AuthorizationResult", "ofType": null } }, @@ -42970,15 +44432,15 @@ "deprecationReason": null }, { - "name": "harvestSource", - "description": "The harvest source this belongs to.\n", + "name": "canRevalidate", + "description": "Whether the current user has permission to revalidate this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestSource", + "name": "AuthorizationResult", "ofType": null } }, @@ -42986,15 +44448,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "canReview", + "description": "Whether the current user has permission to review deposits to this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -43002,15 +44464,15 @@ "deprecationReason": null }, { - "name": "identifier", - "description": "A unique identifier for the record within the `HarvestSource`.\n", + "name": "submissionStatus", + "description": "THe current submission status of this entity. Is it a draft, published, or unrelated?\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "EntitySubmissionStatus", "ofType": null } }, @@ -43018,27 +44480,60 @@ "deprecationReason": null }, { - "name": "jsonMetadataSource", - "description": null, + "name": "submissionTarget", + "description": "The submission target that this entity can be submitted to, if any.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "JSON", + "kind": "OBJECT", + "name": "SubmissionTarget", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Submittable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "metadataFormat", - "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "EntityProperty", + "description": "A property that references another entity within the system.\n", + "fields": [ + { + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -43046,8 +44541,32 @@ "deprecationReason": null }, { - "name": "rawMetadataSource", - "description": "The raw metadata extracted from `rawSource`, with minimal processing applied.\n\nWhen rendering in the frontend, this should be in some sort of fixed-width font / code view,\nas it will be JSON, XML, or similar types of data.\n", + "name": "availableEntities", + "description": "Expose all available entities for this schema property.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntitySelectOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", "args": [], "type": { "kind": "SCALAR", @@ -43058,27 +44577,27 @@ "deprecationReason": null }, { - "name": "rawSource", - "description": "The raw source extracted from the protocol.\n\nWhen rendering in the frontend, this should be in some sort of fixed-width font / code view,\nas it will be JSON, XML, or similar types of data.\n", + "name": "entity", + "description": "A single reference to another entity within the system.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "INTERFACE", + "name": "Entity", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "String", "ofType": null } }, @@ -43086,15 +44605,15 @@ "deprecationReason": null }, { - "name": "status", - "description": "The status of the record.\n", + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "HarvestRecordStatus", + "name": "SchemaPropertyFunction", "ofType": null } }, @@ -43102,158 +44621,84 @@ "deprecationReason": null }, { - "name": "underlyingDataFormat", - "description": "An enum describing how the `rawSource` / `rawMetadataSource` is encoded.\n", + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UnderlyingDataFormat", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "HasHarvestErrors", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestMetadataFormat", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestMessage", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestRecordConnection", - "description": "The connection type for HarvestRecord.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestRecordEdge", - "ofType": null - } - } + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "label", + "description": "A human-readable label for the schema property.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestRecord", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PageInfo", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestRecordEdge", - "description": "An edge in a connection.", - "fields": [ + }, { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", "args": [], "type": { "kind": "NON_NULL", @@ -43268,197 +44713,146 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestRecord", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "HarvestRecordOrder", - "description": "Sort a collection of `HarvestRecord` records by specific properties and directions.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Sort harvest records by their default order.", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "OLDEST", - "description": "Sort harvest records by oldest created date.", + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort harvest records by newest created date.", + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null } ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "HarvestRecordStatus", - "description": "A harvested record can exist in a number of statuses.\n", - "fields": null, "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ACTIVE", - "description": "An record that is considered active and ready to be extracted into entities.\n", - "isDeprecated": false, - "deprecationReason": null - }, + "interfaces": [ { - "name": "DELETED", - "description": "A record that was deleted in the upstream harvest source.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasAvailableEntities", + "ofType": null }, { - "name": "PENDING", - "description": "A brand new record that hasn't been processed yet.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null }, { - "name": "SKIPPED", - "description": "A record that was skipped over for some validation reason.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null } ], + "enumValues": null, "possibleTypes": null }, { - "kind": "OBJECT", - "name": "HarvestScheduleData", - "description": null, - "fields": [ + "kind": "INPUT_OBJECT", + "name": "EntityPurgeInput", + "description": "Autogenerated input type of EntityPurge", + "fields": null, + "inputFields": [ { - "name": "cronExpression", - "description": "The frequency expression as a cron statement, regardless\nof its original syntax.\n", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "frequencyMax", - "description": "The maximum frequency between occurrences, expressed as a duration.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601Duration", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "frequencyMin", - "description": "The minimum frequency between occurrences, expressed as a duration.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601Duration", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "timeZone", - "description": "If the frequency expression included time zone information,\nthis will expose which time zone is being used. Otherwise,\nthe frequency will use the Meru installation time zone.\n", - "args": [], + "name": "entityId", + "description": "The entity to destroy.\n", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "HarvestScheduleMode", - "description": "Harvest schedule mode enum\n", - "fields": null, - "inputFields": null, "interfaces": null, - "enumValues": [ - { - "name": "MANUAL", - "description": "", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCHEDULED", - "description": "", - "isDeprecated": false, - "deprecationReason": null - } - ], + "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "HarvestSet", - "description": "The concept of a \"set\" within a given `HarvestSource`. It can be used in order to fetch\na subset of data with a `HarvestMapping`. These are not created directly in Meru, but\ninstead are fetched by the `HarvestSource` and internally managed based on its `protocol`.\n", + "name": "EntityPurgePayload", + "description": "Autogenerated return type of EntityPurge.", "fields": [ { - "name": "createdAt", + "name": "attributeErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": "An optional description for the set (if available).\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", @@ -43469,97 +44863,109 @@ "deprecationReason": null }, { - "name": "harvestSource", - "description": "The source for the harvest set.\n", + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "destroyedId", + "description": "The ID of the deleted model", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "SCALAR", + "name": "ID", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "identifier", - "description": "A unique, machine-readable string that identifies the set for the specific source.\n", + "name": "entity", + "description": "The root entity that is to be purged.\n\nNote that it may not exist for very long.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "INTERFACE", + "name": "Entity", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "A human-readable name that describes the set (if available).\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "slug", + "name": "globalErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobEnqueued", + "description": "Whether or not a job was enqueued.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -43569,26 +44975,109 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", + "name": "DestroyMutationPayload", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "StandardMutationPayload", "ofType": null } ], "enumValues": null, "possibleTypes": null }, + { + "kind": "ENUM", + "name": "EntityScope", + "description": "This type is used for authorization and filtering, and can\ndistinguish an entity that has been linked to another from\none that exists directly in a hierarchy.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION", + "description": "A `Collection` that is an actual descendant at this point in the hierarchy.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_LINKED_COLLECTION", + "description": "A `Collection` that was linked from another `Collection`.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_LINKED_COMMUNITY", + "description": "A `Community` that was linked from a `Collection`.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_LINKED_ITEM", + "description": "An `Item` that was linked from a `Collection`.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY", + "description": "A `Community` that is an actual descendant at this point in the hierarchy.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY_LINKED_COLLECTION", + "description": "A `Collection` that was linked from a `Community`.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY_LINKED_COMMUNITY", + "description": "A `Community` that was linked from another `Community`.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY_LINKED_ITEM", + "description": "An `Item` that was linked from a `Community`.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM", + "description": "An `Item` that is an actual descendant at this point in the hierarchy.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_LINKED_COLLECTION", + "description": "A `Collection` that was linked from an `Item`.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_LINKED_COMMUNITY", + "description": "A `Community` that was linked from an `Item`.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_LINKED_ITEM", + "description": "An `Item` that was linked from another `Item`.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, { "kind": "OBJECT", - "name": "HarvestSetConnection", - "description": "The connection type for HarvestSet.", + "name": "EntitySelectOption", + "description": "A select option for a single entity", "fields": [ { - "name": "edges", - "description": "A list of edges.", + "name": "breadcrumbs", + "description": "Previous entries in the hierarchy", "args": [], "type": { "kind": "NON_NULL", @@ -43601,7 +45090,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestSetEdge", + "name": "EntityBreadcrumb", "ofType": null } } @@ -43611,65 +45100,40 @@ "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "entity", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestSet", - "ofType": null - } - } + "kind": "INTERFACE", + "name": "Entity", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "kind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PageInfo", + "kind": "ENUM", + "name": "EntityKind", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestSetEdge", - "description": "An edge in a connection.", - "fields": [ + }, { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "label", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -43684,97 +45148,88 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "schemaVersion", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestSet", + "name": "SchemaVersion", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestSetFilterInput", - "description": "Filters for HarvestSet.\n", - "fields": null, - "inputFields": [ - { - "name": "identifier", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null }, { - "name": "name", + "name": "slug", "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "prefix", + "name": "value", "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEntityBreadcrumbs", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", - "name": "HarvestSetOrder", - "description": "Sort a collection of `HarvestSet` records by specific properties and directions.\n", + "name": "EntitySubmissionStatus", + "description": "An enum describing the submission state of an actual entity record.\n\nIt can have an effect on the visibility and available of records from the frontend.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "DEFAULT", - "description": "Sort harvest sets by their default order.", + "name": "SUBMISSION_DRAFT", + "description": "This entity has a submission in draft state.\n\nIt will not be visible nor available from the frontend until it is published.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "OLDEST", - "description": "Sort harvest sets by oldest created date.", + "name": "SUBMISSION_PUBLISHED", + "description": "This entity has a submission in published state.\n\nIt will be visible and available from the frontend.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort harvest sets by newest created date.", + "name": "UNSUBMITTED", + "description": "This entity has no submission associated with it.\n\nIts submission state has no effect on the visibility nor availability of the entity from the frontend.\n", "isDeprecated": false, "deprecationReason": null } @@ -43782,13 +45237,244 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "HarvestSource", - "description": "A source from which to harvest entities.\n\nIt can produce a `HarvestAttempt`.\n", + "kind": "ENUM", + "name": "EntityVisibility", + "description": "The level of visibility an entity can have", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HIDDEN", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIMITED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VISIBLE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EntityVisibilityFilter", + "description": "Filter entities by their visibility.\n\n`VISIBLE` is the default in most cases. Any other option requires special privileges.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": "Do not filter entities by their visibility at all.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIDDEN", + "description": "Fetch only *currently hidden* entities.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VISIBLE", + "description": "Fetch only *currently visible* entities.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EqualsOperatorInput", + "description": "Require that `path = value`.\n", + "fields": null, + "inputFields": [ + { + "name": "path", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "description": "A common interface for something that exposes contextual permissions.\n", "fields": [ { - "name": "baseURL", - "description": "The URL to fetch from. It should be just the base URL, without any OAI verbs or similar.\n", + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AccessControlList", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AdminPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContextualPermission", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GlobalAccessControlList", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RolePermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SettingsPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserPermissionGrid", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "FailureReasons", + "description": null, + "fields": [ + { + "name": "details", + "description": "JSON-encoded map of reasons", "args": [], "type": { "kind": "NON_NULL", @@ -43803,24 +45489,164 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "fullMessages", + "description": "Human-readable errors", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "description": "Filter a value with various constraints. If no values are provided to any\noperator, this filter will be ignored.\n\n**Note**: The server will _not_ try to check for logical impossibilities,\ne.g. `{ lt: 5, gteq: 10 }`. Input like this will match nothing.\n", + "fields": null, + "inputFields": [ + { + "name": "eq", + "description": "Value to compare with using the `eq` operator.", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gt", + "description": "Value to compare with using the `gt` operator.", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gteq", + "description": "Value to compare with using the `gteq` operator.", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lt", + "description": "Value to compare with using the `lt` operator.", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lteq", + "description": "Value to compare with using the `lteq` operator.", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notEq", + "description": "Value to compare with using the `not_eq` operator.", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Float", + "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FloatProperty", + "description": null, + "fields": [ + { + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, + { + "name": "defaultFloat", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "description", - "description": "An optional, wordier description for the source that may offer insight as to its intended\npurpose within the installation.\n", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -43831,8 +45657,20 @@ "deprecationReason": null }, { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", + "name": "floatValue", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", "args": [], "type": { "kind": "NON_NULL", @@ -43847,112 +45685,43 @@ "deprecationReason": null }, { - "name": "harvestAttempts", - "description": "Attempts produced by this source.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestAttemptOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestAttemptConnection", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -43960,112 +45729,15 @@ "deprecationReason": null }, { - "name": "harvestMappings", - "description": "Mappings associated with the harvest source.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestMappingOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMappingConnection", + "kind": "ENUM", + "name": "SchemaPropertyKind", "ofType": null } }, @@ -44073,132 +45745,31 @@ "deprecationReason": null }, { - "name": "harvestMessages", + "name": "label", "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMessageConnection", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -44206,112 +45777,31 @@ "deprecationReason": null }, { - "name": "harvestMetadataMappings", - "description": "Metadata mappings used for advanced features that allow matching patterns to existing harvest targets.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestMetadataMappingOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMetadataMappingConnection", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -44319,112 +45809,39 @@ "deprecationReason": null }, { - "name": "harvestRecords", - "description": "Records associated with this source.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestRecordOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "searchOperators", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchOperator", + "ofType": null + } + } } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchPath", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestRecordConnection", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -44432,272 +45849,15 @@ "deprecationReason": null }, { - "name": "harvestSets", - "description": "Sets associated with the harvest source.\n\nA single source may have thousands of sets associated with it,\nso it must be paginated.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestSetFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestSetFilterInput", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestSetOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestSetConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": "A unique, machine-readable identifier. Requirements:\n\n* At least three characters: alphanumeric, hyphens, underscores\n* All lowercase\n* No whitespace\n* No consecutive hyphens nor underscores.\n\nCannot be changed once created. To reuse an identifier, the original source\nmust be destroyed.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "mappingOptions", - "description": "Options that control mapping of entities during the harvesting process.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestOptionsMapping", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "metadataFormat", - "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "A unique name for the source. Purely descriptive.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "protocol", - "description": "The protocol for this source.\n\nCannot be changed once created.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HarvestProtocol", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "readOptions", - "description": "Options that control reading from the source.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestOptionsRead", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slug", - "description": null, + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "Boolean", "ofType": null } }, @@ -44705,31 +45865,15 @@ "deprecationReason": null }, { - "name": "status", - "description": "An enum that describes the functional state for harvest sources.\n", + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "HarvestSourceStatus", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "SchemaPropertyType", "ofType": null } }, @@ -44741,118 +45885,17 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "HarvestAttemptable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestExtractionMappingTemplate", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestMetadataFormat", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestOptions", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestMessage", + "name": "ScalarProperty", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "SchemaProperty", "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestSourceConnection", - "description": "The connection type for HarvestSource.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestSourceEdge", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": "A list of nodes.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null }, - { - "name": "pageInfo", - "description": "Information to aid in pagination.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PageInfo", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ { "kind": "INTERFACE", - "name": "Paginated", + "name": "SearchableProperty", "ofType": null } ], @@ -44861,26 +45904,10 @@ }, { "kind": "INPUT_OBJECT", - "name": "HarvestSourceCreateInput", - "description": "Autogenerated input type of HarvestSourceCreate", + "name": "FrontendCacheRevalidateEntityInput", + "description": "Autogenerated input type of FrontendCacheRevalidateEntity", "fields": null, "inputFields": [ - { - "name": "baseURL", - "description": "The URL to fetch from. It should be just the base URL, without any OAI verbs or similar.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", @@ -44894,120 +45921,20 @@ "deprecationReason": null }, { - "name": "description", - "description": "An optional, wordier description for the source that may offer insight as to its intended\npurpose within the installation.\n", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": "A unique, machine-readable identifier. Requirements:\n\n* At least three characters: alphanumeric, hyphens, underscores\n* All lowercase\n* No whitespace\n* No consecutive hyphens nor underscores.\n\nCannot be changed once created. To reuse an identifier, the original source\nmust be destroyed.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "mappingOptions", - "description": "Options that control mapping of entities during the harvesting process.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsMappingInput", - "ofType": null - }, - "defaultValue": "{autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "metadataFormat", - "description": "The metadata format for this source to use by default.\n\nMappings can override this, but it cannot be changed currently.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "A unique name for the source. Purely descriptive.\n", + "name": "entityId", + "description": "The entity to update.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "protocol", - "description": "The protocol for this source.\n\nCannot be changed once created.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HarvestProtocol", - "ofType": null - } - }, - "defaultValue": "OAI", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "readOptions", - "description": "Options that control reading from the source.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsReadInput", - "ofType": null - }, - "defaultValue": "{maxRecords: 80000}", - "isDeprecated": false, - "deprecationReason": null } ], "interfaces": null, @@ -45016,8 +45943,8 @@ }, { "kind": "OBJECT", - "name": "HarvestSourceCreatePayload", - "description": "Autogenerated return type of HarvestSourceCreate.", + "name": "FrontendCacheRevalidateEntityPayload", + "description": "Autogenerated return type of FrontendCacheRevalidateEntity.", "fields": [ { "name": "attributeErrors", @@ -45116,12 +46043,12 @@ "deprecationReason": null }, { - "name": "harvestSource", - "description": "The newly-modified harvest source, if successful.\n", + "name": "revalidated", + "description": "Whether the revalidation request was successfully performed.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSource", + "kind": "SCALAR", + "name": "Boolean", "ofType": null }, "isDeprecated": false, @@ -45141,8 +46068,8 @@ }, { "kind": "INPUT_OBJECT", - "name": "HarvestSourceDestroyInput", - "description": "Autogenerated input type of HarvestSourceDestroy", + "name": "FrontendCacheRevalidateInstanceInput", + "description": "Autogenerated input type of FrontendCacheRevalidateInstance", "fields": null, "inputFields": [ { @@ -45156,22 +46083,6 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "harvestSourceId", - "description": "The harvest source to destroy.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null } ], "interfaces": null, @@ -45180,8 +46091,8 @@ }, { "kind": "OBJECT", - "name": "HarvestSourceDestroyPayload", - "description": "Autogenerated return type of HarvestSourceDestroy.", + "name": "FrontendCacheRevalidateInstancePayload", + "description": "Autogenerated return type of FrontendCacheRevalidateInstance.", "fields": [ { "name": "attributeErrors", @@ -45219,30 +46130,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "destroyedId", - "description": "The ID of the deleted model", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "errors", "description": null, @@ -45302,15 +46189,22 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "revalidated", + "description": "Whether the revalidation request was successfully performed.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null - }, { "kind": "INTERFACE", "name": "StandardMutationPayload", @@ -45322,37 +46216,41 @@ }, { "kind": "OBJECT", - "name": "HarvestSourceEdge", - "description": "An edge in a connection.", + "name": "FullText", + "description": "A full-text searchable value for an entity", "fields": [ { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "content", + "description": "The full-text searchable value itself", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "kind", + "description": "The content type for the text, if any", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - } + "kind": "ENUM", + "name": "FullTextKind", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lang", + "description": "The ISO-639 language code of this content, if any", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -45365,27 +46263,27 @@ }, { "kind": "ENUM", - "name": "HarvestSourceOrder", - "description": "Sort a collection of `HarvestSource` records by specific properties and directions.\n", + "name": "FullTextKind", + "description": "It is necessary for the system to know what kind the content is in order to properly index it", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "DEFAULT", - "description": "Sort harvest sources by their default order.", + "name": "HTML", + "description": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "OLDEST", - "description": "Sort harvest sources by oldest created date.", + "name": "MARKDOWN", + "description": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort harvest sources by newest created date.", + "name": "TEXT", + "description": null, "isDeprecated": false, "deprecationReason": null } @@ -45393,92 +46291,85 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "HarvestSourcePruneEntitiesInput", - "description": "Autogenerated input type of HarvestSourcePruneEntities", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "FullTextProperty", + "description": null, + "fields": [ { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSourceId", - "description": "The harvest source to update.\n", + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "mode", - "description": "Whether to prune `PRISTINE` or **all** harvested entities.\n", + "name": "fullText", + "description": null, + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "HarvestPruneMode", - "ofType": null - } + "kind": "OBJECT", + "name": "FullText", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HarvestSourcePruneEntitiesPayload", - "description": "Autogenerated return type of HarvestSourcePruneEntities.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", "args": [], "type": { "kind": "SCALAR", @@ -45489,121 +46380,73 @@ "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "label", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSource", - "description": "The harvest source, if successful.\n", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "HarvestSourceStatus", - "description": "An enum that describes the functional state for harvest sources.\n\nHarvest sources are checked on a regular basis and can also be\nmanually rechecked with harvestSourceCheck\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ACTIVE", - "description": "An active harvest source has been recently validated as working\nand thus can be used for harvesting.\n", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "INACTIVE", - "description": "An inactive harvest source has been recently validated as not working\nand cannot be used for harvesting.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "HarvestSourceUpdateInput", - "description": "Autogenerated input type of HarvestSourceUpdate", - "fields": null, - "inputFields": [ - { - "name": "baseURL", - "description": "The URL to fetch from. It should be just the base URL, without any OAI verbs or similar.\n", + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -45613,37 +46456,53 @@ "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": "An optional, wordier description for the source that may offer insight as to its intended\npurpose within the installation.\n", + "name": "searchOperators", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchOperator", + "ofType": null + } + } + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", + "name": "searchPath", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -45653,63 +46512,90 @@ "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSourceId", - "description": "The harvest source to update.\n", + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Boolean", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "mappingOptions", - "description": "Options that control mapping of entities during the harvesting process.\n", + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsMappingInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } }, - "defaultValue": "{autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false}", "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null }, { - "name": "name", - "description": "A unique name for the source. Purely descriptive.\n", + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SearchableProperty", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FullTextSearchQueryInput", + "description": "An input object representing the parameters for a full-text search query.\n", + "fields": null, + "inputFields": [ + { + "name": "needle", + "description": "The query to search by.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "readOptions", - "description": "Options that control reading from the source.\n", + "name": "strategy", + "description": "The search strategy to use, either \"PREFIX\" for prefix matching or \"FUZZY\" for fuzzy query matching.\n", "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestOptionsReadInput", + "kind": "ENUM", + "name": "FullTextSearchStrategy", "ofType": null }, - "defaultValue": "{maxRecords: 80000}", + "defaultValue": "FUZZY", "isDeprecated": false, "deprecationReason": null } @@ -45718,14 +46604,59 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "ENUM", + "name": "FullTextSearchStrategy", + "description": "The strategy to use for full-text search queries.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EXACT", + "description": "This will look for an exact match of the provided needle.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUZZY", + "description": "This uses a \"fuzzy\" full-text websearch strategy,\nwhich supports using quotation marks and negation.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREFIX", + "description": "This will try to match beginnings of words in the provided needle.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, { "kind": "OBJECT", - "name": "HarvestSourceUpdatePayload", - "description": "Autogenerated return type of HarvestSourceUpdate.", + "name": "GlobalAccessControlList", + "description": "A global ACL that applies to a given role.\n\nPermissions defined in this ACL are not scoped to any particular entity.\n", "fields": [ { - "name": "attributeErrors", - "description": null, + "name": "admin", + "description": "Permissions related to the admin section of Meru.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AdminPermissionGrid", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", "args": [], "type": { "kind": "NON_NULL", @@ -45737,8 +46668,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", + "kind": "SCALAR", + "name": "String", "ofType": null } } @@ -45748,20 +46679,40 @@ "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "communities", + "description": "Permissions related to communities, aka top-level entities.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityPermissionGrid", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "contributors", + "description": "Permissions related to contributors.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorPermissionGrid", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", "args": [], "type": { "kind": "NON_NULL", @@ -45774,59 +46725,59 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "UserError", + "name": "PermissionGrant", "ofType": null } } } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "roles", + "description": "Permissions related to managing role records in Meru.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "RolePermissionGrid", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "settings", + "description": "Permissions related to managing global configuration settings in Meru.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SettingsPermissionGrid", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSource", - "description": "The newly-modified harvest source, if successful.\n", + "name": "users", + "description": "Permissions related to managing user records in Meru.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissionGrid", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -45836,7 +46787,7 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "ExposesPermissions", "ofType": null } ], @@ -45844,20 +46795,20 @@ "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "HarvestTarget", - "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs", + "kind": "OBJECT", + "name": "GlobalConfiguration", + "description": "The global configuration for this installation of Meru.", "fields": [ { - "name": "harvestTargetKind", - "description": "Whether this is a collection or a community.\n", + "name": "contributionRoles", + "description": "Global configuration for contribution roles.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestTargetKind", + "kind": "OBJECT", + "name": "ContributionRoleConfiguration", "ofType": null } }, @@ -45865,7 +46816,55 @@ "deprecationReason": null }, { - "name": "slug", + "name": "contributors", + "description": "Settings specific to contributors on this installation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorsSettings", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositing", + "description": "Settings specific to depositing to this installation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DepositingSettings", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entities", + "description": "Settings specific to how entities should behave on this installation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntitiesSettings", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", "description": null, "args": [], "type": { @@ -45873,7 +46872,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ID", "ofType": null } }, @@ -45881,39 +46880,75 @@ "deprecationReason": null }, { - "name": "subtitle", - "description": "A human-readable subtitle for the entity.\n", + "name": "institution", + "description": "Settings specific to this institution.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InstitutionSettings", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "summary", - "description": "A description of the contents of the entity.\n", + "name": "logo", + "description": "The logo attachment. It may not always be present.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SiteLogoAttachment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "logoMetadata", + "description": "Configurable metadata for the logo attachment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ImageMetadata", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "A human-readable title for the entity.\n", + "name": "site", + "description": "Settings specific to this site", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "SiteSettings", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "theme", + "description": "Settings specific to the site's theme", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ThemeSettings", "ofType": null } }, @@ -45925,99 +46960,164 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "EntityBase", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", + "name": "Node", "ofType": null } ], "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Community", - "ofType": null - } - ] + "possibleTypes": null }, { - "kind": "ENUM", - "name": "HarvestTargetKind", - "description": "The kind of entity that's being used as a Harvest Target.\n", + "kind": "INPUT_OBJECT", + "name": "GrantAccessInput", + "description": "Autogenerated input type of GrantAccess", "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "inputFields": [ { - "name": "COLLECTION", - "description": "A branch or leaf in the hierarchy.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "COMMUNITY", - "description": "A root-level entity in the hierarchy.\n", + "name": "entityId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roleId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], + "interfaces": null, + "enumValues": null, "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "HasAttachmentStorage", - "description": "Something which implements a #storage key that identifies where its attachment currently lives.", + "kind": "OBJECT", + "name": "GrantAccessPayload", + "description": "Autogenerated return type of GrantAccess.", "fields": [ { - "name": "storage", - "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { - "kind": "ENUM", - "name": "AttachmentStorage", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + }, { - "kind": "OBJECT", - "name": "ImageAttachment", - "ofType": null + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "ImageOriginal", - "ofType": null + "name": "entity", + "description": null, + "args": [], + "type": { + "kind": "UNION", + "name": "AnyEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "SiteLogoAttachment", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasAvailableEntities", - "description": null, - "fields": [ + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, { - "name": "availableEntities", - "description": "Expose all available entities for this schema property.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -46030,7 +47130,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "EntitySelectOption", + "name": "MutationGlobalError", "ofType": null } } @@ -46038,44 +47138,22 @@ }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "EntitiesProperty", - "ofType": null }, { - "kind": "OBJECT", - "name": "EntityProperty", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasControlledVocabulary", - "description": null, - "fields": [ - { - "name": "controlledVocabulary", - "description": "The vocabulary configured for this property, based on its `wants` value\nand whatever is currently configured in `ControlledVocabularySource`.\n", + "name": "granted", + "description": "Whether or not access was granted", "args": [], "type": { - "kind": "OBJECT", - "name": "ControlledVocabulary", + "kind": "SCALAR", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "wants", - "description": "The key used to determine which `ControlledVocabulary` to fetch.\n\nSee `#controlledVocabulary`.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { "kind": "SCALAR", @@ -46087,29 +47165,40 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "ControlledVocabulariesProperty", - "ofType": null - }, + "interfaces": [ { - "kind": "OBJECT", - "name": "ControlledVocabularyProperty", + "kind": "INTERFACE", + "name": "StandardMutationPayload", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "HasDOI", - "description": "An entity that has a DOI", + "kind": "OBJECT", + "name": "GroupProperty", + "description": "A schema property that groups other schema properties together underneath a `path`.\n", "fields": [ { - "name": "doi", - "description": "The Digital Object Identifier for this entity. See https://doi.org\n", + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", "args": [], "type": { "kind": "SCALAR", @@ -46120,15 +47209,15 @@ "deprecationReason": null }, { - "name": "doiData", - "description": "The data sanitized from `rawDOI`, including things like the URL and host.\n", + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "DOIData", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -46136,15 +47225,15 @@ "deprecationReason": null }, { - "name": "hasWeirdDOI", - "description": "For use in the admin, something to signify that data has been set on `rawDOI`\nthat could not be properly assigned to `doi`.\n", + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "SchemaPropertyKind", "ofType": null } }, @@ -46152,8 +47241,8 @@ "deprecationReason": null }, { - "name": "rawDOI", - "description": "The value that was set on the entity. It will be validated and sanitized\nand be set on `doi` if possible.\n", + "name": "legend", + "description": "The legend / label for this group property.", "args": [], "type": { "kind": "SCALAR", @@ -46162,39 +47251,17 @@ }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null }, { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasDefaultTimestamps", - "description": "Automatically-set timestamps present on most real models in the system.\n", - "fields": [ - { - "name": "createdAt", - "description": "The date this entity was added to the WDP", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null } }, @@ -46202,200 +47269,55 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": "The date this entity was last updated within the WDP", + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null }, { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasEntityAnalytics", - "description": "Entity models implement their own analytics views that come pre-filtered", - "fields": [ - { - "name": "assetDownloads", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "precision", - "description": "The precision to apply.\n", - "type": { - "kind": "ENUM", - "name": "AnalyticsPrecision", - "ofType": null - }, - "defaultValue": "DAY", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subjectIds", - "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "properties", + "description": "The list of (scalar) schema properties contained within this group.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnalyticsEventCountSummary", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "assetDownloadsByRegion", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subjectIds", - "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", - "type": { - "kind": "LIST", + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usOnly", - "description": "Filter by country_code = \"US\" only.\n", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AnalyticsRegionCountSummary", - "ofType": null + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityViews", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "precision", - "description": "The precision to apply.\n", - "type": { - "kind": "ENUM", - "name": "AnalyticsPrecision", - "ofType": null - }, - "defaultValue": "DAY", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "required", + "description": "Whether this property is required to have a value.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnalyticsEventCountSummary", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -46403,40 +47325,15 @@ "deprecationReason": null }, { - "name": "entityViewsByRegion", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usOnly", - "description": "Filter by country_code = \"US\" only.\n", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnalyticsRegionCountSummary", + "kind": "ENUM", + "name": "SchemaPropertyType", "ofType": null } }, @@ -46445,329 +47342,156 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Community", - "ofType": null - }, + "interfaces": [ { - "kind": "OBJECT", - "name": "Item", + "kind": "INTERFACE", + "name": "SchemaProperty", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "HasEntityBreadcrumbs", - "description": null, + "kind": "OBJECT", + "name": "HarvestAttempt", + "description": "A record of a single attempt at harvesting.\n", "fields": [ { - "name": "breadcrumbs", - "description": "Previous entries in the hierarchy", + "name": "beganAt", + "description": "The time the attempt began.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntityBreadcrumb", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Community", - "ofType": null }, { - "kind": "OBJECT", - "name": "EntitySelectOption", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasHarvestErrors", - "description": null, - "fields": [ - { - "name": "harvestErrors", - "description": "A list of errors that are associated with this harvesting type.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null }, { - "kind": "OBJECT", - "name": "HarvestRecord", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasHarvestExtractionMappingTemplate", - "description": "An interface for harvesting-related records that expose a mapping template\nfor handling extraction at their point in the hierarchy.\n", - "fields": [ - { - "name": "extractionMappingTemplate", - "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null }, { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasHarvestMetadataFormat", - "description": "A record that stores a metadata format it uses.\n", - "fields": [ - { - "name": "metadataFormat", - "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestRecord", - "ofType": null }, { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasHarvestModificationStatus", - "description": "An interface for records which can be created/updated through Harvesting\nthat includes an enum which can prevent harvesting actions from overwriting\nany data that has been manually corrected.\n", - "fields": [ - { - "name": "harvestModificationStatus", - "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", + "name": "currentState", + "description": "The current state of the attempt.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "HarvestModificationStatus", + "name": "HarvestAttemptState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Item", - "ofType": null }, { - "kind": "OBJECT", - "name": "OrganizationContributor", - "ofType": null + "name": "endedAt", + "description": "The time the attempt ended.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "PersonContributor", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasHarvestOptions", - "description": null, - "fields": [ - { - "name": "mappingOptions", - "description": "Options that control mapping of entities during the harvesting process.\n", + "name": "entityStatus", + "description": "A progress report for entity data during a harvest attempt.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestOptionsMapping", - "ofType": null - } + "kind": "OBJECT", + "name": "HarvestAttemptEntityStatus", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "readOptions", - "description": "Options that control reading from the source.\n", + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestOptionsRead", + "kind": "SCALAR", + "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null }, { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "HasSchemaProperties", - "description": null, - "fields": [ - { - "name": "schemaProperties", - "description": "A list of schema properties associated with this instance or version.\n", + "name": "harvestErrors", + "description": "A list of errors that are associated with this harvesting type.\n", "args": [], "type": { "kind": "NON_NULL", @@ -46779,126 +47503,155 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "SchemaProperty", + "kind": "OBJECT", + "name": "HarvestError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Community", - "ofType": null + "isDeprecated": true, + "deprecationReason": "Harvest errors are no longer returned nor generated. Check the harvest messages instead.\n" }, { - "kind": "OBJECT", - "name": "Item", - "ofType": null + "name": "harvestMapping", + "description": "An optional mapping that may have constrained the harvest attempt.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } - ] - }, - { - "kind": "ENUM", - "name": "HeroBackground", - "description": "An enumerated value associated with the templating subsystem.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DARK", - "description": "A dark gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIGHT", - "description": "A light gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NONE", - "description": "No background is applied to this template.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "HeroImageLayout", - "description": "The layout to use when rendering a Hero for an `Entity`.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ONE_COLUMN", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "TWO_COLUMN", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HeroLayoutDefinition", - "description": null, - "fields": [ - { - "name": "createdAt", + "name": "harvestMessages", "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + }, + "defaultValue": "{severity: INFO}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "HarvestMessageConnection", "ofType": null } }, @@ -46906,31 +47659,112 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null + "name": "harvestRecords", + "description": "Records associated with this attempt specifically.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestRecordOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slug", - "description": null, - "args": [], + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "HarvestRecordConnection", "ofType": null } }, @@ -46938,43 +47772,35 @@ "deprecationReason": null }, { - "name": "template", - "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", + "name": "harvestSet", + "description": "An optional set that may have constrained the harvest attempt.\n", "args": [], "type": { "kind": "OBJECT", - "name": "HeroTemplateDefinition", + "name": "HarvestSet", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "templates", - "description": "The ordered template definitions available for this layout.\n", + "name": "harvestSource", + "description": "The source associated with the attempt.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "UNION", - "name": "AnyHeroTemplateDefinition", - "ofType": null - } - } + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", + "name": "id", "description": null, "args": [], "type": { @@ -46982,50 +47808,23 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "LayoutDefinition", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HeroLayoutInstance", - "description": null, - "fields": [ - { - "name": "allHidden", - "description": "Whether all templates in this instance are hidden.\n", + "name": "metadataFormat", + "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "HarvestMetadataFormat", "ofType": null } }, @@ -47033,15 +47832,15 @@ "deprecationReason": null }, { - "name": "allSlotsEmpty", - "description": "Whether all slots in all template instances in this layout are empty.\n", + "name": "mode", + "description": "Whether this attempt is `MANUAL` or `SCHEDULED`. This field is not set\nthrough the admin section, but derived from how the attempt was created.\n\n`SCHEDULED` attempts are created by Meru internally\nbased on their `harvestMapping`'s configuration.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "HarvestScheduleMode", "ofType": null } }, @@ -47049,56 +47848,44 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "note", + "description": "An optional note for this harvesting attempt.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this layout instance.\n", + "name": "recordCount", + "description": "The number of records (if available).\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "recordStatus", + "description": "A progress report for record data during a harvest attempt.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "OBJECT", + "name": "HarvestAttemptRecordStatus", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "scheduledAt", + "description": "This specifies the time the attempt is scheduled to run at, if the `mode` is `SCHEDULED`.\n", "args": [], "type": { "kind": "SCALAR", @@ -47109,15 +47896,15 @@ "deprecationReason": null }, { - "name": "layoutDefinition", - "description": "The layout definition for this type.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HeroLayoutDefinition", + "kind": "SCALAR", + "name": "Slug", "ofType": null } }, @@ -47125,15 +47912,15 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "targetEntity", + "description": "The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "INTERFACE", + "name": "HarvestTarget", "ofType": null } }, @@ -47141,15 +47928,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ISO8601DateTime", "ofType": null } }, @@ -47157,51 +47944,15 @@ "deprecationReason": null }, { - "name": "template", - "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "HeroTemplateInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "templates", - "description": "The ordered template instances available for this layout.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "UNION", - "name": "AnyHeroTemplateInstance", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ISO8601Date", "ofType": null } }, @@ -47213,55 +47964,149 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "LayoutInstance", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "Node", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "Renderable", + "name": "HasDefaultTimestamps", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "HasHarvestErrors", "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "HeroTemplateDefinition", - "description": null, + }, + { + "kind": "INTERFACE", + "name": "HasHarvestExtractionMappingTemplate", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasHarvestMetadataFormat", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestMessage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptConnection", + "description": "The connection type for HarvestAttempt.", "fields": [ { - "name": "background", - "description": "The background gradient to use for this template. Affects presentation.\n", + "name": "edges", + "description": "A list of edges.", "args": [], "type": { - "kind": "ENUM", - "name": "HeroBackground", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestAttemptEdge", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null } }, @@ -47269,51 +48114,66 @@ "deprecationReason": null }, { - "name": "descendantSearchPrompt", - "description": "", + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null + } }, - "isDeprecated": true, - "deprecationReason": "This is a slot now." - }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptEntityStatus", + "description": "A progress report for entity data during a harvest attempt.\n", + "fields": [ { - "name": "enableDescendantBrowsing", - "description": "", + "name": "assetsDurationAverage", + "description": "Average time to fetch assets for a given entity in seconds (may be used in ETA calculations in the future).\n", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "enableDescendantSearch", - "description": "", + "name": "assetsEta", + "description": "A (very) rough estimate of when the assets might be fully extracted.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -47321,15 +48181,15 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -47337,123 +48197,151 @@ "deprecationReason": null }, { - "name": "listContributors", - "description": "", + "name": "completion", + "description": "The percentage of completion based on current data expressed as a float between 0.0 and 1.0.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showBasicViewMetrics", - "description": "", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showBigSearchPrompt", - "description": "", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showBreadcrumbs", - "description": "", + "name": "id", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showDOI", - "description": "", + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalEntities", + "description": "Total number of entities extracted for this attempt.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showHeroImage", - "description": "", + "name": "totalEntitiesSuccess", + "description": "Total number of entities that have been successfully extracted.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showSharingLink", - "description": "", + "name": "totalEntitiesWaitingForAssets", + "description": "Total number of entities that are waiting for assets to be fetched.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showSplitDisplay", - "description": "", + "name": "totalEntitiesWaitingForUpsert", + "description": "Total number of entities that are pending upsert.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showThumbnailImage", - "description": "", + "name": "totalEntitiesWithAssets", + "description": "Total number of entities extracted for this attempt that have 1 or more assets attached.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slots", - "description": "Slot definitions for this template.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HeroTemplateDefinitionSlots", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -47461,15 +48349,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ISO8601Date", "ofType": null } }, @@ -47477,33 +48365,25 @@ "deprecationReason": null }, { - "name": "templateKind", - "description": null, + "name": "upsertDurationAverage", + "description": "Average time to upsert a given entity in seconds (may be used in ETA calculations in the future).\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "TemplateKind", - "ofType": null - } + "kind": "SCALAR", + "name": "Float", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "upsertEta", + "description": "A (very) rough estimate of when the entities might be fully upserted.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -47513,17 +48393,27 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateDefinition", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } ], @@ -47531,364 +48421,521 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "HeroTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "HarvestAttemptFromMappingInput", + "description": "Autogenerated input type of HarvestAttemptFromMapping", + "fields": null, + "inputFields": [ { - "name": "bigSearchPrompt", - "description": null, - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "callToAction", - "description": null, - "args": [], + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "descendantSearchPrompt", - "description": null, - "args": [], + "name": "harvestMappingId", + "description": "The harvest mapping to update.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "header", - "description": null, - "args": [], + "name": "note", + "description": "An optional note for this harvesting attempt.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptFromMappingPayload", + "description": "Autogenerated return type of HarvestAttemptFromMapping.", + "fields": [ { - "name": "headerAside", + "name": "attributeErrors", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerParent", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerSidebar", + "name": "errors", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "headerSubtitle", + "name": "globalErrors", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerSummary", - "description": null, + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "metadata", - "description": null, + "name": "harvestAttempt", + "description": "The newly-modified harvest mapping, if successful.\n", "args": [], "type": { "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "name": "HarvestAttempt", "ofType": null }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "sidebar", - "description": null, - "args": [], + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestAttemptFromSourceInput", + "description": "Autogenerated input type of HarvestAttemptFromSource", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheader", - "description": null, - "args": [], + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheaderAside", - "description": null, - "args": [], + "name": "harvestSetId", + "description": "An optional set to restrict the attempt to.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "SCALAR", + "name": "ID", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheaderSubtitle", - "description": null, - "args": [], + "name": "harvestSourceId", + "description": "The harvest source to use as the base.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheaderSummary", - "description": null, - "args": [], + "name": "note", + "description": "An optional note for this harvesting attempt.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "summary", - "description": null, - "args": [], + "name": "targetEntityId", + "description": "The community or collection to target for the harvest.\n", "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "HeroTemplateInstance", - "description": null, + "name": "HarvestAttemptFromSourcePayload", + "description": "Autogenerated return type of HarvestAttemptFromSource.", "fields": [ { - "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "definition", - "description": "Load the associated definition for this template.\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HeroTemplateDefinition", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "harvestAttempt", + "description": "The newly created harvest attempt record, if successful.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "harvestSource", + "description": "The newly-modified harvest source, if successful.\n", "args": [], + "type": { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestAttemptOrder", + "description": "Sort a collection of `HarvestAttempt` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort harvest attempts by their default order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OLDEST", + "description": "Sort harvest attempts by oldest created date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort harvest attempts by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestAttemptPruneEntitiesInput", + "description": "Autogenerated input type of HarvestAttemptPruneEntities", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", - "description": null, - "args": [], + "name": "harvestAttemptId", + "description": "The harvest attempt to update.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", - "args": [], + "name": "mode", + "description": "Whether to prune `PRISTINE` or **all** harvested entities.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "ENUM", + "name": "HarvestPruneMode", + "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptPruneEntitiesPayload", + "description": "Autogenerated return type of HarvestAttemptPruneEntities.", + "fields": [ { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -47901,7 +48948,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "TemplateInstanceSibling", + "name": "MutationAttributeError", "ofType": null } } @@ -47911,65 +48958,85 @@ "deprecationReason": null }, { - "name": "slots", - "description": "Rendered slots for this template.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HeroTemplateInstanceSlots", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", + "name": "errors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "templateKind", + "name": "globalErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestAttempt", + "description": "The harvest attempt, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -47979,22 +49046,7 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Renderable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "TemplateInstance", + "name": "StandardMutationPayload", "ofType": null } ], @@ -48003,197 +49055,396 @@ }, { "kind": "OBJECT", - "name": "HeroTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", + "name": "HarvestAttemptRecordStatus", + "description": "A progress report for record data during a harvest attempt.\n", "fields": [ { - "name": "bigSearchPrompt", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "callToAction", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "descendantSearchPrompt", - "description": null, + "name": "completion", + "description": "The percentage of completion based on current data expressed as a float between 0.0 and 1.0.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "kind": "SCALAR", + "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "header", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerAside", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerParent", - "description": null, + "name": "extractionDurationAverage", + "description": "Average time to extract a given record in seconds (may be used in ETA calculations in the future).\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "kind": "SCALAR", + "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerSidebar", + "name": "id", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerSubtitle", - "description": null, + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerSummary", - "description": null, + "name": "totalRecords", + "description": "Total number of records extracted for this attempt.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "metadata", - "description": null, + "name": "totalRecordsSuccess", + "description": "Total number of records that have been successfully extracted.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "sidebar", - "description": null, + "name": "totalRecordsWaitingForExtraction", + "description": "Total number of records that are pending extraction (which will then be harvest entities).\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheader", - "description": null, + "name": "totalRecordsWaitingForUpsert", + "description": "Total number of records that are waiting on their entities to be complete.\nThis could include waiting for assets to be fetched.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheaderAside", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheaderSubtitle", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "subheaderSummary", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null - }, + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestAttemptState", + "description": "The state that an attempt is in.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELLED", + "description": "A scheduled attempt that was cancelled.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "summary", - "description": null, - "args": [], + "name": "EXECUTING", + "description": "An attempt that is in the process of extracting records.\n\nA failed extraction may linger in this state.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTRACTED", + "description": "An attempt whose entities have all been extracted from the source.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "An attempt that has not yet extracted anything.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "A scheduled attempt for a specific mapping that has not yet ran.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "HarvestAttemptable", + "description": "A record that can be used to trigger a run of the harvesting\nsubsystem via `harvestStart`.\n", + "fields": [ + { + "name": "harvestAttempts", + "description": "Harvest attempts associated with this record.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestAttemptOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestAttemptConnection", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -48202,23 +49453,34 @@ "inputFields": null, "interfaces": [], "enumValues": null, - "possibleTypes": null + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + } + ] }, { "kind": "OBJECT", - "name": "HierarchicalSchemaRank", - "description": "A ranking of a schema from a certain point in the hierarchy. This can be used to generate\nnavigation or calculate statistics about what various entities contain.\n", + "name": "HarvestEntity", + "description": "A staged entity extracted from a `HarvestRecord`, that\ncan then be associated to an actual entity by the\nharvesting process.\n", "fields": [ { - "name": "count", - "description": "The number of entities that implement this schema from this point in the hierarchy.", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -48226,15 +49488,15 @@ "deprecationReason": null }, { - "name": "declaration", - "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -48242,15 +49504,15 @@ "deprecationReason": null }, { - "name": "distinctVersionCount", - "description": "A count of distinct versions of this specific schema type from this point of the hierarchy.", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "ISO8601DateTime", "ofType": null } }, @@ -48258,15 +49520,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601Date", "ofType": null } }, @@ -48274,15 +49536,144 @@ "deprecationReason": null }, { - "name": "identifier", - "description": "A unique (per-namespace) value that names the schema within the system.\n", + "name": "entity", + "description": "The real entity this is associated with (if available).\n", "args": [], + "type": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMessages", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + }, + "defaultValue": "{severity: INFO}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "HarvestMessageConnection", "ofType": null } }, @@ -48290,15 +49681,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "The kind of entity this schema applies to.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaKind", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -48306,8 +49697,8 @@ "deprecationReason": null }, { - "name": "name", - "description": "A human-readable name for the schema.\n", + "name": "identifier", + "description": "A unique identifier for the staged entity within the context of its `HarvestRecord`.\n", "args": [], "type": { "kind": "NON_NULL", @@ -48322,15 +49713,15 @@ "deprecationReason": null }, { - "name": "namespace", - "description": "A unique namespace the schema lives in.\n", + "name": "leaf", + "description": "Whether this staged entity is a leaf (has no children).\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, @@ -48338,8 +49729,20 @@ "deprecationReason": null }, { - "name": "rank", - "description": "The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent.", + "name": "parent", + "description": "The parent staged entity (if applicable).\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HarvestEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relativeDepth", + "description": "The relative depth of the staged entity (based on the attempt's `targetEntity`).\n", "args": [], "type": { "kind": "NON_NULL", @@ -48354,31 +49757,43 @@ "deprecationReason": null }, { - "name": "schemaDefinition", - "description": "A reference to the discrete schema definition", + "name": "root", + "description": "Whether this staged entity is a root (has no parent).\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinition", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, + { + "name": "schemaVersion", + "description": "The schema version that this will use (if available).\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "slug", - "description": "A fully-qualified unique value that can be used to refer to this schema within the system", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Slug", "ofType": null } }, @@ -48386,24 +49801,32 @@ "deprecationReason": null }, { - "name": "versionRanks", - "description": "A reference to the schema versions from this ranking", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HierarchicalSchemaVersionRank", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, @@ -48414,13 +49837,33 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "DescribesSchema", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null }, { "kind": "INTERFACE", "name": "Node", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestMessage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null } ], "enumValues": null, @@ -48428,19 +49871,19 @@ }, { "kind": "OBJECT", - "name": "HierarchicalSchemaVersionRank", - "description": "A ranking of a schema version from a certain point in the hierarchy. This can be used to generate\nnavigation or calculate statistics about what versions of a schema various entities contain.\n", + "name": "HarvestError", + "description": "An error that may occur during the harvesting process.\n", "fields": [ { - "name": "count", - "description": "The number of entities that implement this schema from this point in the hierarchy.", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -48448,15 +49891,15 @@ "deprecationReason": null }, { - "name": "declaration", - "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -48464,47 +49907,27 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "code", + "description": "A machine code that identifies the error for reprocessing and debugging.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "identifier", - "description": "A unique (per-namespace) value that names the schema within the system.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": "The kind of entity this schema applies to.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaKind", + "name": "ISO8601DateTime", "ofType": null } }, @@ -48512,15 +49935,15 @@ "deprecationReason": null }, { - "name": "name", - "description": "A human-readable name for the schema.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, @@ -48528,15 +49951,15 @@ "deprecationReason": null }, { - "name": "namespace", - "description": "A unique namespace the schema lives in.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, @@ -48544,31 +49967,27 @@ "deprecationReason": null }, { - "name": "rank", - "description": "The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent.", + "name": "message", + "description": "A more descriptive issue of the message, if available.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaDefinition", - "description": "A reference to the discrete schema definition", + "name": "metadata", + "description": "Raw metadata for the error. Should be displayed as inspectable JSON.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinition", + "kind": "SCALAR", + "name": "JSON", "ofType": null } }, @@ -48576,15 +49995,15 @@ "deprecationReason": null }, { - "name": "schemaVersion", - "description": "A reference to the discrete schema version", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaVersion", + "kind": "SCALAR", + "name": "Slug", "ofType": null } }, @@ -48592,15 +50011,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": "A fully-qualified unique value that can be used to refer to this schema within the system", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, @@ -48608,15 +50027,15 @@ "deprecationReason": null }, { - "name": "versionNumber", - "description": "A semantic version associated with the schema", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, @@ -48628,78 +50047,57 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "DescribesSchema", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null }, { "kind": "INTERFACE", "name": "Node", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null } ], "enumValues": null, "possibleTypes": null }, { - "kind": "SCALAR", - "name": "ID", - "description": "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.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "ISO8601Date", - "description": "An ISO 8601-encoded date", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "description": "An ISO 8601-encoded datetime", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "ISO8601Duration", - "description": "An ISO 8601-encoded duration", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Image", - "description": "An interface for various component types of an image attachment\nthat allow it to be identified in name and purpose.\n", + "kind": "OBJECT", + "name": "HarvestExample", + "description": "An example of various harvesting configurations, particularly extraction mapping templates.\n", "fields": [ { - "name": "alt", - "description": "Alt text for accessible images", + "name": "default", + "description": "Whether this should be considered a \"default\" example\nfor a given metadata / protocol combination.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contentType", - "description": "The MIME type of the image, if present", + "name": "description", + "description": "A description about the example, if available.\n", "args": [], "type": { "kind": "SCALAR", @@ -48710,59 +50108,47 @@ "deprecationReason": null }, { - "name": "dimensions", - "description": null, + "name": "extractionMappingTemplate", + "description": "The example's extraction mapping template which can be applied to harvest sources, mappings, and attempts.\n", "args": [], "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use width and height directly." - }, - { - "name": "height", - "description": "The height of the image, if present", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, "isDeprecated": false, "deprecationReason": null }, { - "name": "originalFilename", - "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "name": "generic", + "description": "Whether this is a generic example that is not tied\nto any specific protocol nor metadata format.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "purpose", - "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "name": "id", + "description": "The ID for the example.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ImagePurpose", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -48770,107 +50156,114 @@ "deprecationReason": null }, { - "name": "storage", - "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "name": "metadataFormatName", + "description": "The metadata format this example applies to.\n\nIt can be blank if the example is not metadata-specific.\n", "args": [], "type": { "kind": "ENUM", - "name": "AttachmentStorage", + "name": "HarvestMetadataFormat", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "url", - "description": "The URL for the image, if present.", + "name": "name", + "description": "The human-readable name for the example.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "width", - "description": "The width of the image, if present", + "name": "protocolName", + "description": "The protocol this example applies to.\n\nIt can be blank if the example is not protocol-specific.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", + "kind": "ENUM", + "name": "HarvestProtocol", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ImageIdentification", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "ImageDerivative", - "ofType": null }, { - "kind": "OBJECT", - "name": "ImageOriginal", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "ImageAttachment", - "description": "An attached image with standardized derivatives.", - "fields": [ - { - "name": "alt", - "description": "Alt text for accessible images", + "name": "schemaDeclarations", + "description": "A list of schema declarations that the mapping template can generate.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "hero", - "description": "A hero-sized mapping for derivative formats", + "name": "schemaVersions", + "description": "A list of schema versions that the mapping template can generate.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageSize", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMapping", + "description": "A specific mapping to be used by a `HarvestSource`,\npossibly an optional `HarvestSet`, and other options\nin order to harvest records from the source and produce\nentities.\n\nIt can produce a `HarvestAttempt`.\n", + "fields": [ { - "name": "large", - "description": "A large-sized mapping for derivative formats", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ImageSize", + "name": "AuthorizationResult", "ofType": null } }, @@ -48878,15 +50271,15 @@ "deprecationReason": null }, { - "name": "medium", - "description": "A medium-sized mapping for derivative formats", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ImageSize", + "name": "AuthorizationResult", "ofType": null } }, @@ -48894,27 +50287,15 @@ "deprecationReason": null }, { - "name": "metadata", - "description": "Configurable metadata for the image.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "original", - "description": "The original source for the image", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageOriginal", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -48922,27 +50303,15 @@ "deprecationReason": null }, { - "name": "originalFilename", - "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "purpose", - "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ImagePurpose", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -48950,15 +50319,15 @@ "deprecationReason": null }, { - "name": "small", - "description": "A small-sized mapping for derivative formats", + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageSize", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -48966,109 +50335,370 @@ "deprecationReason": null }, { - "name": "storage", - "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "name": "frequencyExpression", + "description": "This can be a cron expression as well as a human-readable expression like\n`\"every sunday at 5 am America/Los_Angeles\"`.\nThe system will attempt to validate and parse the expression when setting\nit in order to make sure it is something that Meru can handle.\n", "args": [], "type": { - "kind": "ENUM", - "name": "AttachmentStorage", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "thumb", - "description": "A thumb-sized mapping for derivative formats", - "args": [], + "name": "harvestAttempts", + "description": "Attempts produced by this mapping.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestAttemptOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ImageSize", + "name": "HarvestAttemptConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "HasAttachmentStorage", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ImageIdentification", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ImageDerivative", - "description": "A derivative of the image with a specific size and format.", - "fields": [ - { - "name": "alt", - "description": "Alt text for accessible images", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null }, { - "name": "contentType", - "description": "The MIME type of the image, if present", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "dimensions", + "name": "harvestMessages", "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + }, + "defaultValue": "{severity: INFO}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null - } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMessageConnection", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use width and height directly." + "isDeprecated": false, + "deprecationReason": null }, { - "name": "format", - "description": "The format of this derivative", - "args": [], + "name": "harvestRecords", + "description": "Records associated with this mapping.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestRecordOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ImageDerivativeFormat", + "kind": "OBJECT", + "name": "HarvestRecordConnection", "ofType": null } }, @@ -49076,63 +50706,71 @@ "deprecationReason": null }, { - "name": "height", - "description": "The height of the image, if present", + "name": "harvestSet", + "description": "The optionally-associated harvest set for this mapping.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", + "kind": "OBJECT", + "name": "HarvestSet", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "maxHeight", - "description": "The maximum height this size can occupy", + "name": "harvestSource", + "description": "The harvest source this belongs to.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "maxWidth", - "description": "The maximum width this size can occupy", + "name": "id", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "originalFilename", - "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "name": "lastScheduledAt", + "description": "This timestamp signifies when the harvest mapping last tried to schedule its\nattempts (if applicable).\n", "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "purpose", - "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "name": "mappingOptions", + "description": "Options that control mapping of entities during the harvesting process.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ImagePurpose", + "kind": "OBJECT", + "name": "HarvestOptionsMapping", "ofType": null } }, @@ -49140,15 +50778,15 @@ "deprecationReason": null }, { - "name": "size", - "description": "The size of this derivative", + "name": "metadataFormat", + "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "ImageDerivativeSize", + "name": "HarvestMetadataFormat", "ofType": null } }, @@ -49156,161 +50794,123 @@ "deprecationReason": null }, { - "name": "storage", - "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "name": "mode", + "description": "Whether this mapping is `MANUAL` or `SCHEDULED`. This field is not set\nthrough the admin section, but derived from parsing the mapping's\n`frequencyExpression`.\n\n`SCHEDULED` mappings will automatically create `HarvestAttempt`s\nfor the next several iterations of their `frequencyExpression`.\n", "args": [], "type": { - "kind": "ENUM", - "name": "AttachmentStorage", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestScheduleMode", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "url", - "description": "The URL for the image, if present.", + "name": "readOptions", + "description": "Options that control reading from the source.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestOptionsRead", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "width", - "description": "The width of the image, if present", + "name": "scheduleChangedAt", + "description": "This timestamp signifies the last time the frequency expression, or any\nof its derived fields, were changed.\n", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Image", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ImageIdentification", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ImageDerivativeFormat", - "description": "The format of a specific image derivative.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "PNG", - "description": "A Portable Network Graphics-formatted file, for legacy support on most all browsers.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "WEBP", - "description": "A more efficiently compressed image supported by most browsers worldwide.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ImageDerivativeSize", - "description": "The size of a specific image derivative.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "HERO", - "description": "A hero-sized image, constrained to 2880px wide with no height limit.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LARGE", - "description": "A large-sized image, constrained to 750px wide by 750px high.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MEDIUM", - "description": "A medium-sized image, constrained to 500px wide by 500px high.", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "SANS_TEXT", - "description": "A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit.", + "name": "scheduleData", + "description": "Derived information about the frequency expression (if valid and applicable),\nto provide insight for introspection.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestScheduleData", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "SMALL", - "description": "A small-sized image, constrained to 250px wide by 250px high.", + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "THUMB", - "description": "A thumb-sized image, constrained to 100px wide by 100px high.", + "name": "targetEntity", + "description": "The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "HarvestTarget", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "WITH_TEXT", - "description": "A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "ImageIdentification", - "description": "An interface for various component types of an image attachment\nthat allow it to be identified in name and purpose.\n", - "fields": [ - { - "name": "originalFilename", - "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "purpose", - "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ImagePurpose", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -49319,223 +50919,136 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + "interfaces": [ { - "kind": "OBJECT", - "name": "ImageAttachment", + "kind": "INTERFACE", + "name": "CommonModel", "ofType": null }, { - "kind": "OBJECT", - "name": "ImageDerivative", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "ImageOriginal", + "kind": "INTERFACE", + "name": "HarvestAttemptable", "ofType": null }, { - "kind": "OBJECT", - "name": "ImageSize", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null }, { - "kind": "OBJECT", - "name": "SiteLogoAttachment", + "kind": "INTERFACE", + "name": "HasHarvestExtractionMappingTemplate", "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "ImageMetadata", - "description": "Shared metadata for image attachments", - "fields": [ + }, { - "name": "alt", - "description": "Alt text for accessible images", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "ImageMetadataInput", - "description": "Shared metadata for updating image attachments", - "fields": null, - "inputFields": [ + "kind": "INTERFACE", + "name": "HasHarvestMetadataFormat", + "ofType": null + }, { - "name": "alt", - "description": "Alt text for accessible images", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasHarvestOptions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestMessage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null } ], - "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "ImageOriginal", - "description": "The original source for the image. While derivatives are processing, it could be useful\nfor a temporary preview in the admin section, or for troubleshooting.\n\nAs this is the raw image, it is not optimized for display in the frontend and is best\nused only as a fallback.\n", + "name": "HarvestMappingConnection", + "description": "The connection type for HarvestMapping.", "fields": [ { - "name": "alt", - "description": "Alt text for accessible images", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contentType", - "description": "The MIME type of the image, if present", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "dimensions", - "description": null, + "name": "edges", + "description": "A list of edges.", "args": [], "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMappingEdge", + "ofType": null + } } } }, - "isDeprecated": true, - "deprecationReason": "Use width and height directly." - }, - { - "name": "height", - "description": "The height of the image, if present", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, "isDeprecated": false, "deprecationReason": null }, { - "name": "originalFilename", - "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "purpose", - "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ImagePurpose", + "kind": "OBJECT", + "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "storage", - "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "AttachmentStorage", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": "The URL for the image, if present.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "width", - "description": "The width of the image, if present", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "HasAttachmentStorage", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Image", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ImageIdentification", + "name": "Paginated", "ofType": null } ], @@ -49543,200 +51056,209 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "ImagePurpose", - "description": "Image attachments on entities fulfill different purposes. This can\nbe used to distinguish them at the `ImageAttachment` level.\n", + "kind": "INPUT_OBJECT", + "name": "HarvestMappingCreateInput", + "description": "Autogenerated input type of HarvestMappingCreate", "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "HERO_IMAGE", - "description": "A hero image.", - "isDeprecated": false, - "deprecationReason": null - }, + "inputFields": [ { - "name": "LOGO", - "description": "A logo (on a Community).", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "OTHER", - "description": "A fallback for otherwise-unspecified images.", + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "SITE_LOGO", - "description": "The logo for the site.", + "name": "frequencyExpression", + "description": "This can be a cron expression as well as a human-readable expression like\n`\"every sunday at 5 am America/Los_Angeles\"`.\nThe system will attempt to validate and parse the expression when setting\nit in order to make sure it is something that Meru can handle.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "THUMBNAIL", - "description": "A thumbnail that appears next to the entity in lists, grids, etc.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ImageSize", - "description": "This describes a specific derivative style\nfor an attachment, e.g. small, medium, thumb.\n\nIt is further broken down into the various formats\nthe WDP generates, presently WEBP and PNG.\n", - "fields": [ - { - "name": "alt", - "description": "Alt text for accessible images", - "args": [], + "name": "harvestSetId", + "description": "An optional set to associate with the mapping.\n\nThis cannot be changed since mappings are intricately tied to their set (if applicable).\n", "type": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "height", - "description": "The (maximum) height for this size.", - "args": [], + "name": "harvestSourceId", + "description": "The harvest source to create the mapping for.\n\nThis cannot be changed since mappings are intricately tied to sources.\n", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "originalFilename", - "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", - "args": [], + "name": "mappingOptions", + "description": "Options that control mapping of entities during the harvesting process.\n", "type": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsMappingInput", "ofType": null }, + "defaultValue": "{autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false}", "isDeprecated": false, "deprecationReason": null }, { - "name": "png", - "description": "A png-formatted image derivative for this particular size.", - "args": [], + "name": "metadataFormat", + "description": "The metadata format for this mapping to use, which can be different from the Harvest Source.\n\nIt should default to whatever the harvest source uses.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageDerivative", + "kind": "ENUM", + "name": "HarvestMetadataFormat", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "purpose", - "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", - "args": [], + "name": "readOptions", + "description": "Options that control reading from the source.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ImagePurpose", - "ofType": null - } + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsReadInput", + "ofType": null }, + "defaultValue": "{maxRecords: 80000}", "isDeprecated": false, "deprecationReason": null }, { - "name": "size", - "description": null, - "args": [], + "name": "targetEntityId", + "description": "The community or collection to target for this mapping.\n\nThis can be changed if the mapping needs to be retargeted in the hierarchy.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ImageDerivativeSize", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMappingCreatePayload", + "description": "Autogenerated return type of HarvestMappingCreate.", + "fields": [ { - "name": "webp", - "description": "A webp-formatted image derivative for this particular size.", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageDerivative", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "width", - "description": "The (maximum) width for this size.", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ImageIdentification", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "InAnyOperatorInput", - "description": "Require that the `path` must include or be one of the strings provided in `value`.\n\nThe actual value of `path` may be an array (multiselect) or string (select).\n", - "fields": null, - "inputFields": [ + }, { - "name": "path", + "name": "errors", "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "value", + "name": "globalErrors", "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -49747,58 +51269,61 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "MutationGlobalError", "ofType": null } } } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "InstitutionSettings", - "description": "Configuration settings for the specific institution featured on this installation.", - "fields": [ + }, { - "name": "name", - "description": "The name of the institution.", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMapping", + "description": "The newly-modified harvest mapping, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, - "interfaces": [], + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", - "name": "InstitutionSettingsInput", - "description": "An object for updating the site's configuration", + "name": "HarvestMappingDestroyInput", + "description": "Autogenerated input type of HarvestMappingDestroy", "fields": null, "inputFields": [ { - "name": "name", - "description": "The name of the institution.", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", @@ -49807,121 +51332,185 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "harvestMappingId", + "description": "The harvest mapping to destroy.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, - { - "kind": "SCALAR", - "name": "Int", - "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, { "kind": "OBJECT", - "name": "IntegerProperty", - "description": null, + "name": "HarvestMappingDestroyPayload", + "description": "Autogenerated return type of HarvestMappingDestroy.", "fields": [ { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "defaultInteger", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": null, + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "integerValue", - "description": null, + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMappingEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -49929,25 +51518,77 @@ "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", + "kind": "OBJECT", + "name": "HarvestMapping", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestMappingOrder", + "description": "Sort a collection of `HarvestMapping` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort harvest mappings by their default order.", + "isDeprecated": false, + "deprecationReason": null }, { - "name": "label", - "description": null, - "args": [], + "name": "OLDEST", + "description": "Sort harvest mappings by oldest created date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort harvest mappings by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestMappingUpdateInput", + "description": "Autogenerated input type of HarvestMappingUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", "type": { "kind": "NON_NULL", "name": null, @@ -49957,59 +51598,126 @@ "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", - "args": [], + "name": "frequencyExpression", + "description": "This can be a cron expression as well as a human-readable expression like\n`\"every sunday at 5 am America/Los_Angeles\"`.\nThe system will attempt to validate and parse the expression when setting\nit in order to make sure it is something that Meru can handle.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMappingId", + "description": "The harvest mapping to update.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", - "args": [], + "name": "mappingOptions", + "description": "Options that control mapping of entities during the harvesting process.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsMappingInput", + "ofType": null + }, + "defaultValue": "{autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readOptions", + "description": "Options that control reading from the source.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsReadInput", + "ofType": null + }, + "defaultValue": "{maxRecords: 80000}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetEntityId", + "description": "The community or collection to target for this mapping.\n\nThis can be changed if the mapping needs to be retargeted in the hierarchy.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMappingUpdatePayload", + "description": "Autogenerated return type of HarvestMappingUpdate.", + "fields": [ { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "searchOperators", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", "description": null, "args": [], "type": { @@ -50022,44 +51730,60 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SearchOperator", + "kind": "OBJECT", + "name": "UserError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "searchPath", + "name": "globalErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMapping", + "description": "The newly-modified harvest mapping, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -50069,17 +51793,7 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "ScalarProperty", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "SearchableProperty", + "name": "StandardMutationPayload", "ofType": null } ], @@ -50088,140 +51802,51 @@ }, { "kind": "OBJECT", - "name": "Item", - "description": "An item that belongs to a collection", + "name": "HarvestMessage", + "description": "A single log message recorded during some aspect of harvesting.\n", "fields": [ { - "name": "accessControlList", - "description": "Derived access control list", + "name": "at", + "description": "The time the message occurred. This field should be favored at\nfor display over the model's default `createdAt` field.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "AccessControlList", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "accessGrants", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subject", - "description": null, - "type": { - "kind": "ENUM", - "name": "AccessGrantSubjectFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "AnyCollectionAccessGrantConnection", + "name": "AuthorizationResult", "ofType": null } }, @@ -50229,124 +51854,15 @@ "deprecationReason": null }, { - "name": "allAccessGrants", - "description": "A polymorphic connection for access grants from an entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subject", - "description": null, - "type": { - "kind": "ENUM", - "name": "AccessGrantSubjectFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnyAccessGrantConnection", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -50354,223 +51870,107 @@ "deprecationReason": null }, { - "name": "allowedActions", - "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ancestorByName", - "description": "Directly fetch a defined named ancestor by its name. It can be null,\neither because an invalid name was provided, the schema hierarchy is\nincomplete, or the association itself is optional.\n", - "args": [ - { - "name": "name", - "description": "The name of the ancestor to fetch", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "harvestAttempt", + "description": "The harvest attempt associatd with the message, if available.\n", + "args": [], "type": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "OBJECT", + "name": "HarvestAttempt", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ancestorOfType", - "description": "Look up an ancestor for this entity that implements a specific type. It ascends from this entity,\nso it will first check the parent, then the grandparent, and so on.\n", - "args": [ - { - "name": "schema", - "description": "A fully-qualified name of a schema to look for.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "harvestEntity", + "description": "The harvest entity associatd with the message, if available.\n", + "args": [], "type": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "OBJECT", + "name": "HarvestEntity", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "announcement", - "description": "Look up an announcement for this entity by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "harvestMapping", + "description": "The harvest mapping associatd with the message, if available.\n", + "args": [], "type": { "kind": "OBJECT", - "name": "Announcement", + "name": "HarvestMapping", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "announcements", - "description": "Announcements for a specific entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "AnnouncementOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "harvestRecord", + "description": "The harvest record associatd with the message, if available.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestSource", + "description": "The harvest source associated with the message.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "level", + "description": "The level of severity of the message.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnnouncementConnection", + "kind": "ENUM", + "name": "HarvestMessageLevel", "ofType": null } }, @@ -50578,8 +51978,40 @@ "deprecationReason": null }, { - "name": "applicableRoles", - "description": "The role(s) that gave the permissions to access this resource, if any.", + "name": "message", + "description": "The message itself.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Tags associated with the message. This may describe what section\nof the harvesting system triggered the message, and may support\nquerying in the future.\n", "args": [], "type": { "kind": "NON_NULL", @@ -50591,8 +52023,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Role", + "kind": "SCALAR", + "name": "String", "ofType": null } } @@ -50602,60 +52034,15 @@ "deprecationReason": null }, { - "name": "assetDownloads", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "precision", - "description": "The precision to apply.\n", - "type": { - "kind": "ENUM", - "name": "AnalyticsPrecision", - "ofType": null - }, - "defaultValue": "DAY", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subjectIds", - "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnalyticsEventCountSummary", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -50663,194 +52050,61 @@ "deprecationReason": null }, { - "name": "assetDownloadsByRegion", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subjectIds", - "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usOnly", - "description": "Filter by country_code = \"US\" only.\n", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnalyticsRegionCountSummary", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "assets", - "description": "Assets owned by this entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": null, - "type": { - "kind": "ENUM", - "name": "AssetKindFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AssetConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null }, { - "name": "assignableRoles", - "description": "The role(s) that the current user could assign to other users on this entity, if applicable.", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMessageConnection", + "description": "The connection type for HarvestMessage.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", @@ -50863,7 +52117,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Role", + "name": "HarvestMessageEdge", "ofType": null } } @@ -50873,121 +52127,8 @@ "deprecationReason": null }, { - "name": "assignedUsers", - "description": "Retrieve a list of user & role assignments for this entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContextualPermissionOrder", - "ofType": null - }, - "defaultValue": "USER_NAME_ASC", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContextualPermissionConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "attributions", - "description": "Attributions for the item.", + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", @@ -51000,7 +52141,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ItemAttribution", + "name": "HarvestMessage", "ofType": null } } @@ -51010,157 +52151,224 @@ "deprecationReason": null }, { - "name": "availableEntitiesFor", - "description": "Expose all available entities for this schema property.\n", - "args": [ - { - "name": "fullPath", - "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntitySelectOption", - "ofType": null - } - } + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "breadcrumbs", - "description": "Previous entries in the hierarchy", + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMessageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntityBreadcrumb", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "canonicalPermalink", - "description": "The canonical permalink for this resource, if one is set.\n", + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { - "kind": "OBJECT", - "name": "Permalink", + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMessage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "description": "Filtering options for `HarvestMessage` records.\n", + "fields": null, + "inputFields": [ + { + "name": "severity", + "description": "Filter by severity.\n", + "type": { + "kind": "ENUM", + "name": "HarvestMessageLevel", "ofType": null }, + "defaultValue": "INFO", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestMessageLevel", + "description": "Levels of severity associated with `HarvestMessage`s.\n\n`FATAL` is the most severe, `TRACE` is the least.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEBUG", + "description": "Debug information about the harvesting system.\n\nMay be hidden by default when displaying.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "children", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "ERROR", + "description": "An error that may or may not have interrupted a harvesting operation,\nbut could, for instance, just indicate that a single record failed.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FATAL", + "description": "A fatal error which likely caused an entire harvesting operation to stop.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INFO", + "description": "Informational messages that are higher priority than debug messages.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRACE", + "description": "Very low-level trace messages that may be used in the future\nto narrow down specific / performance issues with harvesting,\nbut at present likely won't appear.\n\nShould be hidden by default when displaying.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WARN", + "description": "Warnings about validation failures and similar things.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestMetadataFormat", + "description": "Supported metadata formats for harvesting.\n\n`HarvestProtocol` describes the transport method for individual records to be harvested,\nwhile `HarvestMetadataFormat` describes the structure of the data.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ESPLORO", + "description": "[Esploro Records](https://developers.exlibrisgroup.com/esploro/apis/xsd/esploro_record.xsd/)\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JATS", + "description": "[Journal Article Tag Suite](https://jats.nlm.nih.gov/)\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METS", + "description": "[Metadata Encoding and Transmission Standard](https://www.loc.gov/standards/mets/)\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODS", + "description": "[Metadata Object Description Schema](https://www.loc.gov/standards/mods/)\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OAIDC", + "description": "[OAI-PMH Dublin Core](https://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#dublincore)\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESSBOOKS", + "description": "Pressbooks 'Book' response\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMapping", + "description": "An advanced definition that allows mapping specific existing entities to act as parents\nfor certain harvested entities, based on their metadata matching a specific mapping.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ItemConnection", + "name": "AuthorizationResult", "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use Item.items" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "collection", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "Collection", + "name": "AuthorizationResult", "ofType": null } }, @@ -51168,15 +52376,15 @@ "deprecationReason": null }, { - "name": "community", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Community", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -51184,15 +52392,15 @@ "deprecationReason": null }, { - "name": "contributionRoles", - "description": "Look up contribution role configuration for this record.", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ContributionRoleConfiguration", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -51200,112 +52408,15 @@ "deprecationReason": null }, { - "name": "contributions", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributionOrder", - "ofType": null - }, - "defaultValue": "TARGET_TITLE_ASCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "field", + "description": "Which \"field\" this should try to match its `pattern` against.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ItemContributionConnection", + "kind": "ENUM", + "name": "HarvestMetadataMappingField", "ofType": null } }, @@ -51313,136 +52424,15 @@ "deprecationReason": null }, { - "name": "contributors", - "description": "Contributors to this element", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributorFilterKind", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributorOrder", - "ofType": null - }, - "defaultValue": "NAME_ASCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "prefix", - "description": "Search for contributors with names that start with the provided text.\n", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "id", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnyContributorConnection", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -51450,15 +52440,15 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": "The date this entity was added to the WDP", + "name": "pattern", + "description": "A regular expression / pattern to match against. Must be written to support postgres regular expressions,\nwhich are more limited than most modern languages but follow the ANSI spec as much as possible.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null } }, @@ -51466,15 +52456,15 @@ "deprecationReason": null }, { - "name": "currentlyHidden", - "description": "Whether the entity is _currently_ hidden, based on the server's time zone.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -51482,15 +52472,15 @@ "deprecationReason": null }, { - "name": "currentlyVisible", - "description": "Whether the entity is _currently_ visible, based on the server's time zone.\n", + "name": "targetEntity", + "description": "The entity that will act as the parent when this metadata mapping is matched.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "INTERFACE", + "name": "HarvestTarget", "ofType": null } }, @@ -51498,160 +52488,15 @@ "deprecationReason": null }, { - "name": "descendants", - "description": "Search and retrieve *all* descendants of this `Entity`, regardless of type.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "maxDepth", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "EntityDescendantOrder", - "ofType": null - } - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schema", - "description": "Filter by a namespace.name schema identifier", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityDescendantScopeFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "EntityDescendantConnection", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -51659,685 +52504,542 @@ "deprecationReason": null }, { - "name": "doi", - "description": "The Digital Object Identifier for this entity. See https://doi.org\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "doiData", - "description": "The data sanitized from `rawDOI`, including things like the URL and host.\n", + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMappingConnection", + "description": "The connection type for HarvestMetadataMapping.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "DOIData", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMetadataMappingEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityViews", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "precision", - "description": "The precision to apply.\n", - "type": { - "kind": "ENUM", - "name": "AnalyticsPrecision", - "ofType": null - }, - "defaultValue": "DAY", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "nodes", + "description": "A list of nodes.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AnalyticsEventCountSummary", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMetadataMapping", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityViewsByRegion", - "description": null, - "args": [ - { - "name": "dateFilter", - "description": "An optional date filter to apply.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "DateFilterInput", - "ofType": null - }, - "defaultValue": "{}", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usOnly", - "description": "Filter by country_code = \"US\" only.\n", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "AnalyticsRegionCountSummary", + "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "firstItem", - "description": "Retrieve the first matching item beneath this item.", - "args": [ - { - "name": "nodeFilter", - "description": "Describe the depth of entities to retrieve", - "type": { - "kind": "ENUM", - "name": "SubtreeNodeFilter", - "ofType": null - }, - "defaultValue": "CHILDREN", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityOrder", - "ofType": null - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schema", - "description": "Filter by a namespace.name schema identifier", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestMetadataMappingCreateInput", + "description": "Autogenerated input type of HarvestMetadataMappingCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "OBJECT", - "name": "Item", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestModificationStatus", - "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", - "args": [], + "name": "field", + "description": "Which \"field\" this should try to match its `pattern` against.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "HarvestModificationStatus", + "name": "HarvestMetadataMappingField", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestRecords", - "description": "The harvest record(s) associated with the entity, with most recent harvest records sorted to the top.\n\nIt is technically possible for multiple harvest records to have affected an entity.\n", - "args": [], + "name": "harvestSourceId", + "description": "The source to create the harvest metadata mapping for.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestRecord", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "hasItems", - "description": "Whether this item has any child items", - "args": [], + "name": "pattern", + "description": "A regular expression / pattern to match against. Must be written to support postgres regular expressions,\nwhich are more limited than most modern languages but follow the ANSI spec as much as possible.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "hasWeirdDOI", - "description": "For use in the admin, something to signify that data has been set on `rawDOI`\nthat could not be properly assigned to `doi`.\n", - "args": [], + "name": "targetEntityId", + "description": "The entity that will act as the parent when this metadata mapping is matched.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMappingCreatePayload", + "description": "Autogenerated return type of HarvestMetadataMappingCreate.", + "fields": [ { - "name": "heroImage", - "description": "A hero image for the entity, suitable for displaying in page headers", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "heroImageMetadata", - "description": "Configurable metadata for the hero_image attachment", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "OBJECT", - "name": "ImageMetadata", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "hidden", - "description": "Whether the entity's visibility is set to `HIDDEN`\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "hiddenAsOf", - "description": "Specify a time to check to see if the entity will be hidden.\n", - "args": [ - { - "name": "time", - "description": "If no value is provided, it will default to the current time.\n", - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "globalErrors", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "hiddenAt", - "description": "If present, this is the timestamp the entity was hidden at", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "hierarchicalDepth", - "description": "The depth of the hierarchical entity, taking into account any parent types", + "name": "harvestMetadataMapping", + "description": "The newly-modified harvest metadata mapping, if successful.\n", "args": [], + "type": { + "kind": "OBJECT", + "name": "HarvestMetadataMapping", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestMetadataMappingDestroyInput", + "description": "Autogenerated input type of HarvestMetadataMappingDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMetadataMappingId", + "description": "The harvest metadata mapping to destroy.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMappingDestroyPayload", + "description": "Autogenerated return type of HarvestMetadataMappingDestroy.", + "fields": [ { - "name": "id", + "name": "attributeErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "identifier", - "description": "A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers.", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "items", - "description": "Retrieve the items beneath this item", - "args": [ - { - "name": "access", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityPermissionFilter", - "ofType": null - }, - "defaultValue": "SKIP", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodeFilter", - "description": "Describe the depth of entities to retrieve", - "type": { - "kind": "ENUM", - "name": "SubtreeNodeFilter", - "ofType": null - }, - "defaultValue": "CHILDREN", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityOrder", - "ofType": null - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schema", - "description": "Filter by a namespace.name schema identifier", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ItemConnection", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layouts", - "description": "Access layouts for this entity.\n", + "name": "destroyedId", + "description": "The ID of the deleted model", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntityLayouts", - "ofType": null - } + "kind": "SCALAR", + "name": "ID", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "leaf", + "name": "errors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "linkTargetCandidates", - "description": "Available link targets for this entity", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": null, - "type": { - "kind": "ENUM", - "name": "LinkTargetCandidateFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": "\"\"", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMappingEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "LinkTargetCandidateConnection", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -52345,121 +53047,122 @@ "deprecationReason": null }, { - "name": "links", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "node", + "description": "The item at the end of the edge.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "EntityLinkConnection", + "name": "HarvestMetadataMapping", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestMetadataMappingField", + "description": "An enum describing which \"field\" to match on. An individual record\ncan try to match any number of fields in order to satisfy its mappings.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "IDENTIFIER", + "description": "Some sort of identifier for the record itself.\n", + "isDeprecated": false, + "deprecationReason": null }, { - "name": "markedForPurge", - "description": "Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent.\n", + "name": "RELATION", + "description": "Some sort of relationship identifier for the record.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "An attempt to map records based on their title value(s) to existing collections.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestMetadataMappingOrder", + "description": "Sort a collection of `HarvestMetadataMapping` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort harvest metadata mappings by their default order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OLDEST", + "description": "Sort harvest metadata mappings by oldest created date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort harvest metadata mappings by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestModificationStatus", + "description": "An enum which describes how harvesting actions will affect\na given record.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MODIFIED", + "description": "This record was created through harvesting actions and **has**\nbeen modified in the admin section. Harvest\n\nHarvesting actions will leave this record alone.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRISTINE", + "description": "This record was created through harvesting actions and **has not**\nbeen modified in the admin section.\n\nHarvesting actions will overwrite any data if they encounter this record again.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNHARVESTED", + "description": "This record was not created through harvesting actions.\n\nShould harvesting actions end up matching an unharvested record,\nit will change this value to `MODIFIED` and treat it as such.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestOptionsMapping", + "description": "Options that control mapping of entities during the harvesting process.\n", + "fields": [ + { + "name": "autoCreateVolumesAndIssues", + "description": "Harvesting certain journals may require creating volumes/issues automatically.\n", "args": [], "type": { "kind": "NON_NULL", @@ -52474,218 +53177,207 @@ "deprecationReason": null }, { - "name": "namedAncestors", - "description": "Fetch a list of named ancestors for this entity. This list is deterministically sorted\nto retrieve the \"closest\" ancestors first, ascending upwards in the hierarchy from there.\n\n**Note**: Like breadcrumbs, this association is intentionally not paginated for ease of use,\nbecause in practice a schema should not have many associations.\n", + "name": "linkIdentifiersGlobally", + "description": "When linking to existing entities, it may be necessary to use global identifiers,\nas there may be some entities that are created outside of a specific harvesting\nattempt, or exist elsewhere in the hierarchy.\n\nThis will look for a globally unique identifier for an entity, and fail if it finds\nduplicates.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NamedAncestor", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ordering", - "description": "Look up an ordering for this entity by identifier", - "args": [ - { - "name": "identifier", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "useMetadataMappings", + "description": "When resolving to existing entities, the system may rely on\nmetadata mappings to figure out where something should go based\non the presence of certain fields in the metadata.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsMappingInput", + "description": "Options that control mapping of entities during the harvesting process.\n", + "fields": null, + "inputFields": [ + { + "name": "autoCreateVolumesAndIssues", + "description": "Harvesting certain journals may require creating volumes/issues automatically.\n", "type": { - "kind": "OBJECT", - "name": "Ordering", + "kind": "SCALAR", + "name": "Boolean", "ofType": null }, + "defaultValue": "false", "isDeprecated": false, "deprecationReason": null }, { - "name": "orderingForSchema", - "description": "Look up an ordering that is set up to handle a specific schema.", - "args": [ - { - "name": "slug", - "description": "This should be of the `namespace:identifier` format.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "linkIdentifiersGlobally", + "description": "When linking to existing entities, it may be necessary to use global identifiers,\nas there may be some entities that are created outside of a specific harvesting\nattempt, or exist elsewhere in the hierarchy.\n\nThis will look for a globally unique identifier for an entity, and fail if it finds\nduplicates.\n", "type": { - "kind": "OBJECT", - "name": "Ordering", + "kind": "SCALAR", + "name": "Boolean", "ofType": null }, + "defaultValue": "false", "isDeprecated": false, "deprecationReason": null }, { - "name": "orderings", - "description": "Retrieve a connection of orderings for the parent object.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "availability", - "description": "Optionally filter orderings by whether they are enabled or disabled.", - "type": { - "kind": "ENUM", - "name": "OrderingAvailabilityFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "OrderingOrder", - "ofType": null - }, - "defaultValue": "DETERMINISTIC", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibility", - "description": "Optionally filter orderings by whether they are visible or hidden.", - "type": { - "kind": "ENUM", - "name": "OrderingVisibilityFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null + "name": "useMetadataMappings", + "description": "When resolving to existing entities, the system may rely on\nmetadata mappings to figure out where something should go based\non the presence of certain fields in the metadata.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestOptionsRead", + "description": "Options that control reading from the source.\n", + "fields": [ + { + "name": "maxRecords", + "description": "The maximum number of records to read from the source per attempt.\n\nThe system will not paginate beyond this count.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsReadInput", + "description": "Options that control reading from the source.\n", + "fields": null, + "inputFields": [ + { + "name": "maxRecords", + "description": "The maximum number of records to read from the source per attempt.\n\nThe system will not paginate beyond this count.\n", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "80000", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestProtocol", + "description": "Protocols for harvesting. Only `OAI` is presently supported.\n\n`HarvestProtocol` describes the transport method for individual records to be harvested,\nwhile `HarvestMetadataFormat` describes the structure of the data.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OAI", + "description": "[OAI-PMH](https://www.openarchives.org/OAI/2.0/guidelines.htm)\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESSBOOKS", + "description": "[Pressbooks API](https://pressbooks.org/dev-guides/rest-api/)\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "A fallback value for protocols that should not appear under normal circumstances.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestPruneMode", + "description": "The selection criteria for pruning entities from a harvest.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EVERYTHING", + "description": "Prune **all** entities that have been harvested by the source or attempt.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNMODIFIED", + "description": "Prune **only** unmodified harvested entities.\n\nNote that unmodified entities _may_ be left behind\nif one of their child entities has been modified.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecord", + "description": "An object representing a single record in the `HarvestSource`.\nIt can produce one or more harvest entities.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingConnection", + "name": "AuthorizationResult", "ofType": null } }, @@ -52693,129 +53385,47 @@ "deprecationReason": null }, { - "name": "page", - "description": "Look up a page for this entity by slug", - "args": [ - { - "name": "slug", - "description": "**Note**: Unlike most other model types, a page's slug is just a string\nas opposed to our custom `Slug` type. They are not designed to be\nopaque, but instead be something human-readable that can appear in URIs.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "Page", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pages", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PageConnection", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -52823,20 +53433,20 @@ "deprecationReason": null }, { - "name": "parent", - "description": null, + "name": "entityCount", + "description": "The number of entities this record can/will produce (if available).\n", "args": [], "type": { - "kind": "UNION", - "name": "ItemParent", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinks", - "description": "All permalinks associated with this resource.\n", + "name": "harvestEntities", + "description": "Staged entities that were extracted from this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -52849,7 +53459,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Permalink", + "name": "HarvestEntity", "ofType": null } } @@ -52859,8 +53469,8 @@ "deprecationReason": null }, { - "name": "permissions", - "description": "An array of hashes that can be requested to load in a context", + "name": "harvestErrors", + "description": "A list of errors that are associated with this harvesting type.\n", "args": [], "type": { "kind": "NON_NULL", @@ -52873,59 +53483,19 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "PermissionGrant", + "name": "HarvestError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "published", - "description": "The date this entity was published", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VariablePrecisionDate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "rawDOI", - "description": "The value that was set on the entity. It will be validated and sanitized\nand be set on `doi` if possible.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Harvest errors are no longer returned nor generated. Check the harvest messages instead.\n" }, { - "name": "relatedItems", - "description": "Retrieve linked items of the same schema type", + "name": "harvestMessages", + "description": null, "args": [ - { - "name": "access", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityPermissionFilter", - "ofType": null - }, - "defaultValue": "SKIP", - "isDeprecated": false, - "deprecationReason": null - }, { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", @@ -52950,6 +53520,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + }, + "defaultValue": "{severity: INFO}", + "isDeprecated": false, + "deprecationReason": null + }, { "name": "first", "description": "Returns the first _n_ elements from the list.", @@ -52975,14 +53557,22 @@ "deprecationReason": null }, { - "name": "order", - "description": null, + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", "type": { - "kind": "ENUM", - "name": "EntityOrder", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + } + } }, - "defaultValue": "PUBLISHED_DESCENDING", + "defaultValue": "[]", "isDeprecated": false, "deprecationReason": null }, @@ -53028,7 +53618,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ItemConnection", + "name": "HarvestMessageConnection", "ofType": null } }, @@ -53036,15 +53626,15 @@ "deprecationReason": null }, { - "name": "root", - "description": null, + "name": "harvestSource", + "description": "The harvest source this belongs to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "HarvestSource", "ofType": null } }, @@ -53052,15 +53642,15 @@ "deprecationReason": null }, { - "name": "schemaDefinition", + "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinition", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -53068,15 +53658,15 @@ "deprecationReason": null }, { - "name": "schemaInstanceContext", - "description": "The context for our schema instance. Includes form values and necessary referents.\n", + "name": "identifier", + "description": "A unique identifier for the record within the `HarvestSource`.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaInstanceContext", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -53084,142 +53674,60 @@ "deprecationReason": null }, { - "name": "schemaProperties", - "description": "A list of schema properties associated with this instance or version.\n", + "name": "jsonMetadataSource", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "JSON", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaProperty", - "description": "Read a single schema property by its full path.\n", - "args": [ - { - "name": "fullPath", - "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schemaRanks", - "description": null, + "name": "metadataFormat", + "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HierarchicalSchemaRank", - "ofType": null - } - } + "kind": "ENUM", + "name": "HarvestMetadataFormat", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaVersion", - "description": null, + "name": "rawMetadataSource", + "description": "The raw metadata extracted from `rawSource`, with minimal processing applied.\n\nWhen rendering in the frontend, this should be in some sort of fixed-width font / code view,\nas it will be JSON, XML, or similar types of data.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "search", - "description": "Search from this level of the API using it as the origin", - "args": [ - { - "name": "maxDepth", - "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibility", - "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", - "type": { - "kind": "ENUM", - "name": "EntityVisibilityFilter", - "ofType": null - }, - "defaultValue": "VISIBLE", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "rawSource", + "description": "The raw source extracted from the protocol.\n\nWhen rendering in the frontend, this should be in some sort of fixed-width font / code view,\nas it will be JSON, XML, or similar types of data.\n", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SearchScope", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -53234,39 +53742,15 @@ "deprecationReason": null }, { - "name": "subtitle", - "description": "A human-readable subtitle for the entity.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "summary", - "description": "A description of the contents of the entity.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "thumbnail", - "description": "A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc.", + "name": "status", + "description": "The status of the record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", + "kind": "ENUM", + "name": "HarvestRecordStatus", "ofType": null } }, @@ -53274,27 +53758,31 @@ "deprecationReason": null }, { - "name": "thumbnailMetadata", - "description": "Configurable metadata for the thumbnail attachment", + "name": "underlyingDataFormat", + "description": "An enum describing how the `rawSource` / `rawMetadataSource` is encoded.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UnderlyingDataFormat", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "A human-readable title for the entity.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, @@ -53302,273 +53790,164 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": "The date this entity was last updated within the WDP", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "userAccessGrants", - "description": "Access grants for specific users", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasHarvestErrors", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasHarvestMetadataFormat", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestMessage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecordConnection", + "description": "The connection type for HarvestRecord.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "UserCollectionAccessGrantConnection", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestRecordEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "userGroupAccessGrants", - "description": "Not presently used", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "nodes", + "description": "A list of nodes.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "UserGroupCollectionAccessGrantConnection", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibility", - "description": "If an entity is available in the frontend", + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityVisibility", + "kind": "OBJECT", + "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "visible", - "description": "Whether the entity's visibility is set to `VISIBLE`.\n", + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecordEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -53576,190 +53955,204 @@ "deprecationReason": null }, { - "name": "visibleAfterAt", - "description": "If present, this is the timestamp an entity is visible after", + "name": "node", + "description": "The item at the end of the edge.", "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibleAsOf", - "description": "Specify a time to check to see if the entity will be visible.\n", - "args": [ - { - "name": "time", - "description": "If no value is provided, it will default to the current time.\n", - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "HarvestRecord", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "visibleUntilAt", - "description": "If present, this is the timestamp an entity is visible until", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Accessible", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Attachable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Attributable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ChildEntity", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Contributable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "EntityBase", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ExposesPermissions", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasDOI", - "ofType": null - }, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestRecordOrder", + "description": "Sort a collection of `HarvestRecord` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "kind": "INTERFACE", - "name": "HasDefaultTimestamps", - "ofType": null + "name": "DEFAULT", + "description": "Sort harvest records by their default order.", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "HasEntityAnalytics", - "ofType": null + "name": "OLDEST", + "description": "Sort harvest records by oldest created date.", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "HasEntityBreadcrumbs", - "ofType": null - }, + "name": "RECENT", + "description": "Sort harvest records by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestRecordStatus", + "description": "A harvested record can exist in a number of statuses.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "kind": "INTERFACE", - "name": "HasHarvestModificationStatus", - "ofType": null + "name": "ACTIVE", + "description": "An record that is considered active and ready to be extracted into entities.\n", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "HasSchemaProperties", - "ofType": null + "name": "DELETED", + "description": "A record that was deleted in the upstream harvest source.\n", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "Node", - "ofType": null + "name": "PENDING", + "description": "A brand new record that hasn't been processed yet.\n", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "OrderingEntryable", - "ofType": null - }, + "name": "SKIPPED", + "description": "A record that was skipped over for some validation reason.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestScheduleData", + "description": null, + "fields": [ { - "kind": "INTERFACE", - "name": "Permalinkable", - "ofType": null + "name": "cronExpression", + "description": "The frequency expression as a cron statement, regardless\nof its original syntax.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "ReferencesEntityVisibility", - "ofType": null + "name": "frequencyMax", + "description": "The maximum frequency between occurrences, expressed as a duration.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "ReferencesGlobalEntityDates", - "ofType": null + "name": "frequencyMin", + "description": "The minimum frequency between occurrences, expressed as a duration.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "SchemaInstance", - "ofType": null - }, + "name": "timeZone", + "description": "If the frequency expression included time zone information,\nthis will expose which time zone is being used. Otherwise,\nthe frequency will use the Meru installation time zone.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestScheduleMode", + "description": "Harvest schedule mode enum\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "kind": "INTERFACE", - "name": "Searchable", - "ofType": null + "name": "MANUAL", + "description": "", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null + "name": "SCHEDULED", + "description": "", + "isDeprecated": false, + "deprecationReason": null } ], - "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "ItemAttribution", - "description": "Attributions for items.\n", + "name": "HarvestSet", + "description": "The concept of a \"set\" within a given `HarvestSource`. It can be used in order to fetch\na subset of data with a `HarvestMapping`. These are not created directly in Meru, but\ninstead are fetched by the `HarvestSource` and internally managed based on its `protocol`.\n", "fields": [ { - "name": "contributor", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "ContributorBase", + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -53768,7 +54161,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -53782,6 +54175,50 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "An optional description for the set (if available).\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestSource", + "description": "The source for the harvest set.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "id", "description": null, @@ -53799,24 +54236,32 @@ "deprecationReason": null }, { - "name": "roles", - "description": "A priority-ordered list of the roles the associated contributor had.\n", + "name": "identifier", + "description": "A unique, machine-readable string that identifies the set for the specific source.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A human-readable name that describes the set (if available).\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null } }, "isDeprecated": false, @@ -53824,7 +54269,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -53840,7 +54285,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -53853,13 +54298,39 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "Attribution", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null }, { @@ -53878,8 +54349,8 @@ }, { "kind": "OBJECT", - "name": "ItemConnection", - "description": "The connection type for Item.", + "name": "HarvestSetConnection", + "description": "The connection type for HarvestSet.", "fields": [ { "name": "edges", @@ -53896,7 +54367,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ItemEdge", + "name": "HarvestSetEdge", "ofType": null } } @@ -53920,7 +54391,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Item", + "name": "HarvestSet", "ofType": null } } @@ -53959,79 +54430,138 @@ }, { "kind": "OBJECT", - "name": "ItemContribution", - "description": "A contribution to an item", + "name": "HarvestSetEdge", + "description": "An edge in a connection.", "fields": [ { - "name": "affiliation", - "description": "A potentially-overridden value from person contributors", + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributionRole", - "description": "The actual role", + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ControlledVocabularyItem", + "name": "HarvestSet", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestSetFilterInput", + "description": "Filtering options for `HarvestSet` records.\n", + "fields": null, + "inputFields": [ + { + "name": "identifier", + "description": "Filter by identifier.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "contributor", - "description": null, - "args": [], + "name": "name", + "description": "Filter by name.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Contributor", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributorKind", - "description": null, - "args": [], + "name": "prefix", + "description": "Filter by prefix.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ContributorKind", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestSetOrder", + "description": "Sort a collection of `HarvestSet` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort harvest sets by their default order.", "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "OLDEST", + "description": "Sort harvest sets by oldest created date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort harvest sets by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestSource", + "description": "A source from which to harvest entities.\n\nIt can produce a `HarvestAttempt`.\n", + "fields": [ + { + "name": "baseURL", + "description": "The URL to fetch from. It should be just the base URL, without any OAI verbs or similar.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null } }, @@ -54039,15 +54569,15 @@ "deprecationReason": null }, { - "name": "displayName", - "description": "A potentially-overridden display name value for all contributor types", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -54055,15 +54585,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -54071,27 +54601,31 @@ "deprecationReason": null }, { - "name": "innerPosition", - "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _after_ contribution role ranking.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "item", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Item", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -54099,8 +54633,8 @@ "deprecationReason": null }, { - "name": "location", - "description": "A potentially-overridden value from organization contributors", + "name": "description", + "description": "An optional, wordier description for the source that may offer insight as to its intended\npurpose within the installation.\n", "args": [], "type": { "kind": "SCALAR", @@ -54111,15 +54645,15 @@ "deprecationReason": null }, { - "name": "metadata", - "description": null, + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ContributionMetadata", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -54127,208 +54661,358 @@ "deprecationReason": null }, { - "name": "outerPosition", - "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _before_ contribution role ranking, superseding everything else.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": "An arbitrary text value describing the role the contributor had", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": true, - "deprecationReason": "Use `roleLabel` instead." - }, - { - "name": "roleLabel", - "description": "An arbitrary text value describing the role the contributor had", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slug", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null + "name": "harvestAttempts", + "description": "Attempts produced by this source.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestAttemptOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": "A potentially-overridden value from person contributors", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "HarvestAttemptConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Contribution", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ContributionBase", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ItemContributionConnection", - "description": "The connection type for ItemContribution.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", - "args": [], + "name": "harvestMappings", + "description": "Mappings associated with the harvest source.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestMappingOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ItemContributionEdge", - "ofType": null - } - } + "kind": "OBJECT", + "name": "HarvestMappingConnection", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", + "name": "harvestMessages", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + }, + "defaultValue": "{severity: INFO}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ItemContribution", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + } } - } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageInfo", - "description": "Information to aid in pagination.", - "args": [], + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "PageInfo", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ItemContributionEdge", - "description": "An edge in a connection.", - "fields": [ - { - "name": "cursor", - "description": "A cursor for use in pagination.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", + "name": "HarvestMessageConnection", "ofType": null } }, @@ -54336,42 +55020,112 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ItemContribution", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ItemEdge", - "description": "An edge in a connection.", - "fields": [ - { - "name": "cursor", - "description": "A cursor for use in pagination.", - "args": [], + "name": "harvestMetadataMappings", + "description": "Metadata mappings used for advanced features that allow matching patterns to existing harvest targets.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestMetadataMappingOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "HarvestMetadataMappingConnection", "ofType": null } }, @@ -54379,131 +55133,289 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", - "args": [], + "name": "harvestRecords", + "description": "Records associated with this source.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestRecordOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "Item", + "name": "HarvestRecordConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "UNION", - "name": "ItemParent", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null }, { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "SCALAR", - "name": "JSON", - "description": "Represents untyped JSON", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "LayoutDefinition", - "description": "Entities within the system have layouts associated with their schema,\nthat can eventually be overridden for more custom approaches.\n\nThis interface defines the *definition* for one such layout, while any\ngiven entity will also have its own LayoutInstance.\n", - "fields": [ + "name": "harvestSets", + "description": "Sets associated with the harvest source.\n\nA single source may have thousands of sets associated with it,\nso it must be paginated.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestSetFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestSetFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestSetOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestSetConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "layoutKind", + "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "HeroLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ListItemLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MainLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MetadataLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "NavigationLayoutDefinition", - "ofType": null }, { - "kind": "OBJECT", - "name": "SupplementaryLayoutDefinition", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "LayoutInstance", - "description": "An interface describing an instance type that can be rendered for a given entity.\n", - "fields": [ - { - "name": "allHidden", - "description": "Whether all templates in this instance are hidden.\n", + "name": "identifier", + "description": "A unique, machine-readable identifier. Requirements:\n\n* At least three characters: alphanumeric, hyphens, underscores\n* All lowercase\n* No whitespace\n* No consecutive hyphens nor underscores.\n\nCannot be changed once created. To reuse an identifier, the original source\nmust be destroyed.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -54511,15 +55423,15 @@ "deprecationReason": null }, { - "name": "allSlotsEmpty", - "description": "Whether all slots in all template instances in this layout are empty.\n", + "name": "mappingOptions", + "description": "Options that control mapping of entities during the harvesting process.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "HarvestOptionsMapping", "ofType": null } }, @@ -54527,15 +55439,15 @@ "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this layout instance.\n", + "name": "metadataFormat", + "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "ENUM", + "name": "HarvestMetadataFormat", "ofType": null } }, @@ -54543,129 +55455,277 @@ "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "name", + "description": "A unique name for the source. Purely descriptive.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "protocol", + "description": "The protocol for this source.\n\nCannot be changed once created.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "LayoutKind", + "name": "HarvestProtocol", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Renderable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "HeroLayoutInstance", - "ofType": null }, { - "kind": "OBJECT", - "name": "ListItemLayoutInstance", - "ofType": null + "name": "readOptions", + "description": "Options that control reading from the source.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestOptionsRead", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "MainLayoutInstance", + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "An enum that describes the functional state for harvest sources.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestSourceStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", "ofType": null }, { - "kind": "OBJECT", - "name": "MetadataLayoutInstance", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "NavigationLayoutInstance", + "kind": "INTERFACE", + "name": "HarvestAttemptable", "ofType": null }, { - "kind": "OBJECT", - "name": "SupplementaryLayoutInstance", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null - } - ] - }, - { - "kind": "ENUM", - "name": "LayoutKind", - "description": "The various kinds of `Layout`s in the system.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + }, { - "name": "HERO", - "description": "The \"hero\" layout for an Entity.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasHarvestExtractionMappingTemplate", + "ofType": null }, { - "name": "LIST_ITEM", - "description": "A layout describing how an entity should look when it is being rendered.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasHarvestMetadataFormat", + "ofType": null }, { - "name": "MAIN", - "description": "The \"main\" layout for the landing page of an entity.\n\nIt is where most of the detail on an entity should go.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasHarvestOptions", + "ofType": null }, { - "name": "METADATA", - "description": "A layout for controlling how metadata should render.\n", + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestMessage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourceConnection", + "description": "The connection type for HarvestSource.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestSourceEdge", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "NAVIGATION", - "description": "A layout describing how an entity should be navigated.\n", + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "SUPPLEMENTARY", - "description": "A shared layout for certain supplementary routes like contributors and metrics.\n", + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null } ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", - "name": "LinkEntityInput", - "description": "Autogenerated input type of LinkEntity", + "name": "HarvestSourceCreateInput", + "description": "Autogenerated input type of HarvestSourceCreate", "fields": null, "inputFields": [ + { + "name": "baseURL", + "description": "The URL to fetch from. It should be just the base URL, without any OAI verbs or similar.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", @@ -54679,14 +55739,26 @@ "deprecationReason": null }, { - "name": "operator", - "description": "The 'type' of link", + "name": "description", + "description": "An optional, wordier description for the source that may offer insight as to its intended\npurpose within the installation.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityLinkOperator", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -54695,14 +55767,14 @@ "deprecationReason": null }, { - "name": "sourceId", - "description": "The ID for the source entity", + "name": "identifier", + "description": "A unique, machine-readable identifier. Requirements:\n\n* At least three characters: alphanumeric, hyphens, underscores\n* All lowercase\n* No whitespace\n* No consecutive hyphens nor underscores.\n\nCannot be changed once created. To reuse an identifier, the original source\nmust be destroyed.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, @@ -54711,20 +55783,76 @@ "deprecationReason": null }, { - "name": "targetId", - "description": "The ID for the target entity", + "name": "mappingOptions", + "description": "Options that control mapping of entities during the harvesting process.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsMappingInput", + "ofType": null + }, + "defaultValue": "{autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadataFormat", + "description": "The metadata format for this source to use by default.\n\nMappings can override this, but it cannot be changed currently.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestMetadataFormat", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A unique name for the source. Purely descriptive.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "protocol", + "description": "The protocol for this source.\n\nCannot be changed once created.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestProtocol", + "ofType": null + } + }, + "defaultValue": "OAI", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readOptions", + "description": "Options that control reading from the source.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsReadInput", + "ofType": null + }, + "defaultValue": "{maxRecords: 80000}", + "isDeprecated": false, + "deprecationReason": null } ], "interfaces": null, @@ -54733,8 +55861,8 @@ }, { "kind": "OBJECT", - "name": "LinkEntityPayload", - "description": "Autogenerated return type of LinkEntity.", + "name": "HarvestSourceCreatePayload", + "description": "Autogenerated return type of HarvestSourceCreate.", "fields": [ { "name": "attributeErrors", @@ -54833,12 +55961,12 @@ "deprecationReason": null }, { - "name": "link", - "description": "The created or updated link, if applicable", + "name": "harvestSource", + "description": "The newly-modified harvest source, if successful.\n", "args": [], "type": { "kind": "OBJECT", - "name": "EntityLink", + "name": "HarvestSource", "ofType": null }, "isDeprecated": false, @@ -54857,389 +55985,616 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "LinkListBackground", - "description": "An enumerated value associated with the templating subsystem.\n", + "kind": "INPUT_OBJECT", + "name": "HarvestSourceDestroyInput", + "description": "Autogenerated input type of HarvestSourceDestroy", "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DARK", - "description": "A dark gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, + "inputFields": [ { - "name": "LIGHT", - "description": "A light gradient is applied to the background of this template.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "NONE", - "description": "No background is applied to this template.\n", + "name": "harvestSourceId", + "description": "The harvest source to destroy.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "LinkListSelectionMode", - "description": "An enum used to control the mode of selection for a link list template.\n", - "fields": null, - "inputFields": null, "interfaces": null, - "enumValues": [ - { - "name": "DYNAMIC", - "description": "Render links from a dynamic list, determined at query time.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MANUAL", - "description": "Render links from a manual list set on each individual entity. See `manualListName` for how this works.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], + "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "LinkListTemplateDefinition", - "description": null, + "name": "HarvestSourceDestroyPayload", + "description": "Autogenerated return type of HarvestSourceDestroy.", "fields": [ { - "name": "background", - "description": "The background gradient to use for this template. Affects presentation.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { - "kind": "ENUM", - "name": "LinkListBackground", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "browseStyle", - "description": "A boolean used to describe list templates that should match browse style as close as possible.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "dynamicOrderingDefinition", - "description": "When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure\nas schemas to define a dynamic ordering that is resolved at runtime and based\non the `selectionSource`.\n", + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", "args": [], "type": { - "kind": "OBJECT", - "name": "OrderingDefinition", + "kind": "SCALAR", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityContext", - "description": "Enumerate how much context to show when listing entities.\n\nReplaces `showEntityContext`.\n", + "name": "destroyedId", + "description": "The ID of the deleted model", "args": [], "type": { - "kind": "ENUM", - "name": "ListEntityContext", + "kind": "SCALAR", + "name": "ID", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", + "name": "errors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "layoutKind", + "name": "globalErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "manualListName", - "description": "When `selectionMode` is set to `MANUAL`, the purpose of this property\nis to specify a name under which all the manual selections (per entity)\nwill be stored. This allows a layout to have multiple templates of the\nsame type using different lists, that will persist across rearrangements\nof the layout _without_ losing connections between entities.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { "kind": "SCALAR", - "name": "SchemaComponent", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null }, { - "name": "seeAllButtonLabel", - "description": "", + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "seeAllOrderingIdentifier", - "description": "If provided, this will expose an ordering on the template instance that can\nbe used to generate a link to the ordering in the frontend.\n", + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { - "kind": "SCALAR", - "name": "SchemaComponent", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestSourceOrder", + "description": "Sort a collection of `HarvestSource` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort harvest sources by their default order.", + "isDeprecated": false, + "deprecationReason": null }, { - "name": "selectionFallbackMode", - "description": "The fallback mode to use when rendering a list of entities, when the list from\n`selectionMode` is empty and `useSelectionFallback` has been set to true.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "LinkListSelectionMode", - "ofType": null - }, + "name": "OLDEST", + "description": "Sort harvest sources by oldest created date.", "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionLimit", - "description": "Regardless of `selectionMode`, this limit will be applied on whatever resulting\nlist of entities are produced, so that only up to that amount of entities are\nrendered in the template proper.\n", - "args": [], + "name": "RECENT", + "description": "Sort harvest sources by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestSourcePruneEntitiesInput", + "description": "Autogenerated input type of HarvestSourcePruneEntities", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionMode", - "description": "The default mode to use when rendering a list of entities.\n\nSee also `selectionFallbackMode` and `useSelectionFallback`.\n", - "args": [], + "name": "harvestSourceId", + "description": "The harvest source to update.\n", "type": { - "kind": "ENUM", - "name": "LinkListSelectionMode", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionSource", - "description": "When selecting entities based on `selectionMode`, this property determines\nwhich entity (relevant to the rendering entity) should be used for lookups.\n\nBy default, it is `self`, which means the rendering entity itself.\n\nIt can also support things like `ancestor.journal`, `ancestor.issue`, etc.,\nin order to render a list of values in its parent.\n", + "name": "mode", + "description": "Whether to prune `PRISTINE` or **all** harvested entities.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestPruneMode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourcePruneEntitiesPayload", + "description": "Autogenerated return type of HarvestSourcePruneEntities.", + "fields": [ + { + "name": "attributeErrors", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "TemplateSelectionSource", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionSourceAncestorName", - "description": "The derived name of the ancestor used for the `selectionSource`.\n\nExposed for introspection only.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", - "name": "SchemaComponent", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionSourceMode", - "description": "An enum representing what mode `selectionSource` is in. Not directly set,\nit is used internally for lookups.\n", + "name": "errors", + "description": null, "args": [], "type": { - "kind": "ENUM", - "name": "SelectionSourceMode", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionUnbounded", - "description": "When true, this takes priority over `selectionLimit`. It allows an entire\nmatching list of records to be retrieved. It should be used with caution,\nsince very large entity trees could cause responses to be slow.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "showContributors", - "description": "Show contributors when listing entities.\n", + "name": "harvestSource", + "description": "The harvest source, if successful.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "HarvestSource", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HarvestSourceStatus", + "description": "An enum that describes the functional state for harvest sources.\n\nHarvest sources are checked on a regular basis and can also be\nmanually rechecked with harvestSourceCheck\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "An active harvest source has been recently validated as working\nand thus can be used for harvesting.\n", + "isDeprecated": false, + "deprecationReason": null }, { - "name": "showEntityContext", - "description": "Show additional context about each entity in the selection.\n", - "args": [], + "name": "INACTIVE", + "description": "An inactive harvest source has been recently validated as not working\nand cannot be used for harvesting.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HarvestSourceUpdateInput", + "description": "Autogenerated input type of HarvestSourceUpdate", + "fields": null, + "inputFields": [ + { + "name": "baseURL", + "description": "The URL to fetch from. It should be just the base URL, without any OAI verbs or similar.\n", "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, - "isDeprecated": true, - "deprecationReason": "Use entity_context enum instead" + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "showHeroImage", - "description": "", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "showNestedEntities", - "description": "Show nested items from the associated listItemLayouts in order to generate\na two-tier list.\n", - "args": [], + "name": "description", + "description": "An optional, wordier description for the source that may offer insight as to its intended\npurpose within the installation.\n", "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "showSeeAllButton", - "description": "", - "args": [], + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, - "isDeprecated": true, - "deprecationReason": "Use seeAllOrdering on the instance instead." + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "slots", - "description": "Slot definitions for this template.\n", - "args": [], + "name": "harvestSourceId", + "description": "The harvest source to update.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "LinkListTemplateDefinitionSlots", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, - "args": [], + "name": "mappingOptions", + "description": "Options that control mapping of entities during the harvesting process.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsMappingInput", + "ofType": null + }, + "defaultValue": "{autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A unique name for the source. Purely descriptive.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "String", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "templateKind", + "name": "readOptions", + "description": "Options that control reading from the source.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestOptionsReadInput", + "ofType": null + }, + "defaultValue": "{maxRecords: 80000}", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourceUpdatePayload", + "description": "Autogenerated return type of HarvestSourceUpdate.", + "fields": [ + { + "name": "attributeErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", @@ -55250,52 +56605,72 @@ "deprecationReason": null }, { - "name": "updatedAt", + "name": "errors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "useSelectionFallback", - "description": "Controls whether or not to use `selectionFallbackMode` if the entity list returned\nvia `selectionMode` turns out to be empty at runtime.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "variant", - "description": "The variant rendering mode to use for this template. Affects presentation.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "ENUM", - "name": "LinkListVariant", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "width", - "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", + "name": "harvestSource", + "description": "The newly-modified harvest source, if successful.\n", "args": [], "type": { - "kind": "ENUM", - "name": "TemplateWidth", + "kind": "OBJECT", + "name": "HarvestSource", "ofType": null }, "isDeprecated": false, @@ -55306,17 +56681,7 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "TemplateDefinition", + "name": "StandardMutationPayload", "ofType": null } ], @@ -55324,101 +56689,145 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "LinkListTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", + "kind": "INTERFACE", + "name": "HarvestTarget", + "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs.\n", "fields": [ { - "name": "blockHeader", - "description": null, + "name": "harvestTargetKind", + "description": "Whether this is a collection or a community.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestTargetKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "blockHeaderFallback", - "description": null, + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "header", - "description": null, + "name": "subtitle", + "description": "A human-readable subtitle for the entity.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerAside", - "description": null, + "name": "summary", + "description": "A description of the contents of the entity.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "headerFallback", - "description": null, + "name": "title", + "description": "A human-readable title for the entity.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "EntityBase", + "ofType": null }, { - "name": "listContext", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "HarvestTargetKind", + "description": "The kind of entity that's being used as a Harvest Target.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION", + "description": "A branch or leaf in the hierarchy.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "metadata", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, + "name": "COMMUNITY", + "description": "A root-level entity in the hierarchy.\n", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "HasAttachmentStorage", + "description": "Something which implements a #storage key that identifies where its attachment currently lives.", + "fields": [ { - "name": "subtitle", - "description": null, + "name": "storage", + "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "ENUM", + "name": "AttachmentStorage", "ofType": null }, "isDeprecated": false, @@ -55428,87 +56837,143 @@ "inputFields": null, "interfaces": [], "enumValues": null, - "possibleTypes": null + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ImageAttachment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ImageOriginal", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SiteLogoAttachment", + "ofType": null + } + ] }, { - "kind": "OBJECT", - "name": "LinkListTemplateInstance", + "kind": "INTERFACE", + "name": "HasAvailableEntities", "description": null, "fields": [ { - "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", + "name": "availableEntities", + "description": "Expose all available entities for this schema property.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntitySelectOption", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "EntitiesProperty", + "ofType": null }, { - "name": "createdAt", - "description": null, + "kind": "OBJECT", + "name": "EntityProperty", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasControlledVocabulary", + "description": null, + "fields": [ + { + "name": "controlledVocabulary", + "description": "The vocabulary configured for this property, based on its `wants` value\nand whatever is currently configured in `ControlledVocabularySource`.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "definition", - "description": "Load the associated definition for this template.\n", + "name": "wants", + "description": "The key used to determine which `ControlledVocabulary` to fetch.\n\nSee `#controlledVocabulary`.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "LinkListTemplateDefinition", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ControlledVocabulariesProperty", + "ofType": null }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", + "kind": "OBJECT", + "name": "ControlledVocabularyProperty", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasDOI", + "description": "An entity that has a DOI", + "fields": [ + { + "name": "doi", + "description": "The Digital Object Identifier for this entity. See https://doi.org\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityList", - "description": "The list of entities to render as part of this template's content.\n", + "name": "doiData", + "description": "The data sanitized from `rawDOI`, including things like the URL and host.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "TemplateEntityList", + "name": "DOIData", "ofType": null } }, @@ -55516,8 +56981,8 @@ "deprecationReason": null }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "name": "hasWeirdDOI", + "description": "For use in the admin, something to signify that data has been set on `rawDOI`\nthat could not be properly assigned to `doi`.\n", "args": [], "type": { "kind": "NON_NULL", @@ -55532,119 +56997,49 @@ "deprecationReason": null }, { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "rawDOI", + "description": "The value that was set on the entity. It will be validated and sanitized\nand be set on `doi` if possible.\n", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "layoutKind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "seeAllOrdering", - "description": "The ordering to render for a \"see all\" link.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "description": "Automatically-set timestamps present on most real models in the system.\n", + "fields": [ { - "name": "slots", - "description": "Rendered slots for this template.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "LinkListTemplateInstanceSlots", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -55652,15 +57047,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ISO8601Date", "ofType": null } }, @@ -55668,15 +57063,15 @@ "deprecationReason": null }, { - "name": "templateKind", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -55684,15 +57079,15 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ISO8601Date", "ofType": null } }, @@ -55701,1154 +57096,591 @@ } ], "inputFields": null, - "interfaces": [ + "interfaces": [], + "enumValues": null, + "possibleTypes": [ { - "kind": "INTERFACE", - "name": "Node", + "kind": "OBJECT", + "name": "Announcement", "ofType": null }, { - "kind": "INTERFACE", - "name": "Renderable", + "kind": "OBJECT", + "name": "AssetAudio", "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", + "kind": "OBJECT", + "name": "AssetDocument", "ofType": null }, { - "kind": "INTERFACE", - "name": "TemplateHasEntityList", + "kind": "OBJECT", + "name": "AssetImage", "ofType": null }, { - "kind": "INTERFACE", - "name": "TemplateHasSeeAllOrdering", + "kind": "OBJECT", + "name": "AssetPDF", "ofType": null }, { - "kind": "INTERFACE", - "name": "TemplateInstance", + "kind": "OBJECT", + "name": "AssetUnknown", "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "LinkListTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", - "fields": [ + }, { - "name": "blockHeader", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "AssetVideo", + "ofType": null }, { - "name": "blockHeaderFallback", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "BlurbTemplateDefinition", + "ofType": null }, { - "name": "header", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "BlurbTemplateInstance", + "ofType": null }, { - "name": "headerAside", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "headerFallback", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "CollectionAttribution", + "ofType": null }, { - "name": "listContext", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "CollectionContribution", + "ofType": null }, { - "name": "metadata", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Community", + "ofType": null }, { - "name": "subtitle", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "LinkListVariant", - "description": "An enum used to control how a link list template should be rendered.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "kind": "OBJECT", + "name": "ContextualPermission", + "ofType": null + }, { - "name": "CARDS", - "description": "A card list of entities.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributionRoleConfiguration", + "ofType": null }, { - "name": "COMPACT", - "description": "A compact list of entities.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorCollectionAttribution", + "ofType": null }, { - "name": "GRID", - "description": "A grid of entities\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorItemAttribution", + "ofType": null }, { - "name": "PROMOS", - "description": "A horizontal list of entities with promotional header.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorListTemplateDefinition", + "ofType": null }, { - "name": "SUMMARY", - "description": "A vertical, summarized list of entities.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ContributorListTemplateInstance", + "ofType": null }, { - "name": "TREE", - "description": "A tree structure.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "LinkTargetCandidate", - "description": "A candidate for a link target, scoped to a parent source", - "fields": [ + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null + }, { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null }, { - "name": "depth", - "description": "How deeply nested the candidate entity is", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null }, { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "ofType": null }, { - "name": "kind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LinkTargetCandidateKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DepositorAgreement", + "ofType": null }, { - "name": "target", - "description": "The actual target", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DepositorAgreementTransition", + "ofType": null }, { - "name": "targetId", - "description": "The targetID to provide to linkEntity", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null }, { - "name": "title", - "description": "The target entity's title", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DepositorRequestTransition", + "ofType": null }, { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + "kind": "OBJECT", + "name": "DescendantListTemplateDefinition", + "ofType": null + }, { - "kind": "INTERFACE", - "name": "Node", + "kind": "OBJECT", + "name": "DescendantListTemplateInstance", "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "LinkTargetCandidateConnection", - "description": "The connection type for LinkTargetCandidate.", - "fields": [ + }, { - "name": "edges", - "description": "A list of edges.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "LinkTargetCandidateEdge", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DetailTemplateDefinition", + "ofType": null }, { - "name": "nodes", - "description": "A list of nodes.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "LinkTargetCandidate", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "DetailTemplateInstance", + "ofType": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PageInfo", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + "kind": "OBJECT", + "name": "EntityLink", + "ofType": null + }, { - "kind": "INTERFACE", - "name": "Paginated", + "kind": "OBJECT", + "name": "HarvestAttempt", "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "LinkTargetCandidateEdge", - "description": "An edge in a connection.", - "fields": [ + }, { - "name": "cursor", - "description": "A cursor for use in pagination.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HarvestAttemptEntityStatus", + "ofType": null }, { - "name": "node", - "description": "The item at the end of the edge.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "LinkTargetCandidate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "LinkTargetCandidateFilter", - "description": "Filter the available candidates for a link target", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "kind": "OBJECT", + "name": "HarvestAttemptRecordStatus", + "ofType": null + }, { - "name": "ALL", - "description": "Show all possible link target candidate types", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HarvestEntity", + "ofType": null }, { - "name": "COLLECTION", - "description": "Limit to collection candidates", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HarvestError", + "ofType": null }, { - "name": "ITEM", - "description": "Limit to item candidates", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "LinkTargetCandidateKind", - "description": "The kind of link target candidate", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, { - "name": "COLLECTION", - "description": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HarvestMessage", + "ofType": null }, { - "name": "ITEM", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ListEntityContext", - "description": "An enum used to control how much context to show for listed entities in a template.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "kind": "OBJECT", + "name": "HarvestMetadataMapping", + "ofType": null + }, { - "name": "ABBR", - "description": "Show an abbreviated amount of context for listed entities.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null }, { - "name": "FULL", - "description": "Show the maximum amount of context for listed entities.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HarvestSet", + "ofType": null }, { - "name": "NONE", - "description": "Show the minimal / no amount of context for listed entities.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ListItemLayoutDefinition", - "description": null, - "fields": [ + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HeroLayoutDefinition", + "ofType": null }, { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HeroLayoutInstance", + "ofType": null }, { - "name": "layoutKind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HeroTemplateDefinition", + "ofType": null }, { - "name": "slug", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HeroTemplateInstance", + "ofType": null }, { - "name": "template", - "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ListItemTemplateDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Item", + "ofType": null }, { - "name": "templates", - "description": "The ordered template definitions available for this layout.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "UNION", - "name": "AnyListItemTemplateDefinition", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ItemAttribution", + "ofType": null }, { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "LayoutDefinition", + "kind": "OBJECT", + "name": "ItemContribution", "ofType": null }, { - "kind": "INTERFACE", - "name": "Node", + "kind": "OBJECT", + "name": "LinkListTemplateDefinition", "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", + "kind": "OBJECT", + "name": "LinkListTemplateInstance", "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ListItemLayoutInstance", - "description": null, - "fields": [ - { - "name": "allHidden", - "description": "Whether all templates in this instance are hidden.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null }, { - "name": "allSlotsEmpty", - "description": "Whether all slots in all template instances in this layout are empty.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ListItemLayoutDefinition", + "ofType": null }, { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ListItemLayoutInstance", + "ofType": null }, { - "name": "entity", - "description": "The associated entity for this layout instance.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ListItemTemplateDefinition", + "ofType": null }, { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ListItemTemplateInstance", + "ofType": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "MainLayoutDefinition", + "ofType": null }, { - "name": "layoutDefinition", - "description": "The layout definition for this type.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ListItemLayoutDefinition", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "MainLayoutInstance", + "ofType": null }, { - "name": "layoutKind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "MetadataLayoutDefinition", + "ofType": null }, { - "name": "slug", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "MetadataLayoutInstance", + "ofType": null }, { - "name": "template", - "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "ListItemTemplateInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "MetadataTemplateDefinition", + "ofType": null }, { - "name": "templates", - "description": "The ordered template instances available for this layout.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "UNION", - "name": "AnyListItemTemplateInstance", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "MetadataTemplateInstance", + "ofType": null }, { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + "kind": "OBJECT", + "name": "NavigationLayoutDefinition", + "ofType": null + }, { - "kind": "INTERFACE", - "name": "LayoutInstance", + "kind": "OBJECT", + "name": "NavigationLayoutInstance", "ofType": null }, { - "kind": "INTERFACE", - "name": "Node", + "kind": "OBJECT", + "name": "NavigationTemplateDefinition", "ofType": null }, { - "kind": "INTERFACE", - "name": "Renderable", + "kind": "OBJECT", + "name": "NavigationTemplateInstance", "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", + "kind": "OBJECT", + "name": "Ordering", "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ListItemSelectionMode", - "description": "An enum used to control the mode of selection for a list item template's associated records (if applicable).\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + }, { - "name": "DYNAMIC", - "description": "", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null }, { - "name": "MANUAL", - "description": "", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "OrderingTemplateDefinition", + "ofType": null }, { - "name": "NAMED", - "description": "", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "OrderingTemplateInstance", + "ofType": null }, { - "name": "PROPERTY", - "description": "", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ListItemTemplateDefinition", - "description": null, - "fields": [ + "kind": "OBJECT", + "name": "OrganizationContributor", + "ofType": null + }, { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "PageListTemplateDefinition", + "ofType": null }, { - "name": "dynamicOrderingDefinition", - "description": "When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure\nas schemas to define a dynamic ordering that is resolved at runtime and based\non the `selectionSource`.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "OrderingDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "PageListTemplateInstance", + "ofType": null }, { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Permalink", + "ofType": null }, { - "name": "layoutKind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "PersonContributor", + "ofType": null }, { - "name": "manualListName", - "description": "When `selectionMode` is set to `MANUAL`, the purpose of this property\nis to specify a name under which all the manual selections (per entity)\nwill be stored. This allows a layout to have multiple templates of the\nsame type using different lists, that will persist across rearrangements\nof the layout _without_ losing connections between entities.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "SchemaComponent", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Role", + "ofType": null }, { - "name": "orderingIdentifier", - "description": "This can be set to specify the named ordering on the `selectionSource`\nthat should be used to populate the associated entity list.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "SchemaComponent", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null }, { - "name": "seeAllOrderingIdentifier", - "description": "If provided, this will expose an ordering on the template instance that can\nbe used to generate a link to the ordering in the frontend.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "SchemaComponent", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null }, { - "name": "selectionFallbackMode", - "description": "The fallback mode to use when rendering a list of entities, when the list from\n`selectionMode` is empty and `useSelectionFallback` has been set to true.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "ListItemSelectionMode", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Submission", + "ofType": null }, { - "name": "selectionLimit", - "description": "Regardless of `selectionMode`, this limit will be applied on whatever resulting\nlist of entities are produced, so that only up to that amount of entities are\nrendered in the template proper.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "SubmissionBatchPublication", + "ofType": null }, { - "name": "selectionMode", - "description": "The default mode to use when rendering a list of entities.\n\nSee also `selectionFallbackMode` and `useSelectionFallback`.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "ListItemSelectionMode", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransition", + "ofType": null }, { - "name": "selectionPropertyPath", - "description": "When `selectionMode` is set to `PROPERTY`, this should be set to the full path\nfor a given schema property on the associated `selectionSource`\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "SchemaPropertyPath", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null }, { - "name": "selectionSource", - "description": "When selecting entities based on `selectionMode`, this property determines\nwhich entity (relevant to the rendering entity) should be used for lookups.\n\nBy default, it is `self`, which means the rendering entity itself.\n\nIt can also support things like `ancestor.journal`, `ancestor.issue`, etc.,\nin order to render a list of values in its parent.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "TemplateSelectionSource", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "SubmissionDepositTarget", + "ofType": null }, { - "name": "selectionSourceAncestorName", - "description": "The derived name of the ancestor used for the `selectionSource`.\n\nExposed for introspection only.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "SchemaComponent", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "SubmissionPublication", + "ofType": null }, { - "name": "selectionSourceMode", - "description": "An enum representing what mode `selectionSource` is in. Not directly set,\nit is used internally for lookups.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "SelectionSourceMode", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "SubmissionPublicationTransition", + "ofType": null }, { - "name": "selectionUnbounded", - "description": "When true, this takes priority over `selectionLimit`. It allows an entire\nmatching list of records to be retrieved. It should be used with caution,\nsince very large entity trees could cause responses to be slow.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null }, { - "name": "slots", - "description": "Slot definitions for this template.\n", - "args": [], + "kind": "OBJECT", + "name": "SubmissionReviewTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupItemAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserItemAccessGrant", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasEntityAnalytics", + "description": "Entity models implement their own analytics views that come pre-filtered", + "fields": [ + { + "name": "assetDownloads", + "description": null, + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "precision", + "description": "The precision to apply.\n", + "type": { + "kind": "ENUM", + "name": "AnalyticsPrecision", + "ofType": null + }, + "defaultValue": "DAY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectIds", + "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ListItemTemplateDefinitionSlots", + "name": "AnalyticsEventCountSummary", "ofType": null } }, @@ -56856,15 +57688,60 @@ "deprecationReason": null }, { - "name": "slug", + "name": "assetDownloadsByRegion", "description": null, - "args": [], + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectIds", + "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usOnly", + "description": "Filter by country_code = \"US\" only.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "AnalyticsRegionCountSummary", "ofType": null } }, @@ -56872,15 +57749,40 @@ "deprecationReason": null }, { - "name": "templateKind", + "name": "entityViews", "description": null, - "args": [], + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "precision", + "description": "The precision to apply.\n", + "type": { + "kind": "ENUM", + "name": "AnalyticsPrecision", + "ofType": null + }, + "defaultValue": "DAY", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "kind": "OBJECT", + "name": "AnalyticsEventCountSummary", "ofType": null } }, @@ -56888,265 +57790,486 @@ "deprecationReason": null }, { - "name": "updatedAt", + "name": "entityViewsByRegion", "description": null, - "args": [], + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usOnly", + "description": "Filter by country_code = \"US\" only.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AnalyticsRegionCountSummary", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "useSelectionFallback", - "description": "Controls whether or not to use `selectionFallbackMode` if the entity list returned\nvia `selectionMode` turns out to be empty at runtime.\n", + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasEntityBreadcrumbs", + "description": null, + "fields": [ + { + "name": "breadcrumbs", + "description": "Previous entries in the hierarchy", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityBreadcrumb", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, - "interfaces": [ + "interfaces": [], + "enumValues": null, + "possibleTypes": [ { - "kind": "INTERFACE", - "name": "Node", + "kind": "OBJECT", + "name": "Collection", "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", + "kind": "OBJECT", + "name": "Community", "ofType": null }, { - "kind": "INTERFACE", - "name": "TemplateDefinition", + "kind": "OBJECT", + "name": "EntitySelectOption", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", "ofType": null } - ], - "enumValues": null, - "possibleTypes": null + ] }, { - "kind": "OBJECT", - "name": "ListItemTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", + "kind": "INTERFACE", + "name": "HasHarvestErrors", + "description": null, "fields": [ { - "name": "contextA", - "description": null, + "name": "harvestErrors", + "description": "A list of errors that are associated with this harvesting type.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestError", + "ofType": null + } + } + } }, - "isDeprecated": false, - "deprecationReason": null - }, + "isDeprecated": true, + "deprecationReason": "Harvest errors are no longer returned nor generated. Check the harvest messages instead.\n" + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ { - "name": "contextAbbr", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null }, { - "name": "contextB", - "description": null, + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasHarvestExtractionMappingTemplate", + "description": "An interface for harvesting-related records that expose a mapping template\nfor handling extraction at their point in the hierarchy.\n", + "fields": [ + { + "name": "extractionMappingTemplate", + "description": "The extraction mapping template used for this harvesting-related record\nat its place in the hierarchy. It is an XML document that describes how\nto map various types of metadata from the harvested records and transform\nthat data into entities in Meru.\n\nFor harvest sources, it can be considered the default mapping template\nfor any record in the system, and should be used to pre-populate\nattempts that are created by the source, as well as future plans to\nallow for extracting a single record by external ID that may not have\nyet been fetched by an extract records process.\n\nFor harvest mappings, it can be considered the default mapping template\nfor any attempt created by the mapping.\n\nFor any harvesting data that exists prior to the harvesting refactor\ncompleted during March of 2025, it's possible for this value to be\nan empty string. Any modifications to mappings and sources from that\ntime will need to add a valid mapping template in order to succeed.\n\nSee `Query.harvestExamples` for examples of valid mapping templates.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null }, { - "name": "contextC", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null }, { - "name": "contextFull", - "description": null, + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasHarvestMetadataFormat", + "description": "A record that stores a metadata format it uses.\n", + "fields": [ + { + "name": "metadataFormat", + "description": "The metadata format used by this source / mapping.\n\nFixed at creation time for now.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestMetadataFormat", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null }, { - "name": "description", - "description": null, + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasHarvestModificationStatus", + "description": "An interface for records which can be created/updated through Harvesting\nthat includes an enum which can prevent harvesting actions from overwriting\nany data that has been manually corrected.\n", + "fields": [ + { + "name": "harvestModificationStatus", + "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestModificationStatus", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "header", - "description": null, + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrganizationContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PersonContributor", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasHarvestOptions", + "description": null, + "fields": [ + { + "name": "mappingOptions", + "description": "Options that control mapping of entities during the harvesting process.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestOptionsMapping", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "metaA", - "description": null, + "name": "readOptions", + "description": "Options that control reading from the source.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestOptionsRead", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null }, { - "name": "metaB", - "description": null, + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasSchemaProperties", + "description": null, + "fields": [ + { + "name": "schemaProperties", + "description": "A list of schema properties associated with this instance or version.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "nestedContext", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "HeroBackground", + "description": "An enumerated value associated with the templating subsystem.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DARK", + "description": "A dark gradient is applied to the background of this template.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "nestedHeader", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, + "name": "LIGHT", + "description": "A light gradient is applied to the background of this template.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "nestedMetadata", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, + "name": "NONE", + "description": "No background is applied to this template.\n", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HeroImageLayout", + "description": "The layout to use when rendering a Hero for an `Entity`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "nestedSubheader", + "name": "ONE_COLUMN", "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, "isDeprecated": false, "deprecationReason": null }, { - "name": "subheader", + "name": "TWO_COLUMN", "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], - "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "ListItemTemplateInstance", + "name": "HeroLayoutDefinition", "description": null, "fields": [ { - "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -57154,15 +58277,15 @@ "deprecationReason": null }, { - "name": "definition", - "description": "Load the associated definition for this template.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ListItemTemplateDefinition", + "name": "AuthorizationResult", "ofType": null } }, @@ -57170,15 +58293,15 @@ "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -57186,15 +58309,15 @@ "deprecationReason": null }, { - "name": "entityList", - "description": "The list of entities to render as part of this template's content.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "TemplateEntityList", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -57202,15 +58325,15 @@ "deprecationReason": null }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, @@ -57218,15 +58341,15 @@ "deprecationReason": null }, { - "name": "id", + "name": "layoutKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, @@ -57234,27 +58357,15 @@ "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "layoutKind", - "description": null, + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "Slug", "ofType": null } }, @@ -57262,32 +58373,20 @@ "deprecationReason": null }, { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "name": "template", + "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "HeroTemplateDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "name": "templates", + "description": "The ordered template definitions available for this layout.\n", "args": [], "type": { "kind": "NON_NULL", @@ -57299,8 +58398,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", + "kind": "UNION", + "name": "AnyHeroTemplateDefinition", "ofType": null } } @@ -57310,59 +58409,15 @@ "deprecationReason": null }, { - "name": "seeAllOrdering", - "description": "The ordering to render for a \"see all\" link.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slots", - "description": "Rendered slots for this template.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ListItemTemplateInstanceSlots", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slug", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "templateKind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "name": "ISO8601DateTime", "ofType": null } }, @@ -57370,15 +58425,15 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ISO8601Date", "ofType": null } }, @@ -57390,32 +58445,32 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "Renderable", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "HasDefaultTimestamps", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateHasEntityList", + "name": "LayoutDefinition", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateHasSeeAllOrdering", + "name": "Node", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateInstance", + "name": "Sluggable", "ofType": null } ], @@ -57424,198 +58479,159 @@ }, { "kind": "OBJECT", - "name": "ListItemTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", + "name": "HeroLayoutInstance", + "description": null, "fields": [ { - "name": "contextA", - "description": null, + "name": "allHidden", + "description": "Whether all templates in this instance are hidden.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contextAbbr", - "description": null, + "name": "allSlotsEmpty", + "description": "Whether all slots in all template instances in this layout are empty.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contextB", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contextC", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contextFull", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "header", - "description": null, + "name": "entity", + "description": "The associated entity for this layout instance.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "metaA", + "name": "id", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "metaB", - "description": null, + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nestedContext", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nestedHeader", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nestedMetadata", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nestedSubheader", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subheader", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "MainLayoutDefinition", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, + "name": "layoutDefinition", + "description": "The layout definition for this type.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "HeroLayoutDefinition", "ofType": null } }, @@ -57623,15 +58639,15 @@ "deprecationReason": null }, { - "name": "id", + "name": "layoutKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, @@ -57639,15 +58655,15 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "Slug", "ofType": null } }, @@ -57655,24 +58671,20 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "template", + "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } + "kind": "OBJECT", + "name": "HeroTemplateInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "templates", - "description": "The ordered template definitions available for this layout.\n", + "description": "The ordered template instances available for this layout.\n", "args": [], "type": { "kind": "NON_NULL", @@ -57685,7 +58697,7 @@ "name": null, "ofType": { "kind": "UNION", - "name": "AnyMainTemplateDefinition", + "name": "AnyHeroTemplateInstance", "ofType": null } } @@ -57696,7 +58708,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -57709,13 +58721,44 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "LayoutDefinition", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LayoutInstance", "ofType": null }, { @@ -57723,6 +58766,11 @@ "name": "Node", "ofType": null }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, { "kind": "INTERFACE", "name": "Sluggable", @@ -57734,35 +58782,31 @@ }, { "kind": "OBJECT", - "name": "MainLayoutInstance", + "name": "HeroTemplateDefinition", "description": null, "fields": [ { - "name": "allHidden", - "description": "Whether all templates in this instance are hidden.\n", + "name": "background", + "description": "The background gradient to use for this template. Affects presentation.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "ENUM", + "name": "HeroBackground", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "allSlotsEmpty", - "description": "Whether all slots in all template instances in this layout are empty.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -57770,15 +58814,15 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -57786,15 +58830,15 @@ "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this layout instance.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -57802,15 +58846,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601Date", "ofType": null } }, @@ -57818,51 +58862,43 @@ "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "descendantSearchPrompt", + "description": "", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "This is a slot now." }, { - "name": "layoutDefinition", - "description": "The layout definition for this type.\n", + "name": "enableDescendantBrowsing", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MainLayoutDefinition", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "enableDescendantSearch", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", + "name": "id", "description": null, "args": [], "type": { @@ -57870,7 +58906,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ID", "ofType": null } }, @@ -57878,87 +58914,15 @@ "deprecationReason": null }, { - "name": "templates", - "description": "The ordered template instances available for this layout.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "UNION", - "name": "AnyMainTemplateInstance", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", + "name": "layoutKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "LayoutInstance", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Renderable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "MarkdownProperty", - "description": null, - "fields": [ - { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, @@ -57966,147 +58930,123 @@ "deprecationReason": null }, { - "name": "content", - "description": null, + "name": "listContributors", + "description": "", "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "default", - "description": null, + "name": "showBasicViewMetrics", + "description": "", "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": null, + "name": "showBigSearchPrompt", + "description": "", "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "showBreadcrumbs", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "showDOI", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "showHeroImage", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "showSharingLink", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "label", - "description": null, + "name": "showSplitDisplay", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "showThumbnailImage", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "slots", + "description": "Slot definitions for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "HeroTemplateDefinitionSlots", "ofType": null } }, @@ -58114,15 +59054,15 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -58130,39 +59070,31 @@ "deprecationReason": null }, { - "name": "searchOperators", + "name": "templateKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SearchOperator", - "ofType": null - } - } + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "searchPath", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, @@ -58170,15 +59102,15 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -58190,17 +59122,32 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "ScalarProperty", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "SchemaProperty", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "SearchableProperty", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateDefinition", "ofType": null } ], @@ -58208,228 +59155,216 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "MatchesOperatorInput", - "description": "Use full-text search on `path` to match `value`.\n\nAs with top-level query searches, basic quoting and similar features are supported. See\n[websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for\nmore information.\n", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "HeroTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", + "fields": [ { - "name": "path", + "name": "bigSearchPrompt", "description": null, + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "value", + "name": "callToAction", "description": null, + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "MetadataBackground", - "description": "An enumerated value associated with the templating subsystem.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + }, { - "name": "DARK", - "description": "A dark gradient is applied to the background of this template.\n", + "name": "descendantSearchPrompt", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "LIGHT", - "description": "A light gradient is applied to the background of this template.\n", + "name": "header", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "NONE", - "description": "No background is applied to this template.\n", + "name": "headerAside", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "MetadataLayoutDefinition", - "description": null, - "fields": [ + }, { - "name": "createdAt", + "name": "headerParent", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", + "name": "headerSidebar", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", + "name": "headerSubtitle", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", + "name": "headerSummary", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "template", - "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", + "name": "metadata", + "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "MetadataTemplateDefinition", + "name": "TemplateSlotInlineDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "templates", - "description": "The ordered template definitions available for this layout.\n", + "name": "sidebar", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "UNION", - "name": "AnyMetadataTemplateDefinition", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", + "name": "subheader", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + }, { - "kind": "INTERFACE", - "name": "LayoutDefinition", - "ofType": null + "name": "subheaderAside", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "Node", - "ofType": null + "name": "subheaderSubtitle", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null + "name": "subheaderSummary", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], + "inputFields": null, + "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "MetadataLayoutInstance", + "name": "HeroTemplateInstance", "description": null, "fields": [ { - "name": "allHidden", - "description": "Whether all templates in this instance are hidden.\n", + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", "args": [], "type": { "kind": "NON_NULL", @@ -58444,15 +59379,15 @@ "deprecationReason": null }, { - "name": "allSlotsEmpty", - "description": "Whether all slots in all template instances in this layout are empty.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -58460,15 +59395,15 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -58476,15 +59411,15 @@ "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this layout instance.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -58492,15 +59427,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601Date", "ofType": null } }, @@ -58508,27 +59443,15 @@ "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "layoutDefinition", - "description": "The layout definition for this type.\n", + "name": "definition", + "description": "Load the associated definition for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "MetadataLayoutDefinition", + "name": "HeroTemplateDefinition", "ofType": null } }, @@ -58536,15 +59459,15 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "entity", + "description": "The associated entity for this template instance.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -58552,15 +59475,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "Boolean", "ofType": null } }, @@ -58568,43 +59491,7 @@ "deprecationReason": null }, { - "name": "template", - "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "MetadataTemplateInstance", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "templates", - "description": "The ordered template instances available for this layout.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "UNION", - "name": "AnyMetadataTemplateInstance", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", + "name": "id", "description": null, "args": [], "type": { @@ -58612,67 +59499,35 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "LayoutInstance", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Renderable", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "MetadataTemplateDefinition", - "description": null, - "fields": [ - { - "name": "background", - "description": "The background gradient to use for this template. Affects presentation.\n", + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", "args": [], "type": { - "kind": "ENUM", - "name": "MetadataBackground", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", + "name": "layoutKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, @@ -58680,32 +59535,48 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } } }, "isDeprecated": false, @@ -58713,14 +59584,14 @@ }, { "name": "slots", - "description": "Slot definitions for this template.\n", + "description": "Rendered slots for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "MetadataTemplateDefinitionSlots", + "name": "HeroTemplateInstanceSlots", "ofType": null } }, @@ -58729,7 +59600,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -58761,7 +59632,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -58774,15 +59645,51 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", "ofType": null }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, { "kind": "INTERFACE", "name": "Sluggable", @@ -58790,7 +59697,7 @@ }, { "kind": "INTERFACE", - "name": "TemplateDefinition", + "name": "TemplateInstance", "ofType": null } ], @@ -58799,198 +59706,222 @@ }, { "kind": "OBJECT", - "name": "MetadataTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", + "name": "HeroTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", "fields": [ { - "name": "header", + "name": "bigSearchPrompt", "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsA", + "name": "callToAction", "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "name": "TemplateSlotBlockInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsB", + "name": "descendantSearchPrompt", "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsC", + "name": "header", "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsD", + "name": "headerAside", "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "TemplateSlotBlockDefinition", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "MetadataTemplateInstance", - "description": null, - "fields": [ + }, { - "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", + "name": "headerParent", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", + "name": "headerSidebar", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "definition", - "description": "Load the associated definition for this template.\n", + "name": "headerSubtitle", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MetadataTemplateDefinition", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", + "name": "headerSummary", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "name": "metadata", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", + "name": "sidebar", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "subheader", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", + "name": "subheaderAside", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subheaderSubtitle", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subheaderSummary", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", "description": null, "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HierarchicalSchemaRank", + "description": "A ranking of a schema from a certain point in the hierarchy. This can be used to generate\nnavigation or calculate statistics about what various entities contain.\n", + "fields": [ + { + "name": "count", + "description": "The number of entities that implement this schema from this point in the hierarchy.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "Int", "ofType": null } }, @@ -58998,63 +59929,47 @@ "deprecationReason": null }, { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "name": "declaration", + "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "name": "distinctVersionCount", + "description": "A count of distinct versions of this specific schema type from this point of the hierarchy.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Int", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slots", - "description": "Rendered slots for this template.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "MetadataTemplateInstanceSlots", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -59062,15 +59977,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "identifier", + "description": "A unique (per-namespace) value that names the schema within the system.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "String", "ofType": null } }, @@ -59078,15 +59993,15 @@ "deprecationReason": null }, { - "name": "templateKind", - "description": null, + "name": "kind", + "description": "The kind of entity this schema applies to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "TemplateKind", + "name": "SchemaKind", "ofType": null } }, @@ -59094,134 +60009,141 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "name", + "description": "A human-readable name for the schema.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Renderable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null }, { - "kind": "INTERFACE", - "name": "TemplateInstance", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "MetadataTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", - "fields": [ - { - "name": "header", - "description": null, + "name": "namespace", + "description": "A unique namespace the schema lives in.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsA", - "description": null, + "name": "rank", + "description": "The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsB", - "description": null, + "name": "schemaDefinition", + "description": "A reference to the discrete schema definition", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsC", - "description": null, + "name": "slug", + "description": "A fully-qualified unique value that can be used to refer to this schema within the system", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemsD", - "description": null, + "name": "versionRanks", + "description": "A reference to the schema versions from this ranking", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotBlockInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HierarchicalSchemaVersionRank", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, - "interfaces": [], + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DescribesSchema", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "MultiselectProperty", - "description": null, + "name": "HierarchicalSchemaVersionRank", + "description": "A ranking of a schema version from a certain point in the hierarchy. This can be used to generate\nnavigation or calculate statistics about what versions of a schema various entities contain.\n", "fields": [ { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "count", + "description": "The number of entities that implement this schema from this point in the hierarchy.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Int", "ofType": null } }, @@ -59229,40 +60151,40 @@ "deprecationReason": null }, { - "name": "defaultSelections", - "description": null, + "name": "declaration", + "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", "args": [], "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", + "name": "id", "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "identifier", + "description": "A unique (per-namespace) value that names the schema within the system.\n", "args": [], "type": { "kind": "NON_NULL", @@ -59277,15 +60199,15 @@ "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "kind", + "description": "The kind of entity this schema applies to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyFunction", + "name": "SchemaKind", "ofType": null } }, @@ -59293,15 +60215,15 @@ "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "name", + "description": "A human-readable name for the schema.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -59309,15 +60231,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "namespace", + "description": "A unique namespace the schema lives in.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -59325,15 +60247,15 @@ "deprecationReason": null }, { - "name": "label", - "description": null, + "name": "rank", + "description": "The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, @@ -59341,39 +60263,31 @@ "deprecationReason": null }, { - "name": "options", - "description": "The list of predefined options available for this property.", + "name": "schemaDefinition", + "description": "A reference to the discrete schema definition", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SelectOption", - "ofType": null - } - } + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "schemaVersion", + "description": "A reference to the discrete schema version", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "SchemaVersion", "ofType": null } }, @@ -59381,8 +60295,8 @@ "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "slug", + "description": "A fully-qualified unique value that can be used to refer to this schema within the system", "args": [], "type": { "kind": "NON_NULL", @@ -59397,63 +60311,109 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "versionNumber", + "description": "A semantic version associated with the schema", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DescribesSchema", + "ofType": null }, { - "name": "searchOperators", - "description": null, + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ID", + "description": "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.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ISO8601Date", + "description": "An ISO 8601-encoded date", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "description": "An ISO 8601-encoded datetime", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ISO8601Duration", + "description": "An ISO 8601-encoded duration", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Image", + "description": "An interface for various component types of an image attachment\nthat allow it to be identified in name and purpose.\n", + "fields": [ + { + "name": "alt", + "description": "Alt text for accessible images", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SearchOperator", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "searchPath", - "description": null, + "name": "contentType", + "description": "The MIME type of the image, if present", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "selections", + "name": "dimensions", "description": null, "args": [], "type": { @@ -59464,2059 +60424,1056 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } } }, + "isDeprecated": true, + "deprecationReason": "Use width and height directly." + }, + { + "name": "height", + "description": "The height of the image, if present", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "originalFilename", + "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purpose", + "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyType", + "name": "ImagePurpose", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "OptionableProperty", - "ofType": null }, { - "kind": "INTERFACE", - "name": "ScalarProperty", - "ofType": null + "name": "storage", + "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "AttachmentStorage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null + "name": "url", + "description": "The URL for the image, if present.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, + { + "name": "width", + "description": "The width of the image, if present", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ { "kind": "INTERFACE", - "name": "SearchableProperty", + "name": "ImageIdentification", "ofType": null } ], "enumValues": null, - "possibleTypes": null + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ImageDerivative", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ImageOriginal", + "ofType": null + } + ] }, { "kind": "OBJECT", - "name": "Mutation", - "description": "The entry point for making changes to the data within the WDP API.\n", + "name": "ImageAttachment", + "description": "An attached image with standardized derivatives.", "fields": [ { - "name": "alterSchemaVersion", - "description": "Change a schema version for an entity.", - "args": [ - { - "name": "input", - "description": "Parameters for AlterSchemaVersion", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "AlterSchemaVersionInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "alt", + "description": "Alt text for accessible images", + "args": [], "type": { - "kind": "OBJECT", - "name": "AlterSchemaVersionPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "applySchemaProperties", - "description": null, - "args": [ - { - "name": "input", - "description": "Parameters for ApplySchemaProperties", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ApplySchemaPropertiesInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "hero", + "description": "A hero-sized mapping for derivative formats", + "args": [], "type": { - "kind": "OBJECT", - "name": "ApplySchemaPropertiesPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageSize", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularyDestroy", - "description": "Destroy a single `ControlledVocabulary` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for ControlledVocabularyDestroy", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularyDestroyInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "large", + "description": "A large-sized mapping for derivative formats", + "args": [], "type": { - "kind": "OBJECT", - "name": "ControlledVocabularyDestroyPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageSize", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularySourceUpdate", - "description": "Update a single `ControlledVocabularySource`'s provider.\n", - "args": [ - { - "name": "input", - "description": "Parameters for ControlledVocabularySourceUpdate", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularySourceUpdateInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "medium", + "description": "A medium-sized mapping for derivative formats", + "args": [], "type": { - "kind": "OBJECT", - "name": "ControlledVocabularySourceUpdatePayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageSize", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularyUpsert", - "description": "Upsert a controlled vocabulary based on definition.\n", - "args": [ - { - "name": "input", - "description": "Parameters for ControlledVocabularyUpsert", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularyUpsertInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "metadata", + "description": "Configurable metadata for the image.", + "args": [], "type": { "kind": "OBJECT", - "name": "ControlledVocabularyUpsertPayload", + "name": "ImageMetadata", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createAnnouncement", - "description": "Create an announcement on an entity.\n", - "args": [ - { - "name": "input", - "description": "Parameters for CreateAnnouncement", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateAnnouncementInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "original", + "description": "The original source for the image", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreateAnnouncementPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageOriginal", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createAsset", - "description": "Associate an uploaded asset (already present in the Tus cache store) with an entity.\n", - "args": [ - { - "name": "input", - "description": "Parameters for CreateAsset", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateAssetInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "originalFilename", + "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreateAssetPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createCollection", - "description": null, - "args": [ - { - "name": "input", - "description": "Parameters for CreateCollection", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateCollectionInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "purpose", + "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreateCollectionPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImagePurpose", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createCommunity", - "description": "Create a community", - "args": [ - { - "name": "input", - "description": "Parameters for CreateCommunity", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateCommunityInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "small", + "description": "A small-sized mapping for derivative formats", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreateCommunityPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageSize", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createItem", - "description": "Create an item", - "args": [ - { - "name": "input", - "description": "Parameters for CreateItem", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateItemInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "storage", + "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreateItemPayload", + "kind": "ENUM", + "name": "AttachmentStorage", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createOrdering", - "description": "Create an ordering for an entity", - "args": [ - { - "name": "input", - "description": "Parameters for CreateOrdering", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateOrderingInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "thumb", + "description": "A thumb-sized mapping for derivative formats", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageSize", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasAttachmentStorage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ImageIdentification", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ImageDerivative", + "description": "A derivative of the image with a specific size and format.", + "fields": [ + { + "name": "alt", + "description": "Alt text for accessible images", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreateOrderingPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createOrganizationContributor", - "description": "Create an organization contributor", - "args": [ - { - "name": "input", - "description": "Parameters for CreateOrganizationContributor", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateOrganizationContributorInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "contentType", + "description": "The MIME type of the image, if present", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreateOrganizationContributorPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createPage", - "description": "Create a page on an entity.\n", - "args": [ - { - "name": "input", - "description": "Parameters for CreatePage", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreatePageInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "dimensions", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } } - ], + }, + "isDeprecated": true, + "deprecationReason": "Use width and height directly." + }, + { + "name": "format", + "description": "The format of this derivative", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreatePagePayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImageDerivativeFormat", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createPersonContributor", - "description": "Create a contributor", - "args": [ - { - "name": "input", - "description": "Parameters for CreatePersonContributor", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreatePersonContributorInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "height", + "description": "The height of the image, if present", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreatePersonContributorPayload", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createRole", - "description": "Create a global role, with a set of permissions, that can be used to grant access to various parts of the hierarchy\nin a granular fashion.\n", - "args": [ - { - "name": "input", - "description": "Parameters for CreateRole", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateRoleInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "maxHeight", + "description": "The maximum height this size can occupy", + "args": [], "type": { - "kind": "OBJECT", - "name": "CreateRolePayload", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyAnnouncement", - "description": "Destroy a announcement by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyAnnouncement", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyAnnouncementInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "maxWidth", + "description": "The maximum width this size can occupy", + "args": [], "type": { - "kind": "OBJECT", - "name": "DestroyAnnouncementPayload", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyAsset", - "description": "Destroy an asset by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyAsset", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyAssetInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "originalFilename", + "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "DestroyAssetPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyCollection", - "description": "Destroy a collection by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyCollection", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyCollectionInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "purpose", + "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "DestroyCollectionPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImagePurpose", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyCommunity", - "description": "Destroy a community by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyCommunity", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyCommunityInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "size", + "description": "The size of this derivative", + "args": [], "type": { - "kind": "OBJECT", - "name": "DestroyCommunityPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImageDerivativeSize", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyContribution", - "description": "Destroy a Contribution by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyContribution", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyContributionInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "storage", + "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "DestroyContributionPayload", + "kind": "ENUM", + "name": "AttachmentStorage", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyContributor", - "description": "Destroy a contributor by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyContributor", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyContributorInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "url", + "description": "The URL for the image, if present.", + "args": [], "type": { - "kind": "OBJECT", - "name": "DestroyContributorPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyEntityLink", - "description": "Destroy an EntityLink by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyEntityLink", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyEntityLinkInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "width", + "description": "The width of the image, if present", + "args": [], "type": { - "kind": "OBJECT", - "name": "DestroyEntityLinkPayload", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Image", + "ofType": null }, { - "name": "destroyItem", - "description": "Destroy an item by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyItem", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyItemInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "DestroyItemPayload", - "ofType": null - }, + "kind": "INTERFACE", + "name": "ImageIdentification", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ImageDerivativeFormat", + "description": "The format of a specific image derivative.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PNG", + "description": "A Portable Network Graphics-formatted file, for legacy support on most all browsers.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyOrdering", - "description": "Destroy (or disable a schema-inherited) ordering.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyOrdering", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyOrderingInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "DestroyOrderingPayload", - "ofType": null - }, + "name": "WEBP", + "description": "A more efficiently compressed image supported by most browsers worldwide.\n", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ImageDerivativeSize", + "description": "The size of a specific image derivative.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "destroyPage", - "description": "Destroy a page by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for DestroyPage", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DestroyPageInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "DestroyPagePayload", - "ofType": null - }, + "name": "HERO", + "description": "A hero-sized image, constrained to 2880px wide with no height limit.", "isDeprecated": false, "deprecationReason": null }, { - "name": "entityPurge", - "description": "Purge an entity and **all** of its descendants.\n\nDepending on the entity, this can be very destructive and should be\nused with caution.\n\nThe deletion will be backgrounded, so there will be a delay between\ncalling this mutation and all the descendants actually being removed.\n", - "args": [ - { - "name": "input", - "description": "Parameters for EntityPurge", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "EntityPurgeInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "EntityPurgePayload", - "ofType": null - }, + "name": "LARGE", + "description": "A large-sized image, constrained to 750px wide by 750px high.", "isDeprecated": false, "deprecationReason": null }, { - "name": "frontendCacheRevalidateEntity", - "description": "Revalidates the frontend cache for a given entity.\n", - "args": [ - { - "name": "input", - "description": "Parameters for FrontendCacheRevalidateEntity", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FrontendCacheRevalidateEntityInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "FrontendCacheRevalidateEntityPayload", - "ofType": null - }, + "name": "MEDIUM", + "description": "A medium-sized image, constrained to 500px wide by 500px high.", "isDeprecated": false, "deprecationReason": null }, { - "name": "frontendCacheRevalidateInstance", - "description": "Revalidates the frontend cache for the entire instance.\n", - "args": [ - { - "name": "input", - "description": "Parameters for FrontendCacheRevalidateInstance", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FrontendCacheRevalidateInstanceInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "FrontendCacheRevalidateInstancePayload", - "ofType": null - }, + "name": "SANS_TEXT", + "description": "A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit.", "isDeprecated": false, "deprecationReason": null }, { - "name": "grantAccess", - "description": "Grant access to a specific hierarchical entity", - "args": [ - { - "name": "input", - "description": "Parameters for GrantAccess", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "GrantAccessInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "GrantAccessPayload", - "ofType": null - }, + "name": "SMALL", + "description": "A small-sized image, constrained to 250px wide by 250px high.", "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestAttemptFromMapping", - "description": "Kick off a manual `HarvestAttempt` from a `HarvestMapping`\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestAttemptFromMapping", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestAttemptFromMappingInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "HarvestAttemptFromMappingPayload", - "ofType": null - }, + "name": "THUMB", + "description": "A thumb-sized image, constrained to 100px wide by 100px high.", "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestAttemptFromSource", - "description": "Kick off a manual `HarvestAttempt` from a `HarvestSource`\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestAttemptFromSource", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestAttemptFromSourceInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "HarvestAttemptFromSourcePayload", - "ofType": null - }, + "name": "WITH_TEXT", + "description": "A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high.", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ImageIdentification", + "description": "An interface for various component types of an image attachment\nthat allow it to be identified in name and purpose.\n", + "fields": [ { - "name": "harvestAttemptPruneEntities", - "description": "Prune harvested entities for a `HarvestAttempt` record.\n\nNote: the actual pruning will happen asynchronously in the background, and may take a while.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestAttemptPruneEntities", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestAttemptPruneEntitiesInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "originalFilename", + "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestAttemptPruneEntitiesPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMappingCreate", - "description": "Create a single `HarvestMapping` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestMappingCreate", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMappingCreateInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "purpose", + "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestMappingCreatePayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImagePurpose", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ImageAttachment", + "ofType": null }, { - "name": "harvestMappingDestroy", - "description": "Destroy a single `HarvestMapping` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestMappingDestroy", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMappingDestroyInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "HarvestMappingDestroyPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ImageDerivative", + "ofType": null }, { - "name": "harvestMappingUpdate", - "description": "Update a single `HarvestMapping` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestMappingUpdate", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMappingUpdateInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "kind": "OBJECT", + "name": "ImageOriginal", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ImageSize", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SiteLogoAttachment", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "ImageMetadata", + "description": "Shared metadata for image attachments", + "fields": [ + { + "name": "alt", + "description": "Alt text for accessible images", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestMappingUpdatePayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ImageMetadataInput", + "description": "Shared metadata for updating image attachments", + "fields": null, + "inputFields": [ { - "name": "harvestMetadataMappingCreate", - "description": "Create a single `HarvestMetadataMapping` record.\n\nThere is no `harvestMetadataMappingUpdate` mutation. You can replace an existing field/pattern pair with a new target entity,\nor destroy ones that no longer apply.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestMetadataMappingCreate", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMetadataMappingCreateInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "alt", + "description": "Alt text for accessible images", "type": { - "kind": "OBJECT", - "name": "HarvestMetadataMappingCreatePayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ImageOriginal", + "description": "The original source for the image. While derivatives are processing, it could be useful\nfor a temporary preview in the admin section, or for troubleshooting.\n\nAs this is the raw image, it is not optimized for display in the frontend and is best\nused only as a fallback.\n", + "fields": [ { - "name": "harvestMetadataMappingDestroy", - "description": "Destroy a single `HarvestMetadataMapping` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestMetadataMappingDestroy", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMetadataMappingDestroyInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "alt", + "description": "Alt text for accessible images", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestMetadataMappingDestroyPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSourceCreate", - "description": "Create a single `HarvestSource` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestSourceCreate", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestSourceCreateInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "contentType", + "description": "The MIME type of the image, if present", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSourceCreatePayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSourceDestroy", - "description": "Destroy a single `HarvestSource` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestSourceDestroy", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestSourceDestroyInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "dimensions", + "description": null, + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSourceDestroyPayload", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use width and height directly." }, { - "name": "harvestSourcePruneEntities", - "description": "Prune harvested entities for a `HarvestSource` record.\n\nNote: the actual pruning will happen asynchronously in the background, and may take a while.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestSourcePruneEntities", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestSourcePruneEntitiesInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "height", + "description": "The height of the image, if present", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSourcePruneEntitiesPayload", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSourceUpdate", - "description": "Update a single `HarvestSource` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for HarvestSourceUpdate", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestSourceUpdateInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "originalFilename", + "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSourceUpdatePayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "linkEntity", - "description": "Link two entities together", - "args": [ - { - "name": "input", - "description": "Parameters for LinkEntity", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "LinkEntityInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "purpose", + "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "LinkEntityPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImagePurpose", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkCreate", - "description": "Create a single `Permalink` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for PermalinkCreate", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PermalinkCreateInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "storage", + "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "PermalinkCreatePayload", + "kind": "ENUM", + "name": "AttachmentStorage", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkDestroy", - "description": "Destroy a single `Permalink` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for PermalinkDestroy", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PermalinkDestroyInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "url", + "description": "The URL for the image, if present.", + "args": [], "type": { - "kind": "OBJECT", - "name": "PermalinkDestroyPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkUpdate", - "description": "Update a single `Permalink` record.\n", - "args": [ - { - "name": "input", - "description": "Parameters for PermalinkUpdate", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PermalinkUpdateInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "width", + "description": "The width of the image, if present", + "args": [], "type": { - "kind": "OBJECT", - "name": "PermalinkUpdatePayload", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasAttachmentStorage", + "ofType": null }, { - "name": "previewSlot", - "description": "Preview a slot for a given entity.\n", - "args": [ - { - "name": "input", - "description": "Parameters for PreviewSlot", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PreviewSlotInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "PreviewSlotPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "Image", + "ofType": null }, { - "name": "renderLayouts", - "description": "Force the layouts to render for a given `Entity`.\n", - "args": [ - { - "name": "input", - "description": "Parameters for RenderLayouts", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "RenderLayoutsInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "RenderLayoutsPayload", - "ofType": null - }, + "kind": "INTERFACE", + "name": "ImageIdentification", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ImagePurpose", + "description": "Image attachments on entities fulfill different purposes. This can\nbe used to distinguish them at the `ImageAttachment` level.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HERO_IMAGE", + "description": "A hero image.", "isDeprecated": false, "deprecationReason": null }, { - "name": "reparentEntity", - "description": "A polymorphic mutation to reassign an entity to another point in the hierarchy.\n\nIt performs validations to make sure that the parent entity can accept the child.\n", - "args": [ - { - "name": "input", - "description": "Parameters for ReparentEntity", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ReparentEntityInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "ReparentEntityPayload", - "ofType": null - }, + "name": "LOGO", + "description": "A logo (on a Community).", "isDeprecated": false, "deprecationReason": null }, { - "name": "resetOrdering", - "description": "Reset an ordering to \"factory\" settings. For schema-inherited orderings,\nthis will reload its definition from the schema definition. For custom\norderings, this will load minimal defaults.\n", - "args": [ - { - "name": "input", - "description": "Parameters for ResetOrdering", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ResetOrderingInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "ResetOrderingPayload", - "ofType": null - }, + "name": "OTHER", + "description": "A fallback for otherwise-unspecified images.", "isDeprecated": false, "deprecationReason": null }, { - "name": "revokeAccess", - "description": "Revoke access from a specific hierarchical entity", - "args": [ - { - "name": "input", - "description": "Parameters for RevokeAccess", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "RevokeAccessInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "RevokeAccessPayload", - "ofType": null - }, + "name": "SITE_LOGO", + "description": "The logo for the site.", "isDeprecated": false, "deprecationReason": null }, { - "name": "updateAnnouncement", - "description": "Update an announcement by its ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateAnnouncement", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateAnnouncementInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpdateAnnouncementPayload", - "ofType": null - }, + "name": "THUMBNAIL", + "description": "A thumbnail that appears next to the entity in lists, grids, etc.", "isDeprecated": false, "deprecationReason": null - }, + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ImageSize", + "description": "This describes a specific derivative style\nfor an attachment, e.g. small, medium, thumb.\n\nIt is further broken down into the various formats\nthe WDP generates, presently WEBP and PNG.\n", + "fields": [ { - "name": "updateAsset", - "description": "Update an asset by ID.\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateAsset", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateAssetInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "alt", + "description": "Alt text for accessible images", + "args": [], "type": { - "kind": "OBJECT", - "name": "UpdateAssetPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updateAssetAttachment", - "description": "Update an asset's attachment by ID.\n\nThis mutation is for updating **only** an asset's attachment,\nas opposed to the rest of its attributes (handled in `updateAsset`).\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateAssetAttachment", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateAssetAttachmentInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "height", + "description": "The (maximum) height for this size.", + "args": [], "type": { - "kind": "OBJECT", - "name": "UpdateAssetAttachmentPayload", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updateCollection", - "description": "Update a collection", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateCollection", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateCollectionInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "originalFilename", + "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "UpdateCollectionPayload", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updateCommunity", - "description": "Update a community", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateCommunity", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateCommunityInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "png", + "description": "A png-formatted image derivative for this particular size.", + "args": [], "type": { - "kind": "OBJECT", - "name": "UpdateCommunityPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageDerivative", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updateContribution", - "description": "Update a Contribution by ID.\n\n**Note**: Neither the contribution role nor the contributor can be changed\nby this mutation. Rather than deal with uniqueness violations, it's necessary\nto delete the old contribution and create a new one with the correct role\nor contributor.\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateContribution", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateContributionInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "purpose", + "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "UpdateContributionPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImagePurpose", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updateGlobalConfiguration", - "description": "Update the global configuration for this site.\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateGlobalConfiguration", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateGlobalConfigurationInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "size", + "description": null, + "args": [], "type": { - "kind": "OBJECT", - "name": "UpdateGlobalConfigurationPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImageDerivativeSize", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updateItem", - "description": "Update an item", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateItem", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateItemInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "webp", + "description": "A webp-formatted image derivative for this particular size.", + "args": [], "type": { - "kind": "OBJECT", - "name": "UpdateItemPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageDerivative", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updateOrdering", - "description": "Update an ordering by ID", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateOrdering", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateOrderingInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "width", + "description": "The (maximum) width for this size.", + "args": [], "type": { - "kind": "OBJECT", - "name": "UpdateOrderingPayload", + "kind": "SCALAR", + "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "updateOrganizationContributor", - "description": "Update an organization contributor", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateOrganizationContributor", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateOrganizationContributorInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "kind": "INTERFACE", + "name": "ImageIdentification", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InAnyOperatorInput", + "description": "Require that the `path` must include or be one of the strings provided in `value`.\n\nThe actual value of `path` may be an array (multiselect) or string (select).\n", + "fields": null, + "inputFields": [ + { + "name": "path", + "description": null, "type": { - "kind": "OBJECT", - "name": "UpdateOrganizationContributorPayload", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatePage", - "description": "Update a page.\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpdatePage", - "type": { + "name": "value", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdatePageInput", + "kind": "SCALAR", + "name": "String", "ofType": null } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + } } - ], - "type": { - "kind": "OBJECT", - "name": "UpdatePagePayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatePersonContributor", - "description": "Update a person contributor", - "args": [ - { - "name": "input", - "description": "Parameters for UpdatePersonContributor", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdatePersonContributorInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpdatePersonContributorPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateRole", - "description": "Update the name or permissions for a given role.\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateRole", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateRoleInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpdateRolePayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateUser", - "description": "Update a user.\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateUser", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateUserInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpdateUserPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateViewerSettings", - "description": "Update the current viewer (i.e. you).\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpdateViewerSettings", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateViewerSettingsInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpdateViewerSettingsPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "upsertContribution", - "description": "Upsert a Contribution by contributable & contributor ID. It will override any\nexisting contributions for the same contributor on the same entity.\n", - "args": [ - { - "name": "input", - "description": "Parameters for UpsertContribution", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpsertContributionInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpsertContributionPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userResetPassword", - "description": "Reset a password for the current or specified user\n", - "args": [ - { - "name": "input", - "description": "Parameters for UserResetPassword", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserResetPasswordInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserResetPasswordPayload", - "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "MutationAttributeError", - "description": "An error for a specific attribute in a mutation—intended for use with react-hook-form and similarly shaped structures", + "name": "InstitutionSettings", + "description": "Configuration settings for the specific institution featured on this installation.\n", "fields": [ { - "name": "messages", - "description": "The accumulated messages for this combination of path and type", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "path", - "description": "The attribute that should have the error", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": "A grouping type for the attribute", + "name": "name", + "description": "The name of the institution.\n", "args": [], "type": { "kind": "NON_NULL", @@ -61537,43 +61494,53 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "MutationErrorScope", - "description": null, + "kind": "INPUT_OBJECT", + "name": "InstitutionSettingsInput", + "description": "An object for updating the site's configuration.\n", "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ATTRIBUTE", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, + "inputFields": [ { - "name": "GLOBAL", - "description": null, + "name": "name", + "description": "The name of the institution.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Int", + "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "MutationGlobalError", - "description": "An error that encapsulates the entire mutation input and is not tied to a specific input field.", + "name": "IntegerProperty", + "description": null, "fields": [ { - "name": "message", - "description": "The actual message", + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, @@ -61581,58 +61548,39 @@ "deprecationReason": null }, { - "name": "type", + "name": "defaultInteger", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NamedAncestor", - "description": "Entity schemas can define named ancestors, which allows UI developers to refer\nauthoritatively to significant relatives in an entity's ancestor. This object\nrepresents the connection between an originating entity and its ancestors,\nshould any be defined for the schema.\n", - "fields": [ + }, { - "name": "ancestor", - "description": "The actual ancestor", + "name": "description", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ancestorDepth", - "description": "The depth of the ancestor in the hierarchy", + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, @@ -61640,15 +61588,15 @@ "deprecationReason": null }, { - "name": "name", - "description": "The name of the ancestor. Guaranteed to be unique for this specific entity.", + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "SchemaPropertyFunction", "ofType": null } }, @@ -61656,87 +61604,55 @@ "deprecationReason": null }, { - "name": "originDepth", - "description": "The relative depth of the originating entity", + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "relativeDepth", - "description": "The relative depth from the source entity to its ancestor. In other words, `(origin_depth - ancestor_depth)`.\nUsed for sorting ancestors deterministically.\n", + "name": "integerValue", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NavigationBackground", - "description": "An enumerated value associated with the templating subsystem.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DARK", - "description": "A dark gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIGHT", - "description": "A light gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "NONE", - "description": "No background is applied to this template.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NavigationLayoutDefinition", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "ENUM", + "name": "SchemaPropertyKind", "ofType": null } }, @@ -61744,7 +61660,7 @@ "deprecationReason": null }, { - "name": "id", + "name": "label", "description": null, "args": [], "type": { @@ -61752,7 +61668,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, @@ -61760,15 +61676,15 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -61776,15 +61692,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "String", "ofType": null } }, @@ -61792,20 +61708,24 @@ "deprecationReason": null }, { - "name": "template", - "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "NavigationTemplateDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "templates", - "description": "The ordered template definitions available for this layout.\n", + "name": "searchOperators", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -61817,8 +61737,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "UNION", - "name": "AnyNavigationTemplateDefinition", + "kind": "ENUM", + "name": "SearchOperator", "ofType": null } } @@ -61828,7 +61748,7 @@ "deprecationReason": null }, { - "name": "updatedAt", + "name": "searchPath", "description": null, "args": [], "type": { @@ -61836,43 +61756,16 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "LayoutDefinition", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NavigationLayoutInstance", - "description": null, - "fields": [ - { - "name": "allHidden", - "description": "Whether all templates in this instance are hidden.\n", + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", "args": [], "type": { "kind": "NON_NULL", @@ -61887,63 +61780,167 @@ "deprecationReason": null }, { - "name": "allSlotsEmpty", - "description": "Whether all slots in all template instances in this layout are empty.\n", + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "SchemaPropertyType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null }, { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null }, { - "name": "entity", - "description": "The associated entity for this layout instance.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "INTERFACE", + "name": "SearchableProperty", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Item", + "description": "An item that belongs to a collection", + "fields": [ { - "name": "id", + "name": "accessGrants", "description": null, - "args": [], + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": null, + "type": { + "kind": "ENUM", + "name": "AccessGrantSubjectFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AnyCollectionAccessGrantConnection", "ofType": null } }, @@ -61951,27 +61948,124 @@ "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "layoutDefinition", - "description": "The layout definition for this type.\n", - "args": [], + "name": "allAccessGrants", + "description": "A polymorphic connection for access grants from an entity", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": null, + "type": { + "kind": "ENUM", + "name": "AccessGrantSubjectFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "NavigationLayoutDefinition", + "name": "AnyAccessGrantConnection", "ofType": null } }, @@ -61979,143 +62073,631 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null + "name": "ancestorByName", + "description": "Directly fetch a defined named ancestor by its name. It can be null,\neither because an invalid name was provided, the schema hierarchy is\nincomplete, or the association itself is optional.\n", + "args": [ + { + "name": "name", + "description": "The name of the ancestor to fetch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } + ], + "type": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "template", - "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", - "args": [], + "name": "ancestorOfType", + "description": "Look up an ancestor for this entity that implements a specific type. It ascends from this entity,\nso it will first check the parent, then the grandparent, and so on.\n", + "args": [ + { + "name": "schema", + "description": "A fully-qualified name of a schema to look for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "OBJECT", - "name": "NavigationTemplateInstance", + "kind": "INTERFACE", + "name": "Entity", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "templates", - "description": "The ordered template instances available for this layout.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { + "name": "announcement", + "description": "Look up an announcement for this entity by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "UNION", - "name": "AnyNavigationTemplateInstance", + "kind": "SCALAR", + "name": "Slug", "ofType": null } - } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } + ], + "type": { + "kind": "OBJECT", + "name": "Announcement", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, - "args": [], + "name": "announcements", + "description": "A list of announcements associated with this entity.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "AnnouncementOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AnnouncementConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + }, { - "kind": "INTERFACE", - "name": "LayoutInstance", - "ofType": null + "name": "applicableRoles", + "description": "The role(s) that gave the permissions to access this resource, if any.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Role", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "Node", - "ofType": null + "name": "assetDownloads", + "description": null, + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "precision", + "description": "The precision to apply.\n", + "type": { + "kind": "ENUM", + "name": "AnalyticsPrecision", + "ofType": null + }, + "defaultValue": "DAY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectIds", + "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnalyticsEventCountSummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "Renderable", - "ofType": null + "name": "assetDownloadsByRegion", + "description": null, + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectIds", + "description": "Optionally filter by specific subjects.\n\nPresently this is just assets, but it may expand in the future.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usOnly", + "description": "Filter by country_code = \"US\" only.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnalyticsRegionCountSummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NavigationTemplateDefinition", - "description": null, - "fields": [ + "name": "assets", + "description": "Assets owned by this entity", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "AssetKindFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AssetConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "background", - "description": "The background gradient to use for this template. Affects presentation.\n", + "name": "assignableRoles", + "description": "The role(s) that the current user could assign to other users on this entity, if applicable.", "args": [], "type": { - "kind": "ENUM", - "name": "NavigationBackground", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Role", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, - "args": [], + "name": "assignedUsers", + "description": "Retrieve a list of user & role assignments for this entity", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContextualPermissionOrder", + "ofType": null + }, + "defaultValue": "USER_NAME_ASC", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "ContextualPermissionConnection", "ofType": null } }, @@ -62123,43 +62705,104 @@ "deprecationReason": null }, { - "name": "hideMetadata", - "description": "If true, the metadata template/tab should be hidden for this schema.\n", + "name": "attributions", + "description": "Attributions for the item.", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ItemAttribution", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "availableEntitiesFor", + "description": "Expose all available entities for this schema property.\n", + "args": [ + { + "name": "fullPath", + "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntitySelectOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "breadcrumbs", + "description": "Previous entries in the hierarchy", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityBreadcrumb", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "canAlterSchemaVersion", + "description": "Whether the current user has permission to alter the schema version of this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -62167,15 +62810,15 @@ "deprecationReason": null }, { - "name": "slots", - "description": "Slot definitions for this template.\n", + "name": "canCreateAssets", + "description": "Whether the current user has permission to create assets under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "NavigationTemplateDefinitionSlots", + "name": "AuthorizationResult", "ofType": null } }, @@ -62183,15 +62826,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "canCreateCollections", + "description": "Whether the current user has permission to create collections under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -62199,15 +62842,15 @@ "deprecationReason": null }, { - "name": "templateKind", - "description": null, + "name": "canCreateItems", + "description": "Whether the current user has permission to create items under this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -62215,81 +62858,47 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "canDeposit", + "description": "Whether the current user has permission to deposit a new entity into this one.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + }, { - "kind": "INTERFACE", - "name": "Node", - "ofType": null + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "TemplateDefinition", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NavigationTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", - "fields": [ - { - "name": "entityLabel", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NavigationTemplateInstance", - "description": null, - "fields": [ - { - "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", + "name": "canManageAccess", + "description": "Whether the current user has permission to manage access to this entity.\n\nThis opens up `grantAccess` and `revokeAccess` mutations.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -62297,15 +62906,15 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "canPurge", + "description": "Whether the current user has permission to purge this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -62313,15 +62922,15 @@ "deprecationReason": null }, { - "name": "definition", - "description": "Load the associated definition for this template.\n", + "name": "canReparent", + "description": "Whether the current user has permission to reparent this entity.\n\nSubmission drafts will be denied, even if the user would otherwise have permission.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "NavigationTemplateDefinition", + "name": "AuthorizationResult", "ofType": null } }, @@ -62329,15 +62938,15 @@ "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", + "name": "canRevalidate", + "description": "Whether the current user has permission to revalidate this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -62345,15 +62954,15 @@ "deprecationReason": null }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "name": "canReview", + "description": "Whether the current user has permission to review deposits to this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -62361,15 +62970,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -62377,91 +62986,124 @@ "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "canonicalPermalink", + "description": "The canonical permalink for this resource, if one is set.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "Permalink", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", + "name": "children", "description": null, - "args": [], + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "OBJECT", + "name": "ItemConnection", "ofType": null } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use Item.items" }, { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "name": "collection", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "OBJECT", + "name": "Collection", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "name": "community", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "OBJECT", + "name": "Community", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slots", - "description": "Rendered slots for this template.\n", + "name": "contributionRoles", + "description": "Look up contribution role configuration for this record.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "NavigationTemplateInstanceSlots", + "name": "ContributionRoleConfiguration", "ofType": null } }, @@ -62469,15 +63111,112 @@ "deprecationReason": null }, { - "name": "slug", + "name": "contributions", "description": null, - "args": [], + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributionOrder", + "ofType": null + }, + "defaultValue": "TARGET_TITLE_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "ItemContributionConnection", "ofType": null } }, @@ -62485,15 +63224,168 @@ "deprecationReason": null }, { - "name": "templateKind", - "description": null, - "args": [], + "name": "contributors", + "description": "Contributors to this element", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorFilterKind", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorOrder", + "ofType": null + }, + "defaultValue": "NAME_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "Search for contributors with names that start with the provided text.\n\n**Deprecated**: Use the `nameSearch` filter instead.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "kind": "OBJECT", + "name": "AnyContributorConnection", "ofType": null } }, @@ -62501,8 +63393,8 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -62515,763 +63407,771 @@ }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Renderable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null }, { - "kind": "INTERFACE", - "name": "TemplateInstance", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NavigationTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", - "fields": [ - { - "name": "entityLabel", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "description": "An object with an ID.", - "fields": [ + }, { - "name": "id", - "description": "ID of the object.", + "name": "currentlyHidden", + "description": "Whether the entity is _currently_ hidden, based on the server's time zone.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Announcement", - "ofType": null }, { - "kind": "OBJECT", - "name": "AssetAudio", - "ofType": null + "name": "currentlyVisible", + "description": "Whether the entity is _currently_ visible, based on the server's time zone.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AssetDocument", - "ofType": null + "name": "descendants", + "description": "All descendants of this entity, regardless of type.\n\nCommunities and collections can both contain collections and items. Items will only contain items.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxDepth", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntityDescendantOrder", + "ofType": null + } + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schema", + "description": "Filter by a namespace.name schema identifier", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scope", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityDescendantScopeFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityDescendantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AssetImage", - "ofType": null + "name": "doi", + "description": "The Digital Object Identifier for this entity. See https://doi.org\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AssetPDF", - "ofType": null + "name": "doiData", + "description": "The data sanitized from `rawDOI`, including things like the URL and host.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DOIData", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AssetUnknown", - "ofType": null + "name": "entityViews", + "description": null, + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "precision", + "description": "The precision to apply.\n", + "type": { + "kind": "ENUM", + "name": "AnalyticsPrecision", + "ofType": null + }, + "defaultValue": "DAY", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnalyticsEventCountSummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AssetVideo", - "ofType": null + "name": "entityViewsByRegion", + "description": null, + "args": [ + { + "name": "dateFilter", + "description": "An optional date filter to apply.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usOnly", + "description": "Filter by country_code = \"US\" only.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnalyticsRegionCountSummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "BlurbTemplateDefinition", - "ofType": null + "name": "firstItem", + "description": "Retrieve the first matching item beneath this item.", + "args": [ + { + "name": "nodeFilter", + "description": "Describe the depth of entities to retrieve", + "type": { + "kind": "ENUM", + "name": "SubtreeNodeFilter", + "ofType": null + }, + "defaultValue": "CHILDREN", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityOrder", + "ofType": null + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schema", + "description": "Filter by a namespace.name schema identifier", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "BlurbTemplateInstance", - "ofType": null + "name": "harvestModificationStatus", + "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestModificationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "Collection", - "ofType": null + "name": "harvestRecords", + "description": "The harvest record(s) associated with the entity, with most recent harvest records sorted to the top.\n\nIt is technically possible for multiple harvest records to have affected an entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "CollectionAttribution", - "ofType": null + "name": "hasItems", + "description": "Whether this item has any child items", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "CollectionContribution", - "ofType": null + "name": "hasWeirdDOI", + "description": "For use in the admin, something to signify that data has been set on `rawDOI`\nthat could not be properly assigned to `doi`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "Community", - "ofType": null + "name": "heroImage", + "description": "A hero image for the entity, suitable for displaying in page headers", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageAttachment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "ContextualPermission", - "ofType": null + "name": "heroImageMetadata", + "description": "Configurable metadata for the hero_image attachment", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ImageMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "ContributionRoleConfiguration", - "ofType": null + "name": "hidden", + "description": "Whether the entity's visibility is set to `HIDDEN`\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "ContributorCollectionAttribution", - "ofType": null + "name": "hiddenAsOf", + "description": "Specify a time to check to see if the entity will be hidden.\n", + "args": [ + { + "name": "time", + "description": "If no value is provided, it will default to the current time.\n", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "ContributorItemAttribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorListTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorListTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabulary", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularySource", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DescendantListTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DescendantListTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DetailTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DetailTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EntityBreadcrumb", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EntityLink", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "GlobalConfiguration", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttemptEntityStatus", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttemptRecordStatus", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestEntity", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestError", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMessage", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMetadataMapping", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestRecord", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestSet", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HeroLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HeroLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HeroTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HeroTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HierarchicalSchemaRank", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HierarchicalSchemaVersionRank", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Item", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ItemAttribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ItemContribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "LinkListTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "LinkListTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "LinkTargetCandidate", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ListItemLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ListItemLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ListItemTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ListItemTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MainLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MainLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MetadataLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MetadataLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MetadataTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MetadataTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "NavigationLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "NavigationLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "NavigationTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "NavigationTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderingEntry", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderingTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderingTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrganizationContributor", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Page", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "PageListTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "PageListTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Permalink", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "PersonContributor", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Role", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SchemaDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SearchResult", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SupplementaryLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SupplementaryLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SupplementaryTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SupplementaryTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UserCollectionAccessGrant", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UserCommunityAccessGrant", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UserGroup", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UserGroupCollectionAccessGrant", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UserGroupCommunityAccessGrant", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UserGroupItemAccessGrant", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UserItemAccessGrant", - "ofType": null - } - ] - }, - { - "kind": "ENUM", - "name": "NullOrderPriority", - "description": "The priority for NULL values when sorting", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "FIRST", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LAST", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NumericGTEOperatorInput", - "description": "Require that `path ≥ value` while enforcing that value is numeric.\n\nNote: this will also work for integer paths. Coercion is handled\ntransparently by the API.\n", - "fields": null, - "inputFields": [ - { - "name": "path", - "description": null, + "name": "hiddenAt", + "description": "If present, this is the timestamp the entity was hidden at", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "value", - "description": null, + "name": "hierarchicalDepth", + "description": "The depth of the hierarchical entity, taking into account any parent types.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Float", + "name": "Int", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NumericLTEOperatorInput", - "description": "Require that `path ≤ value` while enforcing that value is numeric.\n\nNote: this will also work for integer paths. Coercion is handled\ntransparently by the API.\n", - "fields": null, - "inputFields": [ + }, { - "name": "path", + "name": "id", "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "value", - "description": null, + "name": "identifier", + "description": "A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Float", + "name": "String", "ofType": null } }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "OptionableProperty", - "description": "An interface for properties that have a set of predefined options to choose from.\n", - "fields": [ - { - "name": "options", - "description": "The list of predefined options available for this property.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SelectOption", - "ofType": null - } - } - } - }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "MultiselectProperty", - "ofType": null }, { - "kind": "OBJECT", - "name": "SelectProperty", - "ofType": null - } - ] - }, - { - "kind": "INPUT_OBJECT", - "name": "OrOperatorInput", - "description": "The boolean result of evaluating the left and right predicates. At least one must be true.\n\nWhile this is implemented, it is not likely that the first version of the search\nUI will utilize it. It is intended for advanced searching.\n", - "fields": null, - "inputFields": [ - { - "name": "left", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "SearchPredicateInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "right", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "SearchPredicateInput", - "ofType": null + "name": "items", + "description": "Retrieve the items beneath this item", + "args": [ + { + "name": "access", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityPermissionFilter", + "ofType": null + }, + "defaultValue": "SKIP", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ItemFilterInput", + "ofType": null + }, + "defaultValue": "{includeDrafts: false}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodeFilter", + "description": "Describe the depth of entities to retrieve", + "type": { + "kind": "ENUM", + "name": "SubtreeNodeFilter", + "ofType": null + }, + "defaultValue": "CHILDREN", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ItemFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityOrder", + "ofType": null + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schema", + "description": "Filter by a namespace.name schema identifier", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "OrderDefinition", - "description": "Ordering for a specific column", - "fields": [ - { - "name": "direction", - "description": null, - "args": [], + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "Direction", + "kind": "OBJECT", + "name": "ItemConnection", "ofType": null } }, @@ -63279,15 +64179,15 @@ "deprecationReason": null }, { - "name": "nulls", - "description": null, + "name": "layouts", + "description": "Access layouts for this entity.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "NullOrderPriority", + "kind": "OBJECT", + "name": "EntityLayouts", "ofType": null } }, @@ -63295,7 +64195,7 @@ "deprecationReason": null }, { - "name": "path", + "name": "leaf", "description": null, "args": [], "type": { @@ -63303,78 +64203,141 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "OrderDefinitionInput", - "description": "Ordering for a specific column", - "fields": null, - "inputFields": [ - { - "name": "direction", - "description": null, - "type": { - "kind": "ENUM", - "name": "Direction", - "ofType": null - }, - "defaultValue": "ASCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nulls", - "description": null, - "type": { - "kind": "ENUM", - "name": "NullOrderPriority", - "ofType": null - }, - "defaultValue": "LAST", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "path", - "description": null, + "name": "linkTargetCandidates", + "description": "Available link targets for this entity.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "LinkTargetCandidateFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "LinkTargetCandidateConnection", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Ordering", - "description": "An ordering that belongs to an entity and arranges its children in a pre-configured way", - "fields": [ + }, { - "name": "children", - "description": null, + "name": "links", + "description": "Links from this entity to other entities, along with metadata about those links.\n", "args": [ { "name": "after", @@ -63426,13 +64389,13 @@ }, { "name": "order", - "description": "You can specify the direction to retrieve entries for an ordering.\nINVERSE will be identical to DEFAULT if the ordering is marked constant.\n", + "description": null, "type": { "kind": "ENUM", - "name": "OrderingEntrySortMode", + "name": "SimpleOrder", "ofType": null }, - "defaultValue": "DEFAULT", + "defaultValue": "RECENT", "isDeprecated": false, "deprecationReason": null }, @@ -63478,7 +64441,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingEntryConnection", + "name": "EntityLinkConnection", "ofType": null } }, @@ -63486,8 +64449,8 @@ "deprecationReason": null }, { - "name": "constant", - "description": "A constant ordering should be treated as not being able to invert itself.", + "name": "markedForPurge", + "description": "Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent.\n", "args": [], "type": { "kind": "NON_NULL", @@ -63502,91 +64465,218 @@ "deprecationReason": null }, { - "name": "count", - "description": "The number of entries currently visible within the ordering", + "name": "namedAncestors", + "description": "Fetch a list of named ancestors for this entity. This list is deterministically sorted\nto retrieve the \"closest\" ancestors first, ascending upwards in the hierarchy from there.\n\n**Note**: Like breadcrumbs, this association is intentionally not paginated for ease of use,\nbecause in practice a schema should not have many associations.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NamedAncestor", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "name": "ordering", + "description": "Look up an ordering for this entity by identifier", + "args": [ + { + "name": "identifier", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } + ], + "type": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "disabled", - "description": "Whether the ordering has been disabled—orderings inherited from schemas will be disabled if deleted.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "name": "orderingForSchema", + "description": "Look up an ordering that is set up to handle a specific schema.", + "args": [ + { + "name": "slug", + "description": "This should be of the `namespace:identifier` format.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } + ], + "type": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "disabledAt", - "description": "The time the ordering was disabled, if applicable", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ISO8601Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "entity", - "description": "The entity that owns the ordering", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Entity", - "ofType": null + "name": "orderings", + "description": "A list of orderings associated with this entity.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availability", + "description": "Optionally filter orderings by whether they are enabled or disabled.", + "type": { + "kind": "ENUM", + "name": "OrderingAvailabilityFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "OrderingOrder", + "ofType": null + }, + "defaultValue": "DETERMINISTIC", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Optionally filter orderings by whether they are visible or hidden.", + "type": { + "kind": "ENUM", + "name": "OrderingVisibilityFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filter", - "description": null, - "args": [], + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingFilterDefinition", + "name": "OrderingConnection", "ofType": null } }, @@ -63594,55 +64684,129 @@ "deprecationReason": null }, { - "name": "footer", - "description": "Optional markdown content to render after the children", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "header", - "description": "Optional markdown content to render before the children", - "args": [], + "name": "page", + "description": "Look up a page for this entity by slug", + "args": [ + { + "name": "slug", + "description": "**Note**: Unlike most other model types, a page's slug is just a string\nas opposed to our custom `Slug` type. They are not designed to be\nopaque, but instead be something human-readable that can appear in URIs.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Page", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "hidden", - "description": "A hidden ordering represents an ordering that should not be shown in the frontend,\nwhen iterating over an entity's available orderings. It does not affect access, as\nhidden orderings may still serve a functional purpose for their schema.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "name": "pages", + "description": "A list of pages associated with this entity.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "PageConnection", "ofType": null } }, @@ -63650,52 +64814,44 @@ "deprecationReason": null }, { - "name": "identifier", - "description": "A unique identifier for the ordering within the context of its parent entity.", + "name": "parent", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "UNION", + "name": "ItemParent", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "inheritedFromSchema", - "description": "Whether the ordering was inherited from its entity's schema definition", + "name": "permalinks", + "description": "All permalinks associated with this resource.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "An optional, human-readable name for the ordering", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", "args": [], "type": { "kind": "NON_NULL", @@ -63708,7 +64864,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderDefinition", + "name": "PermissionGrant", "ofType": null } } @@ -63718,15 +64874,15 @@ "deprecationReason": null }, { - "name": "pristine", - "description": "For orderings that are `inheritedFromSchema`, this tracks whether or not the\nentity has been modified from the schema's definition. It is always false\nfor custom, user-created orderings.\n", + "name": "published", + "description": "The date this entity was published", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "VariablePrecisionDate", "ofType": null } }, @@ -63734,28 +64890,60 @@ "deprecationReason": null }, { - "name": "render", - "description": "Configuration for how to render an ordering and its entries.\n", + "name": "rawDOI", + "description": "The value that was set on the entity. It will be validated and sanitized\nand be set on `doi` if possible.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderingRenderDefinition", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "search", - "description": "Search from this level of the API using it as the origin", + "name": "relatedItems", + "description": "Retrieve linked items of the same schema type", "args": [ { - "name": "maxDepth", - "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", + "name": "access", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityPermissionFilter", + "ofType": null + }, + "defaultValue": "SKIP", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", @@ -63766,14 +64954,62 @@ "deprecationReason": null }, { - "name": "visibility", - "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, "type": { "kind": "ENUM", - "name": "EntityVisibilityFilter", + "name": "EntityOrder", "ofType": null }, - "defaultValue": "VISIBLE", + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } @@ -63783,7 +65019,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SearchScope", + "name": "ItemConnection", "ofType": null } }, @@ -63791,15 +65027,15 @@ "deprecationReason": null }, { - "name": "select", + "name": "root", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "OrderingSelectDefinition", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -63807,15 +65043,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "schemaDefinition", + "description": "The schema definition that this entity conforms to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "SchemaDefinition", "ofType": null } }, @@ -63823,15 +65059,15 @@ "deprecationReason": null }, { - "name": "tree", - "description": "A tree ordering has some special handling to return entities\nin deterministic order based on their hierarchical position\nand relation to other entities in the same ordering.\n\nThis is effectively a shortcut for `Ordering.render.mode === \"TREE\"`.\n", + "name": "schemaInstanceContext", + "description": "The context for our schema instance. Includes form values and necessary referents.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "SchemaInstanceContext", "ofType": null } }, @@ -63839,133 +65075,61 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "schemaProperties", + "description": "A list of schema properties associated with this instance or version.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Searchable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "OrderingAvailabilityFilter", - "description": "An ordering's availability refers to it being enabled or disabled.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ALL", - "description": "Do not filter orderings by whether they are enabled or disabled.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "DISABLED", - "description": "Fetch only *disabled* orderings.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENABLED", - "description": "Fetch only *enabled* orderings.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "OrderingBackground", - "description": "An enumerated value associated with the templating subsystem.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DARK", - "description": "A dark gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIGHT", - "description": "A light gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "NONE", - "description": "No background is applied to this template.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "OrderingConnection", - "description": "The connection type for Ordering.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { + "name": "schemaProperty", + "description": "Read a single schema property by its full path.\n", + "args": [ + { + "name": "fullPath", + "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", + "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "OrderingEdge", + "kind": "SCALAR", + "name": "String", "ofType": null } - } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } + ], + "type": { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "schemaRanks", + "description": "The hierarchical schema ranks for this entity, which compute the overall structure\nof its descendants by schema definition.\n", "args": [], "type": { "kind": "NON_NULL", @@ -63978,7 +65142,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Ordering", + "name": "HierarchicalSchemaRank", "ofType": null } } @@ -63988,48 +65152,15 @@ "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "schemaVersion", + "description": "The schema version that this entity conforms to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "PageInfo", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "OrderingDefinition", - "description": "A definition for an ordering (may be dynamic).\n", - "fields": [ - { - "name": "constant", - "description": "A constant ordering should be treated as not being able to invert itself.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "name": "SchemaVersion", "ofType": null } }, @@ -64037,15 +65168,40 @@ "deprecationReason": null }, { - "name": "filter", - "description": null, - "args": [], + "name": "search", + "description": "Search from this level of the API using it as the origin", + "args": [ + { + "name": "maxDepth", + "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", + "type": { + "kind": "ENUM", + "name": "EntityVisibilityFilter", + "ofType": null + }, + "defaultValue": "VISIBLE", + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingFilterDefinition", + "name": "SearchScope", "ofType": null } }, @@ -64053,15 +65209,15 @@ "deprecationReason": null }, { - "name": "hidden", - "description": "A hidden ordering represents an ordering that should not be shown in the frontend,\nwhen iterating over an entity's available orderings. It does not affect access, as\nhidden orderings may still serve a functional purpose for their schema.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -64069,15 +65225,15 @@ "deprecationReason": null }, { - "name": "identifier", - "description": "A unique identifier for the ordering within the context of its parent entity.", + "name": "submissionStatus", + "description": "THe current submission status of this entity. Is it a draft, published, or unrelated?\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "EntitySubmissionStatus", "ofType": null } }, @@ -64085,67 +65241,51 @@ "deprecationReason": null }, { - "name": "name", - "description": "An optional, human-readable name for the ordering", + "name": "submissionTarget", + "description": "The submission target that this entity can be submitted to, if any.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "SubmissionTarget", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "order", - "description": null, + "name": "subtitle", + "description": "A human-readable subtitle for the entity.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderDefinition", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "render", - "description": "Configuration for how to render an ordering and its entries.\n", + "name": "summary", + "description": "A description of the contents of the entity.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderingRenderDefinition", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "select", - "description": null, + "name": "thumbnail", + "description": "A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingSelectDefinition", + "name": "ImageAttachment", "ofType": null } }, @@ -64153,64 +65293,20 @@ "deprecationReason": null }, { - "name": "tree", - "description": "A tree ordering has some special handling to return entities\nin deterministic order based on their hierarchical position\nand relation to other entities in the same ordering.\n\nThis is effectively a shortcut for `Ordering.render.mode === \"TREE\"`.\n", + "name": "thumbnailMetadata", + "description": "Configurable metadata for the thumbnail attachment", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "OBJECT", + "name": "ImageMetadata", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "OrderingDirectSelection", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "CHILDREN", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "DESCENDANTS", - "description": null, - "isDeprecated": false, - "deprecationReason": null }, { - "name": "NONE", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "OrderingEdge", - "description": "An edge in a connection.", - "fields": [ - { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "title", + "description": "A human-readable title for the entity.\n", "args": [], "type": { "kind": "NON_NULL", @@ -64225,59 +65321,8 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "OrderingEntry", - "description": "An entry within an ordering, it can refer to an entity or an entity link", - "fields": [ - { - "name": "ancestors", - "description": "When the associated `Ordering` is a `TREE`, and the current entry is a leaf, this array can be used\nto get the associated ancestors within the entry that\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderingEntry", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -64292,15 +65337,15 @@ "deprecationReason": null }, { - "name": "entry", - "description": "The actual element being ordered. At present, this will only be a `Community`, `Collection`, or `Item`,\nbut future implementations of orderings may include other content, such as presentation elements.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "OrderingEntryable", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -64308,39 +65353,112 @@ "deprecationReason": null }, { - "name": "entrySlug", - "description": "The delegated `slug` from the associated `entry`.\n\nThis can be null because future entries may not implement it.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "entryTitle", - "description": "The delegated `title` from the associated `entry`.\n\nThis can be null because future entries may not implement it.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], + "name": "userAccessGrants", + "description": "Access grants for specific users", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "UserCollectionAccessGrantConnection", "ofType": null } }, @@ -64348,27 +65466,112 @@ "deprecationReason": null }, { - "name": "nextSibling", - "description": "The next entry in the current ordering, if one exists. This will be null if this entry is the last.\n", - "args": [], - "type": { - "kind": "OBJECT", - "name": "OrderingEntry", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ordering", - "description": "The parent ordering", - "args": [], - "type": { + "name": "userGroupAccessGrants", + "description": "Not presently used", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "Ordering", + "name": "UserGroupCollectionAccessGrantConnection", "ofType": null } }, @@ -64376,39 +65579,295 @@ "deprecationReason": null }, { - "name": "position", - "description": "The 1-based position of this entry.\n", + "name": "visibility", + "description": "If an entity is available in the frontend", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntityVisibility", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visible", + "description": "Whether the entity's visibility is set to `VISIBLE`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibleAfterAt", + "description": "If present, this is the timestamp an entity is visible after", "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "prevSibling", - "description": "The previous entry in the current ordering, if one exists. This will be null if this entry is the first.\n", + "name": "visibleAsOf", + "description": "Specify a time to check to see if the entity will be visible.\n", + "args": [ + { + "name": "time", + "description": "If no value is provided, it will default to the current time.\n", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibleUntilAt", + "description": "If present, this is the timestamp an entity is visible until", "args": [], "type": { - "kind": "OBJECT", - "name": "OrderingEntry", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Accessible", + "ofType": null }, { - "name": "relativeDepth", - "description": "A calculation of the depth of an entry in the hierarchy, relative to the ordering's owning entity.\n", + "kind": "INTERFACE", + "name": "Attachable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Attributable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ChildEntity", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Contributable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityBase", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityContextualPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "EntityPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDOI", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEntityAnalytics", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEntityBreadcrumbs", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasHarvestModificationStatus", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasSchemaProperties", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "OrderingEntryable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Permalinkable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ReferencesEntityVisibility", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ReferencesGlobalEntityDates", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SchemaInstance", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Searchable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Submittable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ItemAttribution", + "description": "Attributions for items.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributor", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ContributorBase", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "ISO8601DateTime", "ofType": null } }, @@ -64416,7 +65875,23 @@ "deprecationReason": null }, { - "name": "slug", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", "description": null, "args": [], "type": { @@ -64424,7 +65899,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ID", "ofType": null } }, @@ -64432,20 +65907,48 @@ "deprecationReason": null }, { - "name": "treeDepth", - "description": "When an ordering's render mode is set to TREE, its entries will have this set.\nIt is a normalized depth based on what other entities were accepted into the ordering.\n", + "name": "roles", + "description": "A priority-ordered list of the roles the associated contributor had.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -64458,10 +65961,46 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "Attribution", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -64478,8 +66017,8 @@ }, { "kind": "OBJECT", - "name": "OrderingEntryConnection", - "description": "The connection type for OrderingEntry.", + "name": "ItemConnection", + "description": "The connection type for Item.", "fields": [ { "name": "edges", @@ -64496,7 +66035,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingEntryEdge", + "name": "ItemEdge", "ofType": null } } @@ -64520,7 +66059,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingEntry", + "name": "Item", "ofType": null } } @@ -64559,19 +66098,31 @@ }, { "kind": "OBJECT", - "name": "OrderingEntryEdge", - "description": "An edge in a connection.", + "name": "ItemContribution", + "description": "A contribution to an item", "fields": [ { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "affiliation", + "description": "A potentially-overridden value from person contributors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -64579,207 +66130,164 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingEntry", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "OrderingEntrySortMode", - "description": "When fetching entries from an ordering, you can swap between the default or a special 'inverted' mode", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Retrieve the ordering entries as defined by default", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "INVERSE", - "description": "Retrieve the ordering entries in an inverted order, accounting for paths", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "OrderingEntryable", - "description": "An entity or link which can appear in an ordering.\n", - "fields": [ - { - "name": "id", - "description": "ID of the object.", + "name": "contributionRole", + "description": "The actual role", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "ControlledVocabularyItem", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null }, { - "kind": "OBJECT", - "name": "Community", - "ofType": null + "name": "contributor", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "EntityLink", - "ofType": null + "name": "contributorKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "OrderingFilterDefinition", - "description": "A collection of settings for filtering what appears what entities\nmay populate an ordering. At present, this only supports schemas.\n", - "fields": [ + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "schemas", - "description": "If set, any child or descendant that matches one of these schemas will\nbe availabel to be included in the ordering.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderingSchemaFilter", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "OrderingFilterDefinitionInput", - "description": "A collection of settings for filtering what appears what entities\nmay populate an ordering. At present, this only supports schemas.\n", - "fields": null, - "inputFields": [ + }, { - "name": "schemas", - "description": "If set, any child or descendant that matches one of these schemas will\nbe availabel to be included in the ordering.\n", + "name": "displayName", + "description": "A potentially-overridden display name value for all contributor types", + "args": [], "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderingSchemaFilterInput", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "OrderingOrder", - "description": "An enum used to order `Ordering`s. It uses `DETERMINISTIC` by default to ensure a consistent rendering experience.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + }, { - "name": "DETERMINISTIC", - "description": "Sort orderings by their static position of the ordering, falling back to the name if unset.", + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "OLDEST", - "description": "Sort orderings by oldest created date", + "name": "innerPosition", + "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _after_ contribution role ranking.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort orderings by newest created date", + "name": "item", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "OrderingPath", - "description": "This represents a valid path that can be used for orderings.\n", - "fields": [ + }, { - "name": "description", - "description": "A helpful description of the path", + "name": "location", + "description": "A potentially-overridden value from organization contributors", "args": [], "type": { "kind": "SCALAR", @@ -64790,15 +66298,15 @@ "deprecationReason": null }, { - "name": "grouping", - "description": "A logical grouping for ordering paths", + "name": "metadata", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "OrderingPathGrouping", + "kind": "OBJECT", + "name": "ContributionMetadata", "ofType": null } }, @@ -64806,15 +66314,51 @@ "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the path", + "name": "outerPosition", + "description": "An optional sorting discriminator to decide which contribution ranks higher.\n\nApplies _before_ contribution role ranking, superseding everything else.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "role", + "description": "An arbitrary text value describing the role the contributor had", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `roleLabel` instead." + }, + { + "name": "roleLabel", + "description": "An arbitrary text value describing the role the contributor had", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Slug", "ofType": null } }, @@ -64822,8 +66366,8 @@ "deprecationReason": null }, { - "name": "labelPrefix", - "description": "Some paths may have a prefix. For instance, schema properties will have the name of the schema.\n", + "name": "title", + "description": "A potentially-overridden value from person contributors", "args": [], "type": { "kind": "SCALAR", @@ -64834,15 +66378,15 @@ "deprecationReason": null }, { - "name": "path", - "description": "The exact path that should be provided to mutation inputs.", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, @@ -64850,15 +66394,15 @@ "deprecationReason": null }, { - "name": "type", - "description": "The schema property type", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -64867,159 +66411,135 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + "interfaces": [ { - "kind": "OBJECT", - "name": "AncestorSchemaOrderingPath", + "kind": "INTERFACE", + "name": "CommonModel", "ofType": null }, { - "kind": "OBJECT", - "name": "AncestorStaticOrderingPath", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "SchemaOrderingPath", + "kind": "INTERFACE", + "name": "Contribution", "ofType": null }, { - "kind": "OBJECT", - "name": "StaticOrderingPath", + "kind": "INTERFACE", + "name": "ContributionBase", "ofType": null - } - ] - }, - { - "kind": "ENUM", - "name": "OrderingPathGrouping", - "description": "A logical grouping for ordering paths.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ANCESTOR_PROPS", - "description": "Paths under this type come from _ancestors_ in a schema.\nNot every entity is guaranteed to have one, and in orderings\nwith mixed entities, missing props will be treated as null.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ANCESTOR_STATIC", - "description": "Static properties that are directly on an ancestor.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENTITY", - "description": "Static properties that are directly on an entity.\n", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "LINK", - "description": "Static properties that are derived from a link.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null }, { - "name": "PROPS", - "description": "Paths under this type come from a schema. Not every entity is guaranteed\nto have one, and in orderings with mixed entities, missing props will be\ntreated as null.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "Node", + "ofType": null }, { - "name": "SCHEMA", - "description": "Static properties that are derived from a schema.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null } ], + "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "OrderingRenderDefinition", - "description": "Configuration for controlling how an ordering renders itself and its entries.\n", + "name": "ItemContributionConnection", + "description": "The connection type for ItemContribution.", "fields": [ { - "name": "mode", - "description": "How to render entries within", + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "OrderingRenderMode", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ItemContributionEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "OrderingRenderDefinitionInput", - "description": "Describe how an ordering should render its entries.\n", - "fields": null, - "inputFields": [ + }, { - "name": "mode", - "description": null, + "name": "nodes", + "description": "A list of nodes.", + "args": [], "type": { - "kind": "ENUM", - "name": "OrderingRenderMode", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ItemContribution", + "ofType": null + } + } + } }, - "defaultValue": "FLAT", - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "OrderingRenderMode", - "description": "How entries in an ordering should be rendered.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "FLAT", - "description": "The default for most orderings. Every ordering is considered to be on\nthe same level of the hierarchy, and positions are calculated based\nsolely on the paths.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "TREE", - "description": "A special mode for handling orderings that should operate like a tree. In this setting,\nentries will be calculated first as though they were flat, then analyzed in order to\nadjust the positioning to account for the entry's ancestors and position relative to\nother entries in the ordering.\n", + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null } ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "OrderingSchemaFilter", - "description": "This defines a specific schema that an ordering can filter its entries by", + "name": "ItemContributionEdge", + "description": "An edge in a connection.", "fields": [ { - "name": "identifier", - "description": "The identifier within the namespace for the schema.\n", + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", @@ -65034,32 +66554,20 @@ "deprecationReason": null }, { - "name": "namespace", - "description": "The namespace the schema occupies.\n", + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "ItemContribution", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "version", - "description": "An optional version requirement for the associated schema.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "VersionRequirement", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, @@ -65068,14 +66576,14 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "OrderingSchemaFilterInput", - "description": "This defines a specific schema that an ordering can filter its entries by", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "ItemEdge", + "description": "An edge in a connection.", + "fields": [ { - "name": "identifier", - "description": "The identifier within the namespace for the schema.\n", + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -65085,152 +66593,124 @@ "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "namespace", - "description": "The namespace the schema occupies.\n", + "name": "node", + "description": "The item at the end of the edge.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Item", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ItemFilterInput", + "description": "Filtering options for `Item` records.\n", + "fields": null, + "inputFields": [ { - "name": "version", - "description": "An optional version requirement for this ordering. It supports\nRuby's version declaration syntax, so you can provide a value\nlike `\">= 1.2\"` to match against semantically-versioned schemas.\n", + "name": "createdAt", + "description": "Filter the model's `created_at` with time constraints.\n", "type": { - "kind": "SCALAR", - "name": "VersionRequirement", + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", "ofType": null }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "OrderingSelectDefinition", - "description": "Defines how an ordering should select its entries.\n", - "fields": [ + }, { - "name": "direct", - "description": null, - "args": [], + "name": "includeDrafts", + "description": "Whether to include items that are in draft state (i.e. items that are associated with a submission).\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "OrderingDirectSelection", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, + "defaultValue": "false", "isDeprecated": false, "deprecationReason": null }, { - "name": "links", - "description": null, - "args": [], + "name": "updatedAt", + "description": "Filter the model's `updated_at` with time constraints.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderingSelectLinkDefinition", - "ofType": null - } + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "OrderingSelectDefinitionInput", - "description": "Define how an ordering should select its entries\n", + "kind": "UNION", + "name": "ItemParent", + "description": null, "fields": null, - "inputFields": [ + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ { - "name": "direct", - "description": null, - "type": { - "kind": "ENUM", - "name": "OrderingDirectSelection", - "ofType": null - }, - "defaultValue": "CHILDREN", - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Collection", + "ofType": null }, { - "name": "links", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderingSelectLinkDefinitionInput", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "Item", + "ofType": null } - ], + ] + }, + { + "kind": "SCALAR", + "name": "JSON", + "description": "Represents untyped JSON", + "fields": null, + "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "OBJECT", - "name": "OrderingSelectLinkDefinition", - "description": "Describes how an ordering should select its links.\n", + "kind": "INTERFACE", + "name": "LayoutDefinition", + "description": "Entities within the system have layouts associated with their schema,\nthat can eventually be overridden for more custom approaches.\n\nThis interface defines the *definition* for one such layout, while any\ngiven entity will also have its own LayoutInstance.\n", "fields": [ { - "name": "contains", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "references", + "name": "layoutKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, @@ -65241,70 +66721,54 @@ "inputFields": null, "interfaces": [], "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "OrderingSelectLinkDefinitionInput", - "description": "Describe how an ordering should select its links.\n", - "fields": null, - "inputFields": [ + "possibleTypes": [ { - "name": "contains", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "HeroLayoutDefinition", + "ofType": null }, { - "name": "references", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "OBJECT", + "name": "ListItemLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutDefinition", + "ofType": null } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null + ] }, { - "kind": "OBJECT", - "name": "OrderingTemplateDefinition", - "description": null, + "kind": "INTERFACE", + "name": "LayoutInstance", + "description": "An interface describing an instance type that can be rendered for a given entity.\n", "fields": [ { - "name": "background", - "description": "The background gradient to use for this template. Affects presentation.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "OrderingBackground", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, + "name": "allHidden", + "description": "Whether all templates in this instance are hidden.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null } }, @@ -65312,15 +66776,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "allSlotsEmpty", + "description": "Whether all slots in all template instances in this layout are empty.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Boolean", "ofType": null } }, @@ -65328,15 +66792,15 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "entity", + "description": "The associated entity for this layout instance.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -65344,269 +66808,410 @@ "deprecationReason": null }, { - "name": "orderingIdentifier", - "description": "The identifier for the ordering to derive next/prev siblings from.\n\nRefer to `orderingSource` and `selectionSource` for more details.\n", + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", "args": [], "type": { "kind": "SCALAR", - "name": "SchemaComponent", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderingSource", - "description": "A reference to the entity that contains an ordering identified by `orderingIdentifier`.\nIt operates exactly like `selectionSource`. See that property for more documentation.\n\n**Note**: While `self` is allowed here, it only makes sense if the rendering entity\nis contained in one of its own orderings, which doesn't happen normally. The template\nwill still render, but it likely won't find siblings.\n", + "name": "layoutKind", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "TemplateSelectionSource", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "HeroLayoutInstance", + "ofType": null }, { - "name": "orderingSourceAncestorName", - "description": "", - "args": [], - "type": { - "kind": "SCALAR", - "name": "SchemaComponent", - "ofType": null - }, + "kind": "OBJECT", + "name": "ListItemLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutInstance", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "LayoutKind", + "description": "The various kinds of `Layout`s in the system.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HERO", + "description": "The \"hero\" layout for an Entity.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "orderingSourceMode", - "description": "", - "args": [], - "type": { - "kind": "ENUM", - "name": "SelectionSourceMode", - "ofType": null - }, + "name": "LIST_ITEM", + "description": "A layout describing how an entity should look when it is being rendered.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionSource", - "description": "What entity to use for detecting the positional prev/next siblings.\n\nBy default, it is `self`. However, it can be overridden for creating templates that\nnavigate through parent issues, volumes, journals, etc. For instance, an article could\ncreate an `` template that has the following properties set:\n\n* `selectionSource`: `\"ancestors.issue\"`\n* `orderingSource`: `\"ancestors.journal\"`\n* `orderingIdentifier`: `\"issues\"`\n\nThis would use the _journal's_ `issues` ordering to navigate through the article's\nassociated `issues`, and provide a quick way to navigate through varying levels of\nthe upper hierarchy from lower points in the tree.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "TemplateSelectionSource", - "ofType": null - }, + "name": "MAIN", + "description": "The \"main\" layout for the landing page of an entity.\n\nIt is where most of the detail on an entity should go.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionSourceAncestorName", - "description": "The derived name of the ancestor used for the `selectionSource`.\n\nExposed for introspection only.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "SchemaComponent", - "ofType": null - }, + "name": "METADATA", + "description": "A layout for controlling how metadata should render.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "selectionSourceMode", - "description": "An enum representing what mode `selectionSource` is in. Not directly set,\nit is used internally for lookups.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "SelectionSourceMode", - "ofType": null - }, + "name": "NAVIGATION", + "description": "A layout describing how an entity should be navigated.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "slots", - "description": "Slot definitions for this template.\n", - "args": [], + "name": "SUPPLEMENTARY", + "description": "A shared layout for certain supplementary routes like contributors and metrics.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LinkEntityInput", + "description": "Autogenerated input type of LinkEntity", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderingTemplateDefinitionSlots", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, - "args": [], + "name": "operator", + "description": "The 'type' of link", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "ENUM", + "name": "EntityLinkOperator", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "templateKind", - "description": null, - "args": [], + "name": "sourceId", + "description": "The ID for the source entity", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, - "args": [], + "name": "targetId", + "description": "The ID for the target entity", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "width", - "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "TemplateWidth", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "TemplateDefinition", - "ofType": null } ], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "OrderingTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", + "name": "LinkEntityPayload", + "description": "Autogenerated return type of LinkEntity.", "fields": [ { - "name": "nextLabel", + "name": "attributeErrors", "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "previousLabel", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "OrderingTemplateInstance", - "description": null, - "fields": [ + }, { - "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "createdAt", + "name": "globalErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "definition", - "description": "Load the associated definition for this template.\n", - "args": [], + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "link", + "description": "The created or updated link, if applicable", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EntityLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LinkListBackground", + "description": "An enumerated value associated with the templating subsystem.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DARK", + "description": "A dark gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIGHT", + "description": "A light gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No background is applied to this template.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LinkListSelectionMode", + "description": "An enum used to control the mode of selection for a link list template.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DYNAMIC", + "description": "Render links from a dynamic list, determined at query time.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUAL", + "description": "Render links from a manual list set on each individual entity. See `manualListName` for how this works.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateDefinition", + "description": null, + "fields": [ + { + "name": "background", + "description": "The background gradient to use for this template. Affects presentation.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "LinkListBackground", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "browseStyle", + "description": "A boolean used to describe list templates that should match browse style as close as possible.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingTemplateDefinition", + "name": "AuthorizationResult", "ofType": null } }, @@ -65614,15 +67219,15 @@ "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -65630,15 +67235,15 @@ "deprecationReason": null }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601DateTime", "ofType": null } }, @@ -65646,15 +67251,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601Date", "ofType": null } }, @@ -65662,27 +67267,39 @@ "deprecationReason": null }, { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "dynamicOrderingDefinition", + "description": "When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure\nas schemas to define a dynamic ordering that is resolved at runtime and based\non the `selectionSource`.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "OrderingDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "layoutKind", + "name": "entityContext", + "description": "Enumerate how much context to show when listing entities.\n\nReplaces `showEntityContext`.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "ListEntityContext", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -65690,79 +67307,211 @@ "deprecationReason": null }, { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "name": "layoutKind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderingPair", - "description": "Access the prev/next siblings within the template's specified ordering.\n", + "name": "manualListName", + "description": "When `selectionMode` is set to `MANUAL`, the purpose of this property\nis to specify a name under which all the manual selections (per entity)\nwill be stored. This allows a layout to have multiple templates of the\nsame type using different lists, that will persist across rearrangements\nof the layout _without_ losing connections between entities.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateOrderingPair", - "ofType": null - } + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "name": "seeAllButtonLabel", + "description": "", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seeAllOrderingIdentifier", + "description": "If provided, this will expose an ordering on the template instance that can\nbe used to generate a link to the ordering in the frontend.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionFallbackMode", + "description": "The fallback mode to use when rendering a list of entities, when the list from\n`selectionMode` is empty and `useSelectionFallback` has been set to true.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "LinkListSelectionMode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionLimit", + "description": "Regardless of `selectionMode`, this limit will be applied on whatever resulting\nlist of entities are produced, so that only up to that amount of entities are\nrendered in the template proper.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionMode", + "description": "The default mode to use when rendering a list of entities.\n\nSee also `selectionFallbackMode` and `useSelectionFallback`.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "LinkListSelectionMode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionSource", + "description": "When selecting entities based on `selectionMode`, this property determines\nwhich entity (relevant to the rendering entity) should be used for lookups.\n\nBy default, it is `self`, which means the rendering entity itself.\n\nIt can also support things like `ancestor.journal`, `ancestor.issue`, etc.,\nin order to render a list of values in its parent.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "TemplateSelectionSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionSourceAncestorName", + "description": "The derived name of the ancestor used for the `selectionSource`.\n\nExposed for introspection only.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionSourceMode", + "description": "An enum representing what mode `selectionSource` is in. Not directly set,\nit is used internally for lookups.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "SelectionSourceMode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionUnbounded", + "description": "When true, this takes priority over `selectionLimit`. It allows an entire\nmatching list of records to be retrieved. It should be used with caution,\nsince very large entity trees could cause responses to be slow.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "showContributors", + "description": "Show contributors when listing entities.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "showEntityContext", + "description": "Show additional context about each entity in the selection.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use entity_context enum instead" + }, + { + "name": "showHeroImage", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "showNestedEntities", + "description": "Show nested items from the associated listItemLayouts in order to generate\na two-tier list.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, + { + "name": "showSeeAllButton", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use seeAllOrdering on the instance instead." + }, { "name": "slots", - "description": "Rendered slots for this template.\n", + "description": "Slot definitions for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "OrderingTemplateInstanceSlots", + "name": "LinkListTemplateDefinitionSlots", "ofType": null } }, @@ -65771,7 +67520,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -65801,9 +67550,21 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "title", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -65816,33 +67577,90 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "useSelectionFallback", + "description": "Controls whether or not to use `selectionFallbackMode` if the entity list returned\nvia `selectionMode` turns out to be empty at runtime.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The variant rendering mode to use for this template. Affects presentation.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "LinkListVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "TemplateWidth", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "Node", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "Renderable", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "HasDefaultTimestamps", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateHasOrderingPair", + "name": "Node", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateInstance", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateDefinition", "ofType": null } ], @@ -65851,365 +67669,126 @@ }, { "kind": "OBJECT", - "name": "OrderingTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", + "name": "LinkListTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", "fields": [ { - "name": "nextLabel", + "name": "blockHeader", "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "name": "TemplateSlotInlineDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "previousLabel", + "name": "blockHeaderFallback", "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", + "name": "TemplateSlotInlineDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "OrderingVisibilityFilter", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ALL", - "description": "Do not filter orderings by their visibility.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "HIDDEN", - "description": "Fetch only *hidden* orderings.", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "VISIBLE", - "description": "Fetch only *visible* orderings. This has no bearing on the ordering's *availability*.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "OrganizationContributor", - "description": "An organization that has made contributions.\n", - "fields": [ - { - "name": "affiliation", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "header", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "attributions", + "name": "headerAside", "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributorAttributionOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContributorAttributionConnection", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "bio", + "name": "headerFallback", "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "collectionContributionCount", - "description": "The total number of collection contributions from this contributor.\n", + "name": "listContext", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "collectionContributions", + "name": "metadata", "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributionOrder", - "ofType": null - }, - "defaultValue": "TARGET_TITLE_ASCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CollectionContributionConnection", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributionCount", - "description": "The total number of contributions (item + collection) from this contributor.\n", + "name": "subtitle", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateInstance", + "description": null, + "fields": [ { - "name": "createdAt", - "description": null, + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null } }, @@ -66217,51 +67796,63 @@ "deprecationReason": null }, { - "name": "email", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "familyName", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "givenName", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestModificationStatus", - "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestModificationStatus", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -66269,15 +67860,15 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "definition", + "description": "Load the associated definition for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "LinkListTemplateDefinition", "ofType": null } }, @@ -66285,15 +67876,15 @@ "deprecationReason": null }, { - "name": "identifier", - "description": null, + "name": "entity", + "description": "The associated entity for this template instance.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -66301,15 +67892,15 @@ "deprecationReason": null }, { - "name": "image", - "description": "An optional image associated with the contributor.", + "name": "entityList", + "description": "The list of entities to render as part of this template's content.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ImageAttachment", + "name": "TemplateEntityList", "ofType": null } }, @@ -66317,27 +67908,31 @@ "deprecationReason": null }, { - "name": "imageMetadata", - "description": "Configurable metadata for the image attachment", + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemContributionCount", - "description": "The total number of item contributions from this contributor.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "ID", "ofType": null } }, @@ -66345,120 +67940,19 @@ "deprecationReason": null }, { - "name": "itemContributions", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributionOrder", - "ofType": null - }, - "defaultValue": "TARGET_TITLE_ASCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ItemContributionConnection", - "ofType": null - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", + "name": "layoutKind", "description": null, "args": [], "type": { @@ -66466,7 +67960,7 @@ "name": null, "ofType": { "kind": "ENUM", - "name": "ContributorKind", + "name": "LayoutKind", "ofType": null } }, @@ -66474,20 +67968,32 @@ "deprecationReason": null }, { - "name": "legalName", - "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "links", - "description": null, + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", "args": [], "type": { "kind": "NON_NULL", @@ -66500,7 +68006,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ContributorLink", + "name": "TemplateInstanceSibling", "ofType": null } } @@ -66510,60 +68016,36 @@ "deprecationReason": null }, { - "name": "location", - "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "name": "seeAllOrdering", + "description": "The ordering to render for a \"see all\" link.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Ordering", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "A display name, independent of the type of contributor.\n", - "args": [], + "name": "slots", + "description": "Rendered slots for this template.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "LinkListTemplateInstanceSlots", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, - { - "name": "orcid", - "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "prefix", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -66578,32 +68060,24 @@ "deprecationReason": null }, { - "name": "suffix", + "name": "templateKind", "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": "Only applicable when `kind` = `PERSON`.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -66618,13 +68092,17 @@ "deprecationReason": null }, { - "name": "url", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -66634,17 +68112,17 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Contributor", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "ContributorBase", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "HasHarvestModificationStatus", + "name": "HasDefaultTimestamps", "ofType": null }, { @@ -66652,10 +68130,30 @@ "name": "Node", "ofType": null }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, { "kind": "INTERFACE", "name": "Sluggable", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateHasEntityList", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateHasSeeAllOrdering", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateInstance", + "ofType": null } ], "enumValues": null, @@ -66663,51 +68161,173 @@ }, { "kind": "OBJECT", - "name": "Page", - "description": "A page of arbitrary content for an entity", + "name": "LinkListTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", "fields": [ { - "name": "body", + "name": "blockHeader", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", + "name": "blockHeaderFallback", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "entity", + "name": "header", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headerAside", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headerFallback", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "listContext", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtitle", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LinkListVariant", + "description": "An enum used to control how a link list template should be rendered.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CARDS", + "description": "A card list of entities.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPACT", + "description": "A compact list of entities.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GRID", + "description": "A grid of entities\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROMOS", + "description": "A horizontal list of entities with promotional header.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUMMARY", + "description": "A vertical, summarized list of entities.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TREE", + "description": "A tree structure.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LinkTargetCandidate", + "description": "A candidate for a link target, scoped to a parent source", + "fields": [ + { + "name": "createdAt", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -66715,15 +68335,15 @@ "deprecationReason": null }, { - "name": "heroImage", - "description": "The hero image for a page", + "name": "depth", + "description": "How deeply nested the candidate entity is", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", + "kind": "SCALAR", + "name": "Int", "ofType": null } }, @@ -66731,27 +68351,31 @@ "deprecationReason": null }, { - "name": "heroImageMetadata", - "description": "Configurable metadata for the hero_image attachment", + "name": "id", + "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", + "name": "kind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "LinkTargetCandidateKind", "ofType": null } }, @@ -66759,27 +68383,31 @@ "deprecationReason": null }, { - "name": "position", - "description": null, + "name": "target", + "description": "The actual target", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "targetId", + "description": "The targetID to provide to linkEntity", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, @@ -66788,7 +68416,7 @@ }, { "name": "title", - "description": null, + "description": "The target entity's title", "args": [], "type": { "kind": "NON_NULL", @@ -66832,8 +68460,8 @@ }, { "kind": "OBJECT", - "name": "PageConnection", - "description": "The connection type for Page.", + "name": "LinkTargetCandidateConnection", + "description": "The connection type for LinkTargetCandidate.", "fields": [ { "name": "edges", @@ -66850,7 +68478,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "PageEdge", + "name": "LinkTargetCandidateEdge", "ofType": null } } @@ -66874,7 +68502,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Page", + "name": "LinkTargetCandidate", "ofType": null } } @@ -66911,32 +68539,9 @@ "enumValues": null, "possibleTypes": null }, - { - "kind": "ENUM", - "name": "PageDirection", - "description": "Determines the direction that page-number based pagination should flow", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "BACKWARDS", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FORWARDS", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, { "kind": "OBJECT", - "name": "PageEdge", + "name": "LinkTargetCandidateEdge", "description": "An edge in a connection.", "fields": [ { @@ -66964,7 +68569,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Page", + "name": "LinkTargetCandidate", "ofType": null } }, @@ -66978,32 +68583,101 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "PageInfo", - "description": "Information about pagination in a connection.", - "fields": [ + "kind": "ENUM", + "name": "LinkTargetCandidateFilter", + "description": "Filter the available candidates for a link target", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "endCursor", - "description": "When paginating forwards, the cursor to continue.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, + "name": "ALL", + "description": "Show all possible link target candidate types", "isDeprecated": false, "deprecationReason": null }, { - "name": "hasNextPage", - "description": "When paginating forwards, are there more items?", + "name": "COLLECTION", + "description": "Limit to collection candidates", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM", + "description": "Limit to item candidates", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LinkTargetCandidateKind", + "description": "The kind of link target candidate", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ListEntityContext", + "description": "An enum used to control how much context to show for listed entities in a template.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ABBR", + "description": "Show an abbreviated amount of context for listed entities.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULL", + "description": "Show the maximum amount of context for listed entities.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "Show the minimal / no amount of context for listed entities.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutDefinition", + "description": null, + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -67011,15 +68685,15 @@ "deprecationReason": null }, { - "name": "hasPreviousPage", - "description": "When paginating backwards, are there more items?", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -67027,63 +68701,63 @@ "deprecationReason": null }, { - "name": "page", - "description": "The page (if page-based pagination is supported and one was provided, does not introspect a value with cursor-based pagination)", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageCount", - "description": "The total number of pages available to the connection (if page-based pagination supported and a page was provided)", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "perPage", - "description": "The number of edges/nodes per page (if page-based pagination supported and a page was provided)", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "startCursor", - "description": "When paginating backwards, the cursor to continue.", + "name": "id", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "totalCount", - "description": "The total number of nodes available to this connection, constrained by applied filters (if any)", + "name": "layoutKind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Int", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, @@ -67091,131 +68765,67 @@ "deprecationReason": null }, { - "name": "totalUnfilteredCount", - "description": "The total number of nodes available to this connection, independent of any filters", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "Slug", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "PageListBackground", - "description": "An enumerated value associated with the templating subsystem.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DARK", - "description": "A dark gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "LIGHT", - "description": "A light gradient is applied to the background of this template.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NONE", - "description": "No background is applied to this template.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PageListTemplateDefinition", - "description": null, - "fields": [ - { - "name": "background", - "description": "The background gradient to use for this template. Affects presentation.\n", + "name": "template", + "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", "args": [], "type": { - "kind": "ENUM", - "name": "PageListBackground", + "kind": "OBJECT", + "name": "ListItemTemplateDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "templates", + "description": "The ordered template definitions available for this layout.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "AnyListItemTemplateDefinition", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "layoutKind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "LayoutKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slots", - "description": "Slot definitions for this template.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PageListTemplateDefinitionSlots", + "name": "ISO8601DateTime", "ofType": null } }, @@ -67223,81 +68833,52 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "templateKind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "TemplateKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null }, { - "name": "width", - "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "TemplateWidth", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", - "name": "Node", + "name": "LayoutDefinition", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "Node", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateDefinition", + "name": "Sluggable", "ofType": null } ], @@ -67306,35 +68887,28 @@ }, { "kind": "OBJECT", - "name": "PageListTemplateDefinitionSlots", - "description": "Slot definitions for the associated template.\n", + "name": "ListItemLayoutInstance", + "description": null, "fields": [ { - "name": "header", - "description": null, + "name": "allHidden", + "description": "Whether all templates in this instance are hidden.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineDefinition", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PageListTemplateInstance", - "description": null, - "fields": [ + }, { "name": "allSlotsEmpty", - "description": "Whether all slots in this template are empty.\n", + "description": "Whether all slots in all template instances in this layout are empty.\n", "args": [], "type": { "kind": "NON_NULL", @@ -67349,15 +68923,15 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -67365,15 +68939,15 @@ "deprecationReason": null }, { - "name": "definition", - "description": "Load the associated definition for this template.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "PageListTemplateDefinition", + "name": "AuthorizationResult", "ofType": null } }, @@ -67381,15 +68955,15 @@ "deprecationReason": null }, { - "name": "entity", - "description": "The associated entity for this template instance.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -67397,15 +68971,31 @@ "deprecationReason": null }, { - "name": "hidden", - "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": "The associated entity for this layout instance.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -67441,15 +69031,15 @@ "deprecationReason": null }, { - "name": "layoutKind", - "description": null, + "name": "layoutDefinition", + "description": "The layout definition for this type.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "LayoutKind", + "kind": "OBJECT", + "name": "ListItemLayoutDefinition", "ofType": null } }, @@ -67457,95 +69047,83 @@ "deprecationReason": null }, { - "name": "nextSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "name": "layoutKind", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "prevSiblings", - "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Slug", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slots", - "description": "Rendered slots for this template.\n", + "name": "template", + "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PageListTemplateInstanceSlots", - "ofType": null - } + "kind": "OBJECT", + "name": "ListItemTemplateInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "templates", + "description": "The ordered template instances available for this layout.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "AnyListItemTemplateInstance", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "templateKind", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateKind", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -67553,15 +69131,15 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ISO8601Date", "ofType": null } }, @@ -67573,22 +69151,37 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Node", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "Renderable", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "HasDefaultTimestamps", "ofType": null }, { "kind": "INTERFACE", - "name": "TemplateInstance", + "name": "LayoutInstance", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } ], @@ -67596,345 +69189,295 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "PageListTemplateInstanceSlots", - "description": "Rendered slots for the associated template.\n", - "fields": [ + "kind": "ENUM", + "name": "ListItemSelectionMode", + "description": "An enum used to control the mode of selection for a list item template's associated records (if applicable).\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "header", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "TemplateSlotInlineInstance", - "ofType": null - }, + "name": "DYNAMIC", + "description": "", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUAL", + "description": "", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMED", + "description": "", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROPERTY", + "description": "", "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], - "enumValues": null, "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "Paginated", - "description": "Connections can be paginated by cursor or number.", + "kind": "OBJECT", + "name": "ListItemTemplateDefinition", + "description": null, "fields": [ { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "PageInfo", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "AnnouncementConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AnyAccessGrantConnection", - "ofType": null }, { - "kind": "OBJECT", - "name": "AnyCollectionAccessGrantConnection", - "ofType": null + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AnyCommunityAccessGrantConnection", - "ofType": null + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AnyContributorConnection", - "ofType": null + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AnyUserAccessGrantConnection", - "ofType": null + "name": "dynamicOrderingDefinition", + "description": "When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure\nas schemas to define a dynamic ordering that is resolved at runtime and based\non the `selectionSource`.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderingDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AnyUserGroupAccessGrantConnection", - "ofType": null + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "AssetConnection", - "ofType": null + "name": "layoutKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "CollectionConnection", - "ofType": null + "name": "manualListName", + "description": "When `selectionMode` is set to `MANUAL`, the purpose of this property\nis to specify a name under which all the manual selections (per entity)\nwill be stored. This allows a layout to have multiple templates of the\nsame type using different lists, that will persist across rearrangements\nof the layout _without_ losing connections between entities.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "CollectionContributionConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CommunityConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContextualPermissionConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorAttributionConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularyConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularySourceConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EntityDescendantConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EntityLinkConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttemptConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMappingConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMessageConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMetadataMappingConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestRecordConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestSetConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestSourceConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ItemConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ItemContributionConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "LinkTargetCandidateConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderingConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderingEntryConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "PageConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "PermalinkConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "RoleConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SchemaDefinitionConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SchemaVersionConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SearchResultConnection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UserCollectionAccessGrantConnection", - "ofType": null + "name": "orderingIdentifier", + "description": "This can be set to specify the named ordering on the `selectionSource`\nthat should be used to populate the associated entity list.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserCommunityAccessGrantConnection", - "ofType": null + "name": "seeAllOrderingIdentifier", + "description": "If provided, this will expose an ordering on the template instance that can\nbe used to generate a link to the ordering in the frontend.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserConnection", - "ofType": null + "name": "selectionFallbackMode", + "description": "The fallback mode to use when rendering a list of entities, when the list from\n`selectionMode` is empty and `useSelectionFallback` has been set to true.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "ListItemSelectionMode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserGroupCollectionAccessGrantConnection", - "ofType": null + "name": "selectionLimit", + "description": "Regardless of `selectionMode`, this limit will be applied on whatever resulting\nlist of entities are produced, so that only up to that amount of entities are\nrendered in the template proper.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserGroupCommunityAccessGrantConnection", - "ofType": null + "name": "selectionMode", + "description": "The default mode to use when rendering a list of entities.\n\nSee also `selectionFallbackMode` and `useSelectionFallback`.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "ListItemSelectionMode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserGroupItemAccessGrantConnection", - "ofType": null + "name": "selectionPropertyPath", + "description": "When `selectionMode` is set to `PROPERTY`, this should be set to the full path\nfor a given schema property on the associated `selectionSource`\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaPropertyPath", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserItemAccessGrantConnection", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "Permalink", - "description": "A permalink is a persistant link to a resource with a human-readable URI.\nEach resource can have multiple permalinks, but only one can be marked as canonical.\n", - "fields": [ - { - "name": "canonical", - "description": "Whether this permalink is the canonical one for the `permalinkable`.\n", + "name": "selectionSource", + "description": "When selecting entities based on `selectionMode`, this property determines\nwhich entity (relevant to the rendering entity) should be used for lookups.\n\nBy default, it is `self`, which means the rendering entity itself.\n\nIt can also support things like `ancestor.journal`, `ancestor.issue`, etc.,\nin order to render a list of values in its parent.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "TemplateSelectionSource", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "selectionSourceAncestorName", + "description": "The derived name of the ancestor used for the `selectionSource`.\n\nExposed for introspection only.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "selectionSourceMode", + "description": "An enum representing what mode `selectionSource` is in. Not directly set,\nit is used internally for lookups.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "ENUM", + "name": "SelectionSourceMode", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "The type of resource this permalink points to.\n", + "name": "selectionUnbounded", + "description": "When true, this takes priority over `selectionLimit`. It allows an entire\nmatching list of records to be retrieved. It should be used with caution,\nsince very large entity trees could cause responses to be slow.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "PermalinkableKind", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkable", - "description": "The resource this permalink points to.\n", + "name": "slots", + "description": "Slot definitions for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Permalinkable", + "kind": "OBJECT", + "name": "ListItemTemplateDefinitionSlots", "ofType": null } }, @@ -67942,15 +69485,15 @@ "deprecationReason": null }, { - "name": "permalinkableSlug", - "description": "The slug of the `permalinkable` record.\n\nIt can be used for quickly generating non-canonical links to the resource\nbased on the `kind` without needing to load the associated record.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Slug", "ofType": null } }, @@ -67958,15 +69501,15 @@ "deprecationReason": null }, { - "name": "slug", + "name": "templateKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "ENUM", + "name": "TemplateKind", "ofType": null } }, @@ -67975,7 +69518,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -67990,24 +69533,51 @@ "deprecationReason": null }, { - "name": "uri", - "description": "The URI of the permalink. Used for generating routes and also serves as a unique identifier.\n\n**Note**: URIs are _case-insensitive_ and may only contain alphanumeric characters and hyphens.\nHyphens may not be consecutive nor may they appear at the start nor the end of the URI.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "useSelectionFallback", + "description": "Controls whether or not to use `selectionFallbackMode` if the entity list returned\nvia `selectionMode` turns out to be empty at runtime.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -68017,6 +69587,11 @@ "kind": "INTERFACE", "name": "Sluggable", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateDefinition", + "ofType": null } ], "enumValues": null, @@ -68024,473 +69599,310 @@ }, { "kind": "OBJECT", - "name": "PermalinkConnection", - "description": "The connection type for Permalink.", + "name": "ListItemTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", "fields": [ { - "name": "edges", - "description": "A list of edges.", + "name": "contextA", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PermalinkEdge", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "contextAbbr", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Permalink", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "contextB", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PageInfo", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "PermalinkCreateInput", - "description": "Autogenerated input type of PermalinkCreate", - "fields": null, - "inputFields": [ + }, { - "name": "canonical", - "description": "Whether this permalink should be the canonical permalink for its resource.\n\nIf true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink.\n", + "name": "contextC", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, - "defaultValue": "false", "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "contextFull", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkableId", - "description": "The ID of the resource to which this permalink will belong.\n\nIt can be changed.\n", + "name": "description", + "description": null, + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "uri", - "description": "The URI for the permalink.\n\nIt is case-insensitive and must be unique system-wide.\n\nIt may only contain letters, numbers, and hyphens.\nIt may not begin nor end with a hyphen, nor contain consecutive hyphens.\n", + "name": "header", + "description": null, + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PermalinkCreatePayload", - "description": "Autogenerated return type of PermalinkCreate.", - "fields": [ + }, { - "name": "attributeErrors", + "name": "metaA", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "metaB", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", + "name": "nestedContext", "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } - } - }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" - }, - { - "name": "globalErrors", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "nestedHeader", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalink", - "description": "The newly-modified permalink, if successful.\n", + "name": "nestedMetadata", + "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "Permalink", + "name": "TemplateSlotInlineDefinition", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "PermalinkDestroyInput", - "description": "Autogenerated input type of PermalinkDestroy", - "fields": null, - "inputFields": [ + }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "nestedSubheader", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkId", - "description": "The permalink to destroy.\n", + "name": "subheader", + "description": null, + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "interfaces": null, + "inputFields": null, + "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "PermalinkDestroyPayload", - "description": "Autogenerated return type of PermalinkDestroy.", + "name": "ListItemTemplateInstance", + "description": null, "fields": [ { - "name": "attributeErrors", - "description": null, + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyed", - "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "destroyedId", - "description": "The ID of the deleted model", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", - "description": null, + "name": "definition", + "description": "Load the associated definition for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "ListItemTemplateDefinition", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "entity", + "description": "The associated entity for this template instance.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "DestroyMutationPayload", - "ofType": null }, { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PermalinkEdge", - "description": "An edge in a connection.", - "fields": [ - { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "entityList", + "description": "The list of entities to render as part of this template's content.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "TemplateEntityList", "ofType": null } }, @@ -68498,147 +69910,92 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Permalink", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "PermalinkOrder", - "description": "Sort a collection of `Permalink` records by specific properties and directions.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Sort permalinks by their default order: canonical first, then by uri alphabetically.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OLDEST", - "description": "Sort permalinks by oldest created date.", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "RECENT", - "description": "Sort permalinks by newest created date.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "PermalinkUpdateInput", - "description": "Autogenerated input type of PermalinkUpdate", - "fields": null, - "inputFields": [ - { - "name": "canonical", - "description": "Whether this permalink should be the canonical permalink for its resource.\n\nIf true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink.\n", + "name": "id", + "description": null, + "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, - "defaultValue": "false", "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkId", - "description": "The permalink to update.\n", + "name": "layoutKind", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkableId", - "description": "The ID of the resource to which this permalink will belong.\n\nIt can be changed.\n", + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "uri", - "description": "The URI for the permalink.\n\nIt is case-insensitive and must be unique system-wide.\n\nIt may only contain letters, numbers, and hyphens.\nIt may not begin nor end with a hyphen, nor contain consecutive hyphens.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PermalinkUpdatePayload", - "description": "Autogenerated return type of PermalinkUpdate.", - "fields": [ - { - "name": "attributeErrors", - "description": null, + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", "args": [], "type": { "kind": "NON_NULL", @@ -68651,7 +70008,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "MutationAttributeError", + "name": "TemplateInstanceSibling", "ofType": null } } @@ -68661,85 +70018,93 @@ "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "seeAllOrdering", + "description": "The ordering to render for a \"see all\" link.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Ordering", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", - "description": null, + "name": "slots", + "description": "Rendered slots for this template.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "OBJECT", + "name": "ListItemTemplateInstanceSlots", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateKind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", - "ofType": null - } - } + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalink", - "description": "The newly-modified permalink, if successful.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "OBJECT", - "name": "Permalink", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -68749,7 +70114,47 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateHasEntityList", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateHasSeeAllOrdering", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateInstance", "ofType": null } ], @@ -68757,112 +70162,231 @@ "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "Permalinkable", - "description": "An interface for models which can have permalinks.\n", + "kind": "OBJECT", + "name": "ListItemTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", "fields": [ { - "name": "canonicalPermalink", - "description": "The canonical permalink for this resource, if one is set.\n", + "name": "contextA", + "description": null, "args": [], "type": { "kind": "OBJECT", - "name": "Permalink", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinks", - "description": "All permalinks associated with this resource.\n", + "name": "contextAbbr", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Permalink", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + }, { - "kind": "OBJECT", - "name": "Collection", - "ofType": null + "name": "contextB", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "Community", - "ofType": null + "name": "contextC", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "ENUM", - "name": "PermalinkableKind", - "description": "An enum that helps describe the different kinds of records\nthat can be permalinked.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "name": "contextFull", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "COLLECTION", - "description": "This permalink points to a collection.\n", + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "COMMUNITY", - "description": "This permalink points to a community.\n", + "name": "header", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ITEM", - "description": "This permalink points to an item.\n", + "name": "metaA", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaB", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nestedContext", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nestedHeader", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nestedMetadata", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nestedSubheader", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subheader", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null } ], + "inputFields": null, + "interfaces": [], + "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "PermissionGrant", - "description": "A grant of a specific permission within a specific scope.", + "name": "MainLayoutDefinition", + "description": null, "fields": [ { - "name": "allowed", - "description": "Whether this permission has been granted in the current context.", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601DateTime", "ofType": null } }, @@ -68870,15 +70394,15 @@ "deprecationReason": null }, { - "name": "name", - "description": "The unqualified, single name for this permission.", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, @@ -68886,15 +70410,15 @@ "deprecationReason": null }, { - "name": "path", - "description": "The fully-qualified path for this permission (composed of scope + name).", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, @@ -68902,55 +70426,40 @@ "deprecationReason": null }, { - "name": "scope", - "description": "The scope (or namespace) for this permission.", + "name": "layoutKind", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "PermissionGrid", - "description": "A mapping of permissions specific to a certain scope", - "fields": [ + }, { - "name": "allowedActions", - "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Slug", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permissions", - "description": "An array of hashes that can be requested to load in a context", + "name": "templates", + "description": "The ordered template definitions available for this layout.\n", "args": [], "type": { "kind": "NON_NULL", @@ -68962,8 +70471,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PermissionGrant", + "kind": "UNION", + "name": "AnyMainTemplateDefinition", "ofType": null } } @@ -68971,154 +70480,123 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", - "name": "ExposesPermissions", + "name": "CommonModel", "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ + }, { - "kind": "OBJECT", - "name": "AssetPermissionGrid", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "EntityPermissionGrid", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LayoutDefinition", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { "kind": "OBJECT", - "name": "PersonContributor", - "description": "A person that has made contributions.\n", + "name": "MainLayoutInstance", + "description": null, "fields": [ { - "name": "affiliation", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "allHidden", + "description": "Whether all templates in this instance are hidden.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "attributions", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributorAttributionOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "allSlotsEmpty", + "description": "Whether all slots in all template instances in this layout are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "ContributorAttributionConnection", + "name": "AuthorizationResult", "ofType": null } }, @@ -69126,27 +70604,31 @@ "deprecationReason": null }, { - "name": "bio", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "collectionContributionCount", - "description": "The total number of collection contributions from this contributor.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "ISO8601DateTime", "ofType": null } }, @@ -69154,112 +70636,15 @@ "deprecationReason": null }, { - "name": "collectionContributions", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributionOrder", - "ofType": null - }, - "defaultValue": "TARGET_TITLE_ASCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "CollectionContributionConnection", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -69267,15 +70652,15 @@ "deprecationReason": null }, { - "name": "contributionCount", - "description": "The total number of contributions (item + collection) from this contributor.\n", + "name": "entity", + "description": "The associated entity for this layout instance.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Int", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -69283,7 +70668,7 @@ "deprecationReason": null }, { - "name": "createdAt", + "name": "id", "description": null, "args": [], "type": { @@ -69291,7 +70676,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ID", "ofType": null } }, @@ -69299,51 +70684,59 @@ "deprecationReason": null }, { - "name": "email", - "description": null, + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", "args": [], "type": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "familyName", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "layoutDefinition", + "description": "The layout definition for this type.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MainLayoutDefinition", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "givenName", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "layoutKind", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestModificationStatus", - "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "HarvestModificationStatus", + "kind": "SCALAR", + "name": "Slug", "ofType": null } }, @@ -69351,15 +70744,39 @@ "deprecationReason": null }, { - "name": "id", - "description": null, + "name": "templates", + "description": "The ordered template instances available for this layout.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "AnyMainTemplateInstance", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601DateTime", "ofType": null } }, @@ -69367,31 +70784,78 @@ "deprecationReason": null }, { - "name": "identifier", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "image", - "description": "An optional image associated with the contributor.", + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LayoutInstance", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarkdownProperty", + "description": null, + "fields": [ + { + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageAttachment", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -69399,140 +70863,51 @@ "deprecationReason": null }, { - "name": "imageMetadata", - "description": "Configurable metadata for the image attachment", + "name": "content", + "description": null, "args": [], "type": { - "kind": "OBJECT", - "name": "ImageMetadata", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemContributionCount", - "description": "The total number of item contributions from this contributor.\n", + "name": "default", + "description": null, "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemContributions", + "name": "description", "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributionOrder", - "ofType": null - }, - "defaultValue": "TARGET_TITLE_ASCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ItemContributionConnection", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -69540,15 +70915,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": null, + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "ContributorKind", + "name": "SchemaPropertyFunction", "ofType": null } }, @@ -69556,8 +70931,8 @@ "deprecationReason": null }, { - "name": "legalName", - "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", "args": [], "type": { "kind": "SCALAR", @@ -69568,44 +70943,40 @@ "deprecationReason": null }, { - "name": "links", - "description": null, + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContributorLink", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "location", - "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "A display name, independent of the type of contributor.\n", + "name": "label", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -69620,39 +70991,47 @@ "deprecationReason": null }, { - "name": "orcid", - "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "prefix", - "description": null, + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "Boolean", "ofType": null } }, @@ -69660,39 +71039,55 @@ "deprecationReason": null }, { - "name": "suffix", + "name": "searchOperators", "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchOperator", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "Only applicable when `kind` = `PERSON`.\n", + "name": "searchPath", + "description": null, "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "Boolean", "ofType": null } }, @@ -69700,13 +71095,17 @@ "deprecationReason": null }, { - "name": "url", - "description": null, + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -69716,27 +71115,17 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "Contributor", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ContributorBase", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "HasHarvestModificationStatus", + "name": "ScalarProperty", "ofType": null }, { "kind": "INTERFACE", - "name": "Node", + "name": "SchemaProperty", "ofType": null }, { "kind": "INTERFACE", - "name": "Sluggable", + "name": "SearchableProperty", "ofType": null } ], @@ -69745,144 +71134,209 @@ }, { "kind": "INPUT_OBJECT", - "name": "PreviewSlotInput", - "description": "Autogenerated input type of PreviewSlot", + "name": "MatchesOperatorInput", + "description": "Use full-text search on `path` to match `value`.\n\nAs with top-level query searches, basic quoting and similar features are supported. See\n[websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for\nmore information.\n", "fields": null, "inputFields": [ { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "path", + "description": null, "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "entityId", - "description": "The entity to update.\n", + "name": "value", + "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetadataBackground", + "description": "An enumerated value associated with the templating subsystem.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DARK", + "description": "A dark gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null }, { - "name": "kind", - "description": "The kind of slot to render.\n", + "name": "LIGHT", + "description": "A light gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No background is applied to this template.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutDefinition", + "description": null, + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "TemplateSlotKind", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "template", - "description": "The template to render.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PreviewSlotPayload", - "description": "Autogenerated return type of PreviewSlot.", - "fields": [ + }, { - "name": "attributeErrors", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MutationAttributeError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "clientMutationId", - "description": "A unique identifier for the client performing the mutation.", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "errors", + "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserError", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Use attributeErrors or globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "globalErrors", + "name": "layoutKind", "description": null, "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "template", + "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetadataTemplateDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templates", + "description": "The ordered template definitions available for this layout.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -69893,8 +71347,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "MutationGlobalError", + "kind": "UNION", + "name": "AnyMetadataTemplateDefinition", "ofType": null } } @@ -69904,25 +71358,33 @@ "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slot", - "description": "The rendered slot (if successful)\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { - "kind": "INTERFACE", - "name": "TemplateSlotInstance", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null @@ -69932,7 +71394,32 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "StandardMutationPayload", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LayoutDefinition", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } ], @@ -69940,164 +71427,52 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "PropertyApplicationStrategy", - "description": "When altering a schema version for an entity, there are various strategies that can be used to determine how to handle the provided properties.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "kind": "OBJECT", + "name": "MetadataLayoutInstance", + "description": null, + "fields": [ { - "name": "APPLY", - "description": "If set to this value, property values will be validated and applied", + "name": "allHidden", + "description": "Whether all templates in this instance are hidden.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "SKIP", - "description": "If set to this value, property values will not be applied, and the entity will likely exist in an invalid state.", + "name": "allSlotsEmpty", + "description": "Whether all slots in all template instances in this layout are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "QueriesAccessAndRoles", - "description": "An interface for querying information about access control and roles within the system.\n", - "fields": [ + }, { - "name": "accessGrants", - "description": "Retrieve all access grants.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "entity", - "description": null, - "type": { - "kind": "ENUM", - "name": "AccessGrantEntityFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subject", - "description": null, - "type": { - "kind": "ENUM", - "name": "AccessGrantSubjectFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "AnyAccessGrantConnection", + "name": "AuthorizationResult", "ofType": null } }, @@ -70105,151 +71480,63 @@ "deprecationReason": null }, { - "name": "roles", - "description": "List all roles.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "RoleOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "RoleConnection", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + }, { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesContrib", - "description": "Fields for querying details about contributors and contributions.\n", - "fields": [ + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "collectionContribution", - "description": "Look up a collection contribution by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { - "kind": "OBJECT", - "name": "CollectionContribution", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributionRoles", - "description": "Look up contribution role configuration for a given contributable (or globally).", - "args": [ - { - "name": "contributableId", - "description": "The contributable to load for, if applicable.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "entity", + "description": "The associated entity for this layout instance.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ContributionRoleConfiguration", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -70257,226 +71544,43 @@ "deprecationReason": null }, { - "name": "contributor", - "description": "Look up a contributor by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "id", + "description": null, + "args": [], "type": { - "kind": "INTERFACE", - "name": "Contributor", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributorLookup", - "description": "Look up a contributor `by` a certain `value`.\n", - "args": [ - { - "name": "by", - "description": "The field to search a contributor with. Unless otherwise specified, the provided\n`value` will be an exact match.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ContributorLookupField", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": "For certain fields, the values are not guaranteed to be unique. In these instances,\nthe *most recently* created contributor will be selected by default. If the first\nis preferred, specify `order: OLDEST`.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - } - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": "The actual value to look a contributor up `by`.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], "type": { - "kind": "INTERFACE", - "name": "Contributor", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributors", - "description": "A list of all contributors in the system", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributorFilterKind", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributorOrder", - "ofType": null - }, - "defaultValue": "NAME_ASCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "prefix", - "description": "Search for contributors with names that start with the provided text.\n", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "layoutDefinition", + "description": "The layout definition for this type.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "AnyContributorConnection", + "name": "MetadataLayoutDefinition", "ofType": null } }, @@ -70484,190 +71588,31 @@ "deprecationReason": null }, { - "name": "itemContribution", - "description": "Look up an item contribution by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "layoutKind", + "description": null, + "args": [], "type": { - "kind": "OBJECT", - "name": "ItemContribution", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesControlledVocabulary", - "description": "An interface for querying `ControlledVocabulary` records.\n", - "fields": [ + }, { - "name": "controlledVocabularies", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularyFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularyFilterInput", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ControlledVocabularyOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularyConnection", + "kind": "SCALAR", + "name": "Slug", "ofType": null } }, @@ -70675,219 +71620,67 @@ "deprecationReason": null }, { - "name": "controlledVocabulary", - "description": "Retrieve a single `ControlledVocabulary` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { + "name": "template", + "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetadataTemplateInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templates", + "description": "The ordered template instances available for this layout.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "UNION", + "name": "AnyMetadataTemplateInstance", "ofType": null } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + } } - ], - "type": { - "kind": "OBJECT", - "name": "ControlledVocabulary", - "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + }, { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesControlledVocabularySource", - "description": "An interface for querying `ControlledVocabularySource` records.\n", - "fields": [ - { - "name": "controlledVocabularySource", - "description": "Retrieve a single `ControlledVocabularySource` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { - "kind": "OBJECT", - "name": "ControlledVocabularySource", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularySources", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularySourceFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularySourceFilterInput", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ControlledVocabularySourceOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularySourceConnection", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -70896,198 +71689,89 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + "interfaces": [ { - "kind": "OBJECT", - "name": "Query", + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LayoutInstance", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "QueriesEntities", - "description": "Fields for querying all entities from the top level of the hierarchy.\n", + "kind": "OBJECT", + "name": "MetadataTemplateDefinition", + "description": null, "fields": [ { - "name": "asset", - "description": "Look up an asset by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "background", + "description": "The background gradient to use for this template. Affects presentation.\n", + "args": [], "type": { - "kind": "INTERFACE", - "name": "Asset", + "kind": "ENUM", + "name": "MetadataBackground", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "collection", - "description": "Look up a collection by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "Collection", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "communities", - "description": "List all communities", - "args": [ - { - "name": "access", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityPermissionFilter", - "ofType": null - }, - "defaultValue": "SKIP", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityOrder", - "ofType": null - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "CommunityConnection", + "name": "AuthorizationResult", "ofType": null } }, @@ -71095,245 +71779,143 @@ "deprecationReason": null }, { - "name": "community", - "description": "Look up a community by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { - "kind": "OBJECT", - "name": "Community", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "communityByTitle", - "description": "Look up a community by its title", - "args": [ - { - "name": "title", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { - "kind": "OBJECT", - "name": "Community", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "item", - "description": "Look up an item by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutKind", + "description": null, + "args": [], "type": { - "kind": "OBJECT", - "name": "Item", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + }, { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestAttempt", - "description": "An interface for querying `HarvestAttempt` records.\n", - "fields": [ + "name": "slots", + "description": "Slot definitions for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetadataTemplateDefinitionSlots", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "harvestAttempt", - "description": "Retrieve a single `HarvestAttempt` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateKind", + "description": null, + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestAttempts", - "description": "Query all harvest attempts in the system.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestAttemptOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestAttemptConnection", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -71342,78 +71924,102 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + "interfaces": [ { - "kind": "OBJECT", - "name": "Query", + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateDefinition", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "QueriesHarvestExample", - "description": "An interface for querying `HarvestExample` records.\n", + "kind": "OBJECT", + "name": "MetadataTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", "fields": [ { - "name": "harvestExamples", - "description": "Retrieve harvest examples for the system.\n", - "args": [ - { - "name": "generic", - "description": "Whether to look for \"generic\" harvesting examples which are not associated\nwith any protocol or metadata.\n", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "metadataFormat", - "description": "The metadata format to filter by.\n", - "type": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "protocol", - "description": "The protocol to filter by.\n", - "type": { - "kind": "ENUM", - "name": "HarvestProtocol", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "header", + "description": null, + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestExample", - "ofType": null - } - } - } + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemsA", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemsB", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemsC", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemsD", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockDefinition", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -71422,694 +72028,307 @@ "inputFields": null, "interfaces": [], "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] + "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "QueriesHarvestMapping", - "description": "An interface for querying `HarvestMapping` records.\n", + "kind": "OBJECT", + "name": "MetadataTemplateInstance", + "description": null, "fields": [ { - "name": "harvestMapping", - "description": "Retrieve a single `HarvestMapping` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMappings", - "description": "Query all harvest mappings in the system.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestMappingOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "HarvestMappingConnection", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + }, { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestMessage", - "description": "An interface for querying `HarvestMessage` records.\n", - "fields": [ - { - "name": "harvestMessages", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMessageConnection", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null }, { - "kind": "OBJECT", - "name": "HarvestEntity", - "ofType": null + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null + "name": "definition", + "description": "Load the associated definition for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetadataTemplateDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HarvestRecord", - "ofType": null + "name": "entity", + "description": "The associated entity for this template instance.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestRecord", - "description": "An interface for querying `HarvestRecord` records.\n", - "fields": [ - { - "name": "harvestRecord", - "description": "Retrieve a single `HarvestRecord` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestRecord", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestRecords", - "description": "Query all harvest records in the system.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestRecordOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "layoutKind", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestRecordConnection", + "kind": "ENUM", + "name": "LayoutKind", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestSet", - "description": "An interface for querying `HarvestSet` records.\n\nTo query a collection of harvest sets, you must check from the Harvest Source.\n", - "fields": [ + }, { - "name": "harvestSet", - "description": "Retrieve a single `HarvestSet` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "TemplateInstanceSibling", "ofType": null } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + } } - ], - "type": { - "kind": "OBJECT", - "name": "HarvestSet", - "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesHarvestSource", - "description": "An interface for querying `HarvestSource` records.\n", - "fields": [ + }, { - "name": "harvestSource", - "description": "Retrieve a single `HarvestSource` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "TemplateInstanceSibling", "ofType": null } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + } } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slots", + "description": "Rendered slots for this template.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetadataTemplateInstanceSlots", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSources", + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateKind", "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestSourceOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestSourceConnection", + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -72118,188 +72337,107 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + "interfaces": [ { - "kind": "OBJECT", - "name": "Query", + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateInstance", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "QueriesPermalink", - "description": "An interface for querying `Permalink` records.\n", + "kind": "OBJECT", + "name": "MetadataTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", "fields": [ { - "name": "permalink", - "description": "Retrieve a single `Permalink` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "header", + "description": null, + "args": [], "type": { "kind": "OBJECT", - "name": "Permalink", + "name": "TemplateSlotInlineInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkByUri", - "description": "Retrieve a single `Permalink` by its URI.\n", - "args": [ - { - "name": "uri", - "description": "The URI to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "itemsA", + "description": null, + "args": [], "type": { "kind": "OBJECT", - "name": "Permalink", + "name": "TemplateSlotBlockInstance", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinks", + "name": "itemsB", "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "PermalinkOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PermalinkConnection", - "ofType": null - } + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemsC", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemsD", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotBlockInstance", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -72308,58 +72446,43 @@ "inputFields": null, "interfaces": [], "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] + "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "QueriesSchemas", - "description": "Fields for querying schemas and schema-related data.\n", + "kind": "OBJECT", + "name": "MultiselectProperty", + "description": null, "fields": [ { - "name": "orderingPaths", - "description": "A list of ordering paths for creating and updating orderings.", - "args": [ - { - "name": "schemas", - "description": "If passed, this will restrict the property fields returned to the selected schemas.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderingSchemaFilterInput", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultSelections", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "OrderingPath", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } } }, @@ -72367,153 +72490,87 @@ "deprecationReason": null }, { - "name": "schemaDefinition", - "description": "Look up a schema definition by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "SchemaDefinition", + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaDefinitions", - "description": "List all schema definitions", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "namespace", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinitionConnection", + "kind": "ENUM", + "name": "SchemaPropertyKind", "ofType": null } }, @@ -72521,63 +72578,97 @@ "deprecationReason": null }, { - "name": "schemaVersion", - "description": "Look up a schema version by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { + "name": "label", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "The list of predefined options available for this property.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "SelectOption", "ofType": null } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + } } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaVersionOptions", - "description": "List all options for schema versions", - "args": [ - { - "name": "kind", - "description": null, - "type": { - "kind": "ENUM", - "name": "SchemaKind", - "ofType": null - }, - "defaultValue": "ITEM", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "namespace", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchOperators", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -72588,8 +72679,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaVersionOption", + "kind": "ENUM", + "name": "SearchOperator", "ofType": null } } @@ -72599,173 +72690,51 @@ "deprecationReason": null }, { - "name": "schemaVersions", - "description": "List all schema versions", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "namespace", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SchemaVersionOrder", - "ofType": null - }, - "defaultValue": "LATEST", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "searchPath", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaVersionConnection", + "kind": "SCALAR", + "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesSystem", - "description": "Fields for querying system-level information about the current installation.\n", - "fields": [ + }, { - "name": "analytics", - "description": "Access top-level analytics.", + "name": "selections", + "description": null, "args": [], "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Analytics", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "globalConfiguration", - "description": "Fetch the global configuration for this installation", + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "GlobalConfiguration", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -72773,34 +72742,66 @@ "deprecationReason": null }, { - "name": "systemInfo", - "description": "A helper field that is used to look up various details about the WDP-API ecosystem.", + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SystemInfo", + "kind": "ENUM", + "name": "SchemaPropertyType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OptionableProperty", + "ofType": null }, { - "name": "user", - "description": "Look up a user by slug", + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SearchableProperty", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Mutation", + "description": "The entry point for making changes to the data within the Meru API.\n", + "fields": [ + { + "name": "alterSchemaVersion", + "description": "Change a schema version for an entity.", "args": [ { - "name": "slug", - "description": null, + "name": "input", + "description": "Parameters for AlterSchemaVersion", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INPUT_OBJECT", + "name": "AlterSchemaVersionInput", "ofType": null } }, @@ -72811,119 +72812,85 @@ ], "type": { "kind": "OBJECT", - "name": "User", + "name": "AlterSchemaVersionPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "users", - "description": "A list of all users in the system", + "name": "applySchemaProperties", + "description": null, "args": [ { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", + "name": "input", + "description": "Parameters for ApplySchemaProperties", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ApplySchemaPropertiesInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "ApplySchemaPropertiesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributorClaim", + "description": "A mutation to claim a contributor profile as the current user.\n\nThis is intended to be used by depositors who have already had contributions harvested\nand may have an existing `Contributor` record in the system.\n\nIt relies upon the `canClaim` permission on the given `Contributor`,\nand by proxy, whether or not `Contributor.claimed` is `false`.\n", + "args": [ { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", + "name": "input", + "description": "Parameters for ContributorClaim", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorClaimInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "ContributorClaimPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributorMerge", + "description": "Merge two contributors.\n\nThe actual merging will occur in the background after a delay, but the source\ncontributor will be marked as `MERGING` immediately.\n", + "args": [ { - "name": "first", - "description": "Returns the first _n_ elements from the list.", + "name": "input", + "description": "Parameters for ContributorMerge", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "prefix", - "description": "Search for users with given OR family names that start with the provided text.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorMergeInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, @@ -72931,69 +72898,26 @@ } ], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserConnection", - "ofType": null - } + "kind": "OBJECT", + "name": "ContributorMergePayload", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "viewer", - "description": "The currently authenticated user. AKA: you\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "QueriesUser", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "QueriesUser", - "description": null, - "fields": [ - { - "name": "user", - "description": "Look up a user by slug", + "name": "contributorUserLinkDestroy", + "description": "Destroy a single `ContributorUserLink` record.\n", "args": [ { - "name": "slug", - "description": null, + "name": "input", + "description": "Parameters for ContributorUserLinkDestroy", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INPUT_OBJECT", + "name": "ContributorUserLinkDestroyInput", "ofType": null } }, @@ -73004,119 +72928,27 @@ ], "type": { "kind": "OBJECT", - "name": "User", + "name": "ContributorUserLinkDestroyPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "users", - "description": "A list of all users in the system", + "name": "contributorUserLinkUpsert", + "description": "Create or update a link between a `Contributor` and a `User`.\n\nIt relies upon the `canLinkUser` permission on the given `Contributor`.\n", "args": [ { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "prefix", - "description": "Search for users with given OR family names that start with the provided text.", + "name": "input", + "description": "Parameters for ContributorUserLinkUpsert", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorUserLinkUpsertInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, @@ -73124,216 +72956,113 @@ } ], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserConnection", - "ofType": null - } + "kind": "OBJECT", + "name": "ContributorUserLinkUpsertPayload", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "viewer", - "description": "The currently authenticated user. AKA: you\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Query", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "Query", - "description": "The entry point for retrieving data from within the Meru API.\n", - "fields": [ - { - "name": "accessGrants", - "description": "Retrieve all access grants.\n", + "name": "controlledVocabularyDestroy", + "description": "Destroy a single `ControlledVocabulary` record.\n", "args": [ { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "entity", - "description": null, - "type": { - "kind": "ENUM", - "name": "AccessGrantEntityFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", + "name": "input", + "description": "Parameters for ControlledVocabularyDestroy", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularyDestroyInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "ControlledVocabularyDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "controlledVocabularySourceUpdate", + "description": "Update a single `ControlledVocabularySource`'s provider.\n", + "args": [ { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", + "name": "input", + "description": "Parameters for ControlledVocabularySourceUpdate", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularySourceUpdateInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "subject", - "description": null, - "type": { - "kind": "ENUM", - "name": "AccessGrantSubjectFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null } ], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AnyAccessGrantConnection", - "ofType": null - } + "kind": "OBJECT", + "name": "ControlledVocabularySourceUpdatePayload", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "analytics", - "description": "Access top-level analytics.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Analytics", - "ofType": null + "name": "controlledVocabularyUpsert", + "description": "Upsert a controlled vocabulary based on definition.\n", + "args": [ + { + "name": "input", + "description": "Parameters for ControlledVocabularyUpsert", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularyUpsertInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } + ], + "type": { + "kind": "OBJECT", + "name": "ControlledVocabularyUpsertPayload", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "asset", - "description": "Look up an asset by slug", + "name": "createAnnouncement", + "description": "Create an announcement on an entity.\n", "args": [ { - "name": "slug", - "description": null, + "name": "input", + "description": "Parameters for CreateAnnouncement", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INPUT_OBJECT", + "name": "CreateAnnouncementInput", "ofType": null } }, @@ -73343,26 +73072,26 @@ } ], "type": { - "kind": "INTERFACE", - "name": "Asset", + "kind": "OBJECT", + "name": "CreateAnnouncementPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "collection", - "description": "Look up a collection by slug", + "name": "createAsset", + "description": "Associate an uploaded asset (already present in the Tus cache store) with an entity.\n", "args": [ { - "name": "slug", - "description": null, + "name": "input", + "description": "Parameters for CreateAsset", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INPUT_OBJECT", + "name": "CreateAssetInput", "ofType": null } }, @@ -73373,25 +73102,25 @@ ], "type": { "kind": "OBJECT", - "name": "Collection", + "name": "CreateAssetPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "collectionContribution", - "description": "Look up a collection contribution by slug", + "name": "createCollection", + "description": null, "args": [ { - "name": "slug", - "description": null, + "name": "input", + "description": "Parameters for CreateCollection", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INPUT_OBJECT", + "name": "CreateCollectionInput", "ofType": null } }, @@ -73402,119 +73131,259 @@ ], "type": { "kind": "OBJECT", - "name": "CollectionContribution", + "name": "CreateCollectionPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "communities", - "description": "List all communities", + "name": "createCommunity", + "description": "Create a community", "args": [ { - "name": "access", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityPermissionFilter", - "ofType": null + "name": "input", + "description": "Parameters for CreateCommunity", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateCommunityInput", + "ofType": null + } }, - "defaultValue": "SKIP", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateCommunityPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createItem", + "description": "Create an item", + "args": [ { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", + "name": "input", + "description": "Parameters for CreateItem", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateItemInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateItemPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createOrdering", + "description": "Create an ordering for an entity", + "args": [ { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", + "name": "input", + "description": "Parameters for CreateOrdering", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateOrderingInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateOrderingPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createOrganizationContributor", + "description": "Create an organization contributor", + "args": [ { - "name": "first", - "description": "Returns the first _n_ elements from the list.", + "name": "input", + "description": "Parameters for CreateOrganizationContributor", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateOrganizationContributorInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateOrganizationContributorPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createPage", + "description": "Create a page on an entity.\n", + "args": [ { - "name": "last", - "description": "Returns the last _n_ elements from the list.", + "name": "input", + "description": "Parameters for CreatePage", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreatePageInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "CreatePagePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createPersonContributor", + "description": "Create a contributor", + "args": [ { - "name": "order", - "description": null, + "name": "input", + "description": "Parameters for CreatePersonContributor", "type": { - "kind": "ENUM", - "name": "EntityOrder", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreatePersonContributorInput", + "ofType": null + } }, - "defaultValue": "PUBLISHED_DESCENDING", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "CreatePersonContributorPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createRole", + "description": "Create a global role, with a set of permissions, that can be used to grant access to various parts of the hierarchy\nin a granular fashion.\n", + "args": [ { - "name": "page", - "description": "The page of edges/nodes to fetch", + "name": "input", + "description": "Parameters for CreateRole", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateRoleInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateRolePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositorAgreementAccept", + "description": "Accept the depositor agreement for the given submission target.\n", + "args": [ { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", + "name": "input", + "description": "Parameters for DepositorAgreementAccept", "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DepositorAgreementAcceptInput", + "ofType": null + } }, - "defaultValue": "FORWARDS", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "DepositorAgreementAcceptPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositorAgreementReset", + "description": "Reset a specific depositor agreement, forcing the associated depositor to re-accept the agreement before making any more deposits to the associated submission target.\n", + "args": [ { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", + "name": "input", + "description": "Parameters for DepositorAgreementReset", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DepositorAgreementResetInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, @@ -73522,30 +73391,26 @@ } ], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CommunityConnection", - "ofType": null - } + "kind": "OBJECT", + "name": "DepositorAgreementResetPayload", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "community", - "description": "Look up a community by slug", + "name": "depositorAgreementResetAll", + "description": "Force all depositors to re-accept the depositor agreement for a given submission target.\n", "args": [ { - "name": "slug", - "description": null, + "name": "input", + "description": "Parameters for DepositorAgreementResetAll", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INPUT_OBJECT", + "name": "DepositorAgreementResetAllInput", "ofType": null } }, @@ -73556,25 +73421,25 @@ ], "type": { "kind": "OBJECT", - "name": "Community", + "name": "DepositorAgreementResetAllPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "communityByTitle", - "description": "Look up a community by its title", + "name": "depositorRequestChangeState", + "description": "Update the state for a `DepositorRequest` record.\n", "args": [ { - "name": "title", - "description": null, + "name": "input", + "description": "Parameters for DepositorRequestChangeState", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "DepositorRequestChangeStateInput", "ofType": null } }, @@ -73585,23 +73450,27 @@ ], "type": { "kind": "OBJECT", - "name": "Community", + "name": "DepositorRequestChangeStatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributionRoles", - "description": "Look up contribution role configuration for a given contributable (or globally).", + "name": "depositorRequestCreate", + "description": "Create a single `DepositorRequest` record.\n", "args": [ { - "name": "contributableId", - "description": "The contributable to load for, if applicable.", + "name": "input", + "description": "Parameters for DepositorRequestCreate", "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DepositorRequestCreateInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, @@ -73609,30 +73478,26 @@ } ], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContributionRoleConfiguration", - "ofType": null - } + "kind": "OBJECT", + "name": "DepositorRequestCreatePayload", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributor", - "description": "Look up a contributor by slug", + "name": "destroyAnnouncement", + "description": "Destroy a announcement by ID.\n", "args": [ { - "name": "slug", - "description": null, + "name": "input", + "description": "Parameters for DestroyAnnouncement", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INPUT_OBJECT", + "name": "DestroyAnnouncementInput", "ofType": null } }, @@ -73642,58 +73507,84 @@ } ], "type": { - "kind": "INTERFACE", - "name": "Contributor", + "kind": "OBJECT", + "name": "DestroyAnnouncementPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributorLookup", - "description": "Look up a contributor `by` a certain `value`.\n", + "name": "destroyAsset", + "description": "Destroy an asset by ID.\n", "args": [ { - "name": "by", - "description": "The field to search a contributor with. Unless otherwise specified, the provided\n`value` will be an exact match.\n", + "name": "input", + "description": "Parameters for DestroyAsset", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ContributorLookupField", + "kind": "INPUT_OBJECT", + "name": "DestroyAssetInput", "ofType": null } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyAssetPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyCollection", + "description": "Destroy a collection by ID.\n", + "args": [ { - "name": "order", - "description": "For certain fields, the values are not guaranteed to be unique. In these instances,\nthe *most recently* created contributor will be selected by default. If the first\nis preferred, specify `order: OLDEST`.\n", + "name": "input", + "description": "Parameters for DestroyCollection", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SimpleOrder", + "kind": "INPUT_OBJECT", + "name": "DestroyCollectionInput", "ofType": null } }, - "defaultValue": "RECENT", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyCollectionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyCommunity", + "description": "Destroy a community by ID.\n", + "args": [ { - "name": "value", - "description": "The actual value to look a contributor up `by`.\n", + "name": "input", + "description": "Parameters for DestroyCommunity", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "DestroyCommunityInput", "ofType": null } }, @@ -73703,132 +73594,260 @@ } ], "type": { - "kind": "INTERFACE", - "name": "Contributor", + "kind": "OBJECT", + "name": "DestroyCommunityPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributors", - "description": "A list of all contributors in the system", + "name": "destroyContribution", + "description": "Destroy a Contribution by ID.\n", "args": [ { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", + "name": "input", + "description": "Parameters for DestroyContribution", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyContributionInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyContributionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyContributor", + "description": "Destroy a contributor by ID.\n", + "args": [ { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", + "name": "input", + "description": "Parameters for DestroyContributor", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyContributorInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyContributorPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyEntityLink", + "description": "Destroy an EntityLink by ID.\n", + "args": [ { - "name": "first", - "description": "Returns the first _n_ elements from the list.", + "name": "input", + "description": "Parameters for DestroyEntityLink", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyEntityLinkInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyEntityLinkPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyItem", + "description": "Destroy an item by ID.\n", + "args": [ { - "name": "kind", - "description": null, + "name": "input", + "description": "Parameters for DestroyItem", "type": { - "kind": "ENUM", - "name": "ContributorFilterKind", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyItemInput", + "ofType": null + } }, - "defaultValue": "ALL", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyItemPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyOrdering", + "description": "Destroy (or disable a schema-inherited) ordering.\n", + "args": [ { - "name": "last", - "description": "Returns the last _n_ elements from the list.", + "name": "input", + "description": "Parameters for DestroyOrdering", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyOrderingInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "ContributorOrder", - "ofType": null - }, - "defaultValue": "NAME_ASCENDING", - "isDeprecated": false, - "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyOrderingPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyPage", + "description": "Destroy a page by ID.\n", + "args": [ { - "name": "page", - "description": "The page of edges/nodes to fetch", + "name": "input", + "description": "Parameters for DestroyPage", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyPageInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyPagePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entityPurge", + "description": "Purge an entity and **all** of its descendants.\n\nDepending on the entity, this can be very destructive and should be\nused with caution.\n\nThe deletion will be backgrounded, so there will be a delay between\ncalling this mutation and all the descendants actually being removed.\n", + "args": [ { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", + "name": "input", + "description": "Parameters for EntityPurge", "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EntityPurgeInput", + "ofType": null + } }, - "defaultValue": "FORWARDS", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "EntityPurgePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frontendCacheRevalidateEntity", + "description": "Revalidates the frontend cache for a given entity.\n", + "args": [ { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", + "name": "input", + "description": "Parameters for FrontendCacheRevalidateEntity", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FrontendCacheRevalidateEntityInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "FrontendCacheRevalidateEntityPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frontendCacheRevalidateInstance", + "description": "Revalidates the frontend cache for the entire instance.\n", + "args": [ { - "name": "prefix", - "description": "Search for contributors with names that start with the provided text.\n", + "name": "input", + "description": "Parameters for FrontendCacheRevalidateInstance", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FrontendCacheRevalidateInstanceInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, @@ -73836,144 +73855,289 @@ } ], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AnyContributorConnection", - "ofType": null - } + "kind": "OBJECT", + "name": "FrontendCacheRevalidateInstancePayload", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularies", - "description": null, + "name": "grantAccess", + "description": "Grant access to a specific hierarchical entity", "args": [ { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", + "name": "input", + "description": "Parameters for GrantAccess", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GrantAccessInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "GrantAccessPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestAttemptFromMapping", + "description": "Kick off a manual `HarvestAttempt` from a `HarvestMapping`\n", + "args": [ { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", + "name": "input", + "description": "Parameters for HarvestAttemptFromMapping", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestAttemptFromMappingInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestAttemptFromMappingPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestAttemptFromSource", + "description": "Kick off a manual `HarvestAttempt` from a `HarvestSource`\n", + "args": [ { - "name": "filters", - "description": "Filters that **must** match.\n", + "name": "input", + "description": "Parameters for HarvestAttemptFromSource", "type": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularyFilterInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestAttemptFromSourceInput", + "ofType": null + } }, - "defaultValue": "null", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestAttemptFromSourcePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestAttemptPruneEntities", + "description": "Prune harvested entities for a `HarvestAttempt` record.\n\nNote: the actual pruning will happen asynchronously in the background, and may take a while.\n", + "args": [ { - "name": "first", - "description": "Returns the first _n_ elements from the list.", + "name": "input", + "description": "Parameters for HarvestAttemptPruneEntities", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestAttemptPruneEntitiesInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestAttemptPruneEntitiesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMappingCreate", + "description": "Create a single `HarvestMapping` record.\n", + "args": [ { - "name": "last", - "description": "Returns the last _n_ elements from the list.", + "name": "input", + "description": "Parameters for HarvestMappingCreate", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMappingCreateInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestMappingCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMappingDestroy", + "description": "Destroy a single `HarvestMapping` record.\n", + "args": [ { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "name": "input", + "description": "Parameters for HarvestMappingDestroy", "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularyFilterInput", - "ofType": null - } + "kind": "INPUT_OBJECT", + "name": "HarvestMappingDestroyInput", + "ofType": null } }, - "defaultValue": "[]", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestMappingDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMappingUpdate", + "description": "Update a single `HarvestMapping` record.\n", + "args": [ { - "name": "order", - "description": null, + "name": "input", + "description": "Parameters for HarvestMappingUpdate", "type": { - "kind": "ENUM", - "name": "ControlledVocabularyOrder", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMappingUpdateInput", + "ofType": null + } }, - "defaultValue": "DEFAULT", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestMappingUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMetadataMappingCreate", + "description": "Create a single `HarvestMetadataMapping` record.\n\nThere is no `harvestMetadataMappingUpdate` mutation. You can replace an existing field/pattern pair with a new target entity,\nor destroy ones that no longer apply.\n", + "args": [ { - "name": "page", - "description": "The page of edges/nodes to fetch", + "name": "input", + "description": "Parameters for HarvestMetadataMappingCreate", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMetadataMappingCreateInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestMetadataMappingCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMetadataMappingDestroy", + "description": "Destroy a single `HarvestMetadataMapping` record.\n", + "args": [ { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", + "name": "input", + "description": "Parameters for HarvestMetadataMappingDestroy", "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMetadataMappingDestroyInput", + "ofType": null + } }, - "defaultValue": "FORWARDS", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestMetadataMappingDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestSourceCreate", + "description": "Create a single `HarvestSource` record.\n", + "args": [ { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", + "name": "input", + "description": "Parameters for HarvestSourceCreate", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestSourceCreateInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, @@ -73981,30 +74145,26 @@ } ], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularyConnection", - "ofType": null - } + "kind": "OBJECT", + "name": "HarvestSourceCreatePayload", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabulary", - "description": "Retrieve a single `ControlledVocabulary` by slug.\n", + "name": "harvestSourceDestroy", + "description": "Destroy a single `HarvestSource` record.\n", "args": [ { - "name": "slug", - "description": "The slug to look up.\n", + "name": "input", + "description": "Parameters for HarvestSourceDestroy", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INPUT_OBJECT", + "name": "HarvestSourceDestroyInput", "ofType": null } }, @@ -74015,25 +74175,25 @@ ], "type": { "kind": "OBJECT", - "name": "ControlledVocabulary", + "name": "HarvestSourceDestroyPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularySource", - "description": "Retrieve a single `ControlledVocabularySource` by slug.\n", + "name": "harvestSourcePruneEntities", + "description": "Prune harvested entities for a `HarvestSource` record.\n\nNote: the actual pruning will happen asynchronously in the background, and may take a while.\n", "args": [ { - "name": "slug", - "description": "The slug to look up.\n", + "name": "input", + "description": "Parameters for HarvestSourcePruneEntities", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "INPUT_OBJECT", + "name": "HarvestSourcePruneEntitiesInput", "ofType": null } }, @@ -74044,151 +74204,27321 @@ ], "type": { "kind": "OBJECT", - "name": "ControlledVocabularySource", + "name": "HarvestSourcePruneEntitiesPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "controlledVocabularySources", - "description": null, + "name": "harvestSourceUpdate", + "description": "Update a single `HarvestSource` record.\n", "args": [ { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", + "name": "input", + "description": "Parameters for HarvestSourceUpdate", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestSourceUpdateInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestSourceUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkEntity", + "description": "Link two entities together", + "args": [ { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", + "name": "input", + "description": "Parameters for LinkEntity", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "LinkEntityInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", + } + ], + "type": { + "kind": "OBJECT", + "name": "LinkEntityPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkCreate", + "description": "Create a single `Permalink` record.\n", + "args": [ + { + "name": "input", + "description": "Parameters for PermalinkCreate", "type": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularySourceFilterInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PermalinkCreateInput", + "ofType": null + } }, - "defaultValue": "null", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "PermalinkCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkDestroy", + "description": "Destroy a single `Permalink` record.\n", + "args": [ { - "name": "first", - "description": "Returns the first _n_ elements from the list.", + "name": "input", + "description": "Parameters for PermalinkDestroy", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PermalinkDestroyInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "PermalinkDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkUpdate", + "description": "Update a single `Permalink` record.\n", + "args": [ { - "name": "last", - "description": "Returns the last _n_ elements from the list.", + "name": "input", + "description": "Parameters for PermalinkUpdate", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PermalinkUpdateInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "PermalinkUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previewSlot", + "description": "Preview a slot for a given entity.\n", + "args": [ { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "name": "input", + "description": "Parameters for PreviewSlot", "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ControlledVocabularySourceFilterInput", - "ofType": null - } + "kind": "INPUT_OBJECT", + "name": "PreviewSlotInput", + "ofType": null } }, - "defaultValue": "[]", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "PreviewSlotPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "renderLayouts", + "description": "Force the layouts to render for a given `Entity`.\n", + "args": [ { - "name": "order", - "description": null, + "name": "input", + "description": "Parameters for RenderLayouts", "type": { - "kind": "ENUM", - "name": "ControlledVocabularySourceOrder", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RenderLayoutsInput", + "ofType": null + } }, - "defaultValue": "DEFAULT", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "RenderLayoutsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reparentEntity", + "description": "A polymorphic mutation to reassign an entity to another point in the hierarchy.\n\nIt performs validations to make sure that the parent entity can accept the child.\n", + "args": [ { - "name": "page", - "description": "The page of edges/nodes to fetch", + "name": "input", + "description": "Parameters for ReparentEntity", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReparentEntityInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "ReparentEntityPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resetOrdering", + "description": "Reset an ordering to \"factory\" settings. For schema-inherited orderings,\nthis will reload its definition from the schema definition. For custom\norderings, this will load minimal defaults.\n", + "args": [ { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", + "name": "input", + "description": "Parameters for ResetOrdering", "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ResetOrderingInput", + "ofType": null + } }, - "defaultValue": "FORWARDS", + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "type": { + "kind": "OBJECT", + "name": "ResetOrderingPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revokeAccess", + "description": "Revoke access from a specific hierarchical entity", + "args": [ { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", + "name": "input", + "description": "Parameters for RevokeAccess", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RevokeAccessInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RevokeAccessPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionBatchPublish", + "description": "Publish multiple submissions within a single submission target.\n\nThis will enqueue the actual publications in the backend.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionBatchPublish", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionBatchPublishInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionBatchPublishPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionChangeState", + "description": "A mutation to change the state of a `Submission`.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionChangeState", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionChangeStateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionChangeStatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionCommentCreate", + "description": "Create a single `SubmissionComment` record.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionCommentCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionCommentCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionCommentCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionCommentDestroy", + "description": "Destroy a single `SubmissionComment` record.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionCommentDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionCommentDestroyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionCommentDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionCommentUpdate", + "description": "Update a single `SubmissionComment` record.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionCommentUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionCommentUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionCommentUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionCreate", + "description": "Create a single `Submission` record.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionCreateInput", + "ofType": null + } }, "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], + "type": { + "kind": "OBJECT", + "name": "SubmissionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionLeaveReview", + "description": "Leave a review on a submission.\n\nThis effectively acts as an upsert and can be run by itself,\nor as a response to `submissionRequestReview`.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionLeaveReview", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionLeaveReviewInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionLeaveReviewPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionPublish", + "description": "Publish a single submission.\n\nTo publish multiple submissions at once, use `submissionBatchPublish`.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionPublish", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionPublishInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionPublishPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionRequestReview", + "description": "Request a review from a reviewer.\n\nThis effectively acts as an upsert.\n\nThe reviewer is expected to call `submissionLeaveReview`.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionRequestReview", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionRequestReviewInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionRequestReviewPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetClose", + "description": "Close a `SubmissionTarget`, preventing any new submissions from being made.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionTargetClose", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetCloseInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionTargetClosePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetConfigure", + "description": "Update a single `SubmissionTarget` record.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionTargetConfigure", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetConfigureInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionTargetConfigurePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetOpen", + "description": "Open a `SubmissionTarget`, allowing new submissions to be made.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionTargetOpen", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetOpenInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionTargetOpenPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetReviewerCreate", + "description": "Create a single `SubmissionTargetReviewer` record.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionTargetReviewerCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetReviewerDestroy", + "description": "Destroy a single `SubmissionTargetReviewer` record.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SubmissionTargetReviewerDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerDestroyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateAnnouncement", + "description": "Update an announcement by its ID.\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateAnnouncement", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateAnnouncementInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateAnnouncementPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateAsset", + "description": "Update an asset by ID.\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateAsset", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateAssetInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateAssetPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateAssetAttachment", + "description": "Update an asset's attachment by ID.\n\nThis mutation is for updating **only** an asset's attachment,\nas opposed to the rest of its attributes (handled in `updateAsset`).\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateAssetAttachment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateAssetAttachmentInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateAssetAttachmentPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateCollection", + "description": "Update a collection", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateCollection", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateCollectionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateCollectionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateCommunity", + "description": "Update a community", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateCommunity", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateCommunityInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateCommunityPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateContribution", + "description": "Update a Contribution by ID.\n\n**Note**: Neither the contribution role nor the contributor can be changed\nby this mutation. Rather than deal with uniqueness violations, it's necessary\nto delete the old contribution and create a new one with the correct role\nor contributor.\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateContribution", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateContributionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateContributionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateGlobalConfiguration", + "description": "Update the global configuration for this site.\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateGlobalConfiguration", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateGlobalConfigurationInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateGlobalConfigurationPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateItem", + "description": "Update an item", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateItem", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateItemInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateItemPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateOrdering", + "description": "Update an ordering by ID", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateOrdering", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateOrderingInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateOrderingPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateOrganizationContributor", + "description": "Update an organization contributor", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateOrganizationContributor", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateOrganizationContributorInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateOrganizationContributorPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatePage", + "description": "Update a page.\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdatePage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdatePageInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdatePagePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatePersonContributor", + "description": "Update a person contributor", + "args": [ + { + "name": "input", + "description": "Parameters for UpdatePersonContributor", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdatePersonContributorInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdatePersonContributorPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateRole", + "description": "Update the name or permissions for a given role.\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateRole", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateRoleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateRolePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateUser", + "description": "Update a user.\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateUser", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUserInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateUserPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateViewerSettings", + "description": "Update the current viewer (i.e. you).\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateViewerSettings", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateViewerSettingsInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateViewerSettingsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upsertContribution", + "description": "Upsert a Contribution by contributable & contributor ID. It will override any\nexisting contributions for the same contributor on the same entity.\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpsertContribution", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpsertContributionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpsertContributionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userResetPassword", + "description": "Reset a password for the current or specified user\n", + "args": [ + { + "name": "input", + "description": "Parameters for UserResetPassword", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserResetPasswordInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserResetPasswordPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MutationAttributeError", + "description": "An error for a specific attribute in a mutation—intended for use with react-hook-form and similarly shaped structures", + "fields": [ + { + "name": "messages", + "description": "The accumulated messages for this combination of path and type", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "The attribute that should have the error", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "A grouping type for the attribute", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MutationErrorScope", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ATTRIBUTE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GLOBAL", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MutationGlobalError", + "description": "An error that encapsulates the entire mutation input and is not tied to a specific input field.", + "fields": [ + { + "name": "message", + "description": "The actual message", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamedAncestor", + "description": "Entity schemas can define named ancestors, which allows UI developers to refer\nauthoritatively to significant relatives in an entity's ancestor. This object\nrepresents the connection between an originating entity and its ancestors,\nshould any be defined for the schema.\n", + "fields": [ + { + "name": "ancestor", + "description": "The actual ancestor", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ancestorDepth", + "description": "The depth of the ancestor in the hierarchy", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the ancestor. Guaranteed to be unique for this specific entity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originDepth", + "description": "The relative depth of the originating entity", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relativeDepth", + "description": "The relative depth from the source entity to its ancestor. In other words, `(origin_depth - ancestor_depth)`.\nUsed for sorting ancestors deterministically.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "NavigationBackground", + "description": "An enumerated value associated with the templating subsystem.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DARK", + "description": "A dark gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIGHT", + "description": "A light gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No background is applied to this template.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutDefinition", + "description": null, + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "template", + "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NavigationTemplateDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templates", + "description": "The ordered template definitions available for this layout.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "AnyNavigationTemplateDefinition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LayoutDefinition", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutInstance", + "description": null, + "fields": [ + { + "name": "allHidden", + "description": "Whether all templates in this instance are hidden.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allSlotsEmpty", + "description": "Whether all slots in all template instances in this layout are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": "The associated entity for this layout instance.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutDefinition", + "description": "The layout definition for this type.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NavigationLayoutDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "template", + "description": "This layout will only ever have one template, so it can be fetched directly without needing the union.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NavigationTemplateInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templates", + "description": "The ordered template instances available for this layout.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "AnyNavigationTemplateInstance", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LayoutInstance", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateDefinition", + "description": null, + "fields": [ + { + "name": "background", + "description": "The background gradient to use for this template. Affects presentation.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "NavigationBackground", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hideMetadata", + "description": "If true, the metadata template/tab should be hidden for this schema.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slots", + "description": "Slot definitions for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NavigationTemplateDefinitionSlots", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", + "fields": [ + { + "name": "entityLabel", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateInstance", + "description": null, + "fields": [ + { + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "definition", + "description": "Load the associated definition for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NavigationTemplateDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": "The associated entity for this template instance.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slots", + "description": "Rendered slots for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NavigationTemplateInstanceSlots", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateInstance", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", + "fields": [ + { + "name": "entityLabel", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "description": "An object with an ID.", + "fields": [ + { + "name": "id", + "description": "ID of the object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Announcement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetAudio", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetDocument", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetImage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetPDF", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetUnknown", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetVideo", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BlurbTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BlurbTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionContribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContextualPermission", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributionRoleConfiguration", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorCollectionAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorItemAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequestTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DescendantListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DescendantListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DetailTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DetailTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityBreadcrumb", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityLink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GlobalConfiguration", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptEntityStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptRecordStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestEntity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMessage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSet", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HierarchicalSchemaRank", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HierarchicalSchemaVersionRank", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemContribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkTargetCandidate", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrganizationContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PersonContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Role", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SearchResult", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionDepositTarget", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReviewTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupItemAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserItemAccessGrant", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "NullOrderPriority", + "description": "The priority for NULL values when sorting", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FIRST", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LAST", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NumericGTEOperatorInput", + "description": "Require that `path ≥ value` while enforcing that value is numeric.\n\nNote: this will also work for integer paths. Coercion is handled\ntransparently by the API.\n", + "fields": null, + "inputFields": [ + { + "name": "path", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NumericLTEOperatorInput", + "description": "Require that `path ≤ value` while enforcing that value is numeric.\n\nNote: this will also work for integer paths. Coercion is handled\ntransparently by the API.\n", + "fields": null, + "inputFields": [ + { + "name": "path", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "OptionableProperty", + "description": "An interface for properties that have a set of predefined options to choose from.\n", + "fields": [ + { + "name": "options", + "description": "The list of predefined options available for this property.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SelectOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "MultiselectProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SelectProperty", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "OrOperatorInput", + "description": "The boolean result of evaluating the left and right predicates. At least one must be true.\n\nWhile this is implemented, it is not likely that the first version of the search\nUI will utilize it. It is intended for advanced searching.\n", + "fields": null, + "inputFields": [ + { + "name": "left", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SearchPredicateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "right", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SearchPredicateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderDefinition", + "description": "Ordering for a specific column", + "fields": [ + { + "name": "direction", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "Direction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nulls", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "NullOrderPriority", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderDefinitionInput", + "description": "Ordering for a specific column", + "fields": null, + "inputFields": [ + { + "name": "direction", + "description": null, + "type": { + "kind": "ENUM", + "name": "Direction", + "ofType": null + }, + "defaultValue": "ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nulls", + "description": null, + "type": { + "kind": "ENUM", + "name": "NullOrderPriority", + "ofType": null + }, + "defaultValue": "LAST", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Ordering", + "description": "An ordering that belongs to an entity and arranges its children in a pre-configured way", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "children", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "You can specify the direction to retrieve entries for an ordering.\nINVERSE will be identical to DEFAULT if the ordering is marked constant.\n", + "type": { + "kind": "ENUM", + "name": "OrderingEntrySortMode", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingEntryConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "constant", + "description": "A constant ordering should be treated as not being able to invert itself.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "count", + "description": "The number of entries currently visible within the ordering", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disabled", + "description": "Whether the ordering has been disabled—orderings inherited from schemas will be disabled if deleted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disabledAt", + "description": "The time the ordering was disabled, if applicable", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": "The entity that owns the ordering", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filter", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingFilterDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "footer", + "description": "Optional markdown content to render after the children", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "header", + "description": "Optional markdown content to render before the children", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "A hidden ordering represents an ordering that should not be shown in the frontend,\nwhen iterating over an entity's available orderings. It does not affect access, as\nhidden orderings may still serve a functional purpose for their schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifier", + "description": "A unique identifier for the ordering within the context of its parent entity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inheritedFromSchema", + "description": "Whether the ordering was inherited from its entity's schema definition", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "An optional, human-readable name for the ordering", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderDefinition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pristine", + "description": "For orderings that are `inheritedFromSchema`, this tracks whether or not the\nentity has been modified from the schema's definition. It is always false\nfor custom, user-created orderings.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "render", + "description": "Configuration for how to render an ordering and its entries.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingRenderDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "Search from this level of the API using it as the origin", + "args": [ + { + "name": "maxDepth", + "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", + "type": { + "kind": "ENUM", + "name": "EntityVisibilityFilter", + "ofType": null + }, + "defaultValue": "VISIBLE", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchScope", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "select", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingSelectDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tree", + "description": "A tree ordering has some special handling to return entities\nin deterministic order based on their hierarchical position\nand relation to other entities in the same ordering.\n\nThis is effectively a shortcut for `Ordering.render.mode === \"TREE\"`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Searchable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderingAvailabilityFilter", + "description": "An ordering's availability refers to it being enabled or disabled.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": "Do not filter orderings by whether they are enabled or disabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISABLED", + "description": "Fetch only *disabled* orderings.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENABLED", + "description": "Fetch only *enabled* orderings.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderingBackground", + "description": "An enumerated value associated with the templating subsystem.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DARK", + "description": "A dark gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIGHT", + "description": "A light gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No background is applied to this template.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingConnection", + "description": "The connection type for Ordering.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingDefinition", + "description": "A definition for an ordering (may be dynamic).\n", + "fields": [ + { + "name": "constant", + "description": "A constant ordering should be treated as not being able to invert itself.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filter", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingFilterDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "A hidden ordering represents an ordering that should not be shown in the frontend,\nwhen iterating over an entity's available orderings. It does not affect access, as\nhidden orderings may still serve a functional purpose for their schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifier", + "description": "A unique identifier for the ordering within the context of its parent entity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "An optional, human-readable name for the ordering", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderDefinition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "render", + "description": "Configuration for how to render an ordering and its entries.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingRenderDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "select", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingSelectDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tree", + "description": "A tree ordering has some special handling to return entities\nin deterministic order based on their hierarchical position\nand relation to other entities in the same ordering.\n\nThis is effectively a shortcut for `Ordering.render.mode === \"TREE\"`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderingDirectSelection", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CHILDREN", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCENDANTS", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingEntry", + "description": "An entry within an ordering, it can refer to an entity or an entity link", + "fields": [ + { + "name": "ancestors", + "description": "When the associated `Ordering` is a `TREE`, and the current entry is a leaf, this array can be used\nto get the associated ancestors within the entry that\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entry", + "description": "The actual element being ordered. At present, this will only be a `Community`, `Collection`, or `Item`,\nbut future implementations of orderings may include other content, such as presentation elements.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "OrderingEntryable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entrySlug", + "description": "The delegated `slug` from the associated `entry`.\n\nThis can be null because future entries may not implement it.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entryTitle", + "description": "The delegated `title` from the associated `entry`.\n\nThis can be null because future entries may not implement it.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextSibling", + "description": "The next entry in the current ordering, if one exists. This will be null if this entry is the last.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ordering", + "description": "The parent ordering", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The 1-based position of this entry.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prevSibling", + "description": "The previous entry in the current ordering, if one exists. This will be null if this entry is the first.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relativeDepth", + "description": "A calculation of the depth of an entry in the hierarchy, relative to the ordering's owning entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "treeDepth", + "description": "When an ordering's render mode is set to TREE, its entries will have this set.\nIt is a normalized depth based on what other entities were accepted into the ordering.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingEntryConnection", + "description": "The connection type for OrderingEntry.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingEntryEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingEntryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderingEntrySortMode", + "description": "When fetching entries from an ordering, you can swap between the default or a special 'inverted' mode", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Retrieve the ordering entries as defined by default", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVERSE", + "description": "Retrieve the ordering entries in an inverted order, accounting for paths", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "OrderingEntryable", + "description": "An entity or link which can appear in an ordering.\n", + "fields": [ + { + "name": "id", + "description": "ID of the object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityLink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "OrderingFilterDefinition", + "description": "A collection of settings for filtering what appears what entities\nmay populate an ordering. At present, this only supports schemas.\n", + "fields": [ + { + "name": "schemas", + "description": "If set, any child or descendant that matches one of these schemas will\nbe availabel to be included in the ordering.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingSchemaFilter", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderingFilterDefinitionInput", + "description": "A collection of settings for filtering what appears what entities\nmay populate an ordering. At present, this only supports schemas.\n", + "fields": null, + "inputFields": [ + { + "name": "schemas", + "description": "If set, any child or descendant that matches one of these schemas will\nbe availabel to be included in the ordering.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderingSchemaFilterInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderingOrder", + "description": "An enum used to order `Ordering`s. It uses `DETERMINISTIC` by default to ensure a consistent rendering experience.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DETERMINISTIC", + "description": "Sort orderings by their static position of the ordering, falling back to the name if unset.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OLDEST", + "description": "Sort orderings by oldest created date", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort orderings by newest created date", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "OrderingPath", + "description": "This represents a valid path that can be used for orderings.\n", + "fields": [ + { + "name": "description", + "description": "A helpful description of the path", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grouping", + "description": "A logical grouping for ordering paths", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderingPathGrouping", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "A human-readable label for the path", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labelPrefix", + "description": "Some paths may have a prefix. For instance, schema properties will have the name of the schema.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "The exact path that should be provided to mutation inputs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The schema property type", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AncestorSchemaOrderingPath", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AncestorStaticOrderingPath", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaOrderingPath", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StaticOrderingPath", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "OrderingPathGrouping", + "description": "A logical grouping for ordering paths.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ANCESTOR_PROPS", + "description": "Paths under this type come from _ancestors_ in a schema.\nNot every entity is guaranteed to have one, and in orderings\nwith mixed entities, missing props will be treated as null.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANCESTOR_STATIC", + "description": "Static properties that are directly on an ancestor.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENTITY", + "description": "Static properties that are directly on an entity.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINK", + "description": "Static properties that are derived from a link.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROPS", + "description": "Paths under this type come from a schema. Not every entity is guaranteed\nto have one, and in orderings with mixed entities, missing props will be\ntreated as null.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": "Static properties that are derived from a schema.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingRenderDefinition", + "description": "Configuration for controlling how an ordering renders itself and its entries.\n", + "fields": [ + { + "name": "mode", + "description": "How to render entries within", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderingRenderMode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderingRenderDefinitionInput", + "description": "Describe how an ordering should render its entries.\n", + "fields": null, + "inputFields": [ + { + "name": "mode", + "description": null, + "type": { + "kind": "ENUM", + "name": "OrderingRenderMode", + "ofType": null + }, + "defaultValue": "FLAT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderingRenderMode", + "description": "How entries in an ordering should be rendered.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FLAT", + "description": "The default for most orderings. Every ordering is considered to be on\nthe same level of the hierarchy, and positions are calculated based\nsolely on the paths.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TREE", + "description": "A special mode for handling orderings that should operate like a tree. In this setting,\nentries will be calculated first as though they were flat, then analyzed in order to\nadjust the positioning to account for the entry's ancestors and position relative to\nother entries in the ordering.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingSchemaFilter", + "description": "This defines a specific schema that an ordering can filter its entries by", + "fields": [ + { + "name": "identifier", + "description": "The identifier within the namespace for the schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace the schema occupies.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "An optional version requirement for the associated schema.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "VersionRequirement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderingSchemaFilterInput", + "description": "This defines a specific schema that an ordering can filter its entries by", + "fields": null, + "inputFields": [ + { + "name": "identifier", + "description": "The identifier within the namespace for the schema.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace the schema occupies.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "An optional version requirement for this ordering. It supports\nRuby's version declaration syntax, so you can provide a value\nlike `\">= 1.2\"` to match against semantically-versioned schemas.\n", + "type": { + "kind": "SCALAR", + "name": "VersionRequirement", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingSelectDefinition", + "description": "Defines how an ordering should select its entries.\n", + "fields": [ + { + "name": "direct", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderingDirectSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingSelectLinkDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderingSelectDefinitionInput", + "description": "Define how an ordering should select its entries\n", + "fields": null, + "inputFields": [ + { + "name": "direct", + "description": null, + "type": { + "kind": "ENUM", + "name": "OrderingDirectSelection", + "ofType": null + }, + "defaultValue": "CHILDREN", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderingSelectLinkDefinitionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingSelectLinkDefinition", + "description": "Describes how an ordering should select its links.\n", + "fields": [ + { + "name": "contains", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "references", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderingSelectLinkDefinitionInput", + "description": "Describe how an ordering should select its links.\n", + "fields": null, + "inputFields": [ + { + "name": "contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "references", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateDefinition", + "description": null, + "fields": [ + { + "name": "background", + "description": "The background gradient to use for this template. Affects presentation.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderingBackground", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderingIdentifier", + "description": "The identifier for the ordering to derive next/prev siblings from.\n\nRefer to `orderingSource` and `selectionSource` for more details.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderingSource", + "description": "A reference to the entity that contains an ordering identified by `orderingIdentifier`.\nIt operates exactly like `selectionSource`. See that property for more documentation.\n\n**Note**: While `self` is allowed here, it only makes sense if the rendering entity\nis contained in one of its own orderings, which doesn't happen normally. The template\nwill still render, but it likely won't find siblings.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "TemplateSelectionSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderingSourceAncestorName", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderingSourceMode", + "description": "", + "args": [], + "type": { + "kind": "ENUM", + "name": "SelectionSourceMode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionSource", + "description": "What entity to use for detecting the positional prev/next siblings.\n\nBy default, it is `self`. However, it can be overridden for creating templates that\nnavigate through parent issues, volumes, journals, etc. For instance, an article could\ncreate an `` template that has the following properties set:\n\n* `selectionSource`: `\"ancestors.issue\"`\n* `orderingSource`: `\"ancestors.journal\"`\n* `orderingIdentifier`: `\"issues\"`\n\nThis would use the _journal's_ `issues` ordering to navigate through the article's\nassociated `issues`, and provide a quick way to navigate through varying levels of\nthe upper hierarchy from lower points in the tree.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "TemplateSelectionSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionSourceAncestorName", + "description": "The derived name of the ancestor used for the `selectionSource`.\n\nExposed for introspection only.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SchemaComponent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectionSourceMode", + "description": "An enum representing what mode `selectionSource` is in. Not directly set,\nit is used internally for lookups.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "SelectionSourceMode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slots", + "description": "Slot definitions for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingTemplateDefinitionSlots", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "TemplateWidth", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", + "fields": [ + { + "name": "nextLabel", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previousLabel", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateInstance", + "description": null, + "fields": [ + { + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "definition", + "description": "Load the associated definition for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingTemplateDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": "The associated entity for this template instance.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderingPair", + "description": "Access the prev/next siblings within the template's specified ordering.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateOrderingPair", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slots", + "description": "Rendered slots for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderingTemplateInstanceSlots", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateHasOrderingPair", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateInstance", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", + "fields": [ + { + "name": "nextLabel", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previousLabel", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderingVisibilityFilter", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": "Do not filter orderings by their visibility.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIDDEN", + "description": "Fetch only *hidden* orderings.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VISIBLE", + "description": "Fetch only *visible* orderings. This has no bearing on the ordering's *availability*.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrganizationContributor", + "description": "An organization that has made contributions.\n", + "fields": [ + { + "name": "affiliation", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attributions", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorAttributionOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorAttributionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canClaim", + "description": "Whether the current user has the ability to claim this contributor profile as their own.\n\nThis requires both that the user has permission to manage the system broadly,\nand that they do not already have a contributor profile linked to their account.\n\nIt also requires the contributor to be unclaimed.\n\nIt is associated with the `contributorClaim` mutation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canLinkUser", + "description": "Whether the current user has the ability to link this contributor profile to any user account.\n\nThis differs from `canClaim` in that it does not require the contributor to be unclaimed,\nand can specify the user account to link to.\n\nIt is associated with the `contributorUserLinkUpsert` mutation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canMergeSource", + "description": "Whether the current user has the ability to use this contributor profile as a source in a merge operation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canMergeTarget", + "description": "Whether the current user has the ability to use this contributor profile as a target in a merge operation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "claimed", + "description": "Whether this contributor has been claimed by a user.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionContributionCount", + "description": "The total number of collection contributions from this contributor.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionContributions", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributionOrder", + "ofType": null + }, + "defaultValue": "TARGET_TITLE_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionContributionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributionCount", + "description": "The total number of contributions (item + collection) from this contributor.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "familyName", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "givenName", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestModificationStatus", + "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestModificationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifier", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "An optional image associated with the contributor.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageAttachment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageMetadata", + "description": "Configurable metadata for the image attachment", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ImageMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemContributionCount", + "description": "The total number of item contributions from this contributor.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemContributions", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributionOrder", + "ofType": null + }, + "defaultValue": "TARGET_TITLE_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ItemContributionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legalName", + "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorLink", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeBusy", + "description": "Whether this contributor is currently involved in an active merge as either a source or target.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeSourceStatus", + "description": "The status of this contributor in the context of being a merge source.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorMergeSourceStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeTarget", + "description": "The target of the merge, if available.\n", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "ContributorBase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeTargetStatus", + "description": "The status of this contributor in the context of being a merge target.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorMergeTargetStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A display name, independent of the type of contributor.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orcid", + "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suffix", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userLink", + "description": "The link between this contributor and a user, if any exists.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ContributorBase", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasHarvestModificationStatus", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Page", + "description": "A page of arbitrary content for an entity", + "fields": [ + { + "name": "body", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroImage", + "description": "The hero image for a page", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageAttachment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroImageMetadata", + "description": "Configurable metadata for the hero_image attachment", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ImageMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageConnection", + "description": "The connection type for Page.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PageDirection", + "description": "Determines the direction that page-number based pagination should flow\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BACKWARDS", + "description": "Indicates that page-number based pagination should flow in descending order (9-1)\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FORWARDS", + "description": "Indicates that page-number based pagination should flow in ascending order (1-9)\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageInfo", + "description": "Information about pagination in a connection.", + "fields": [ + { + "name": "endCursor", + "description": "When paginating forwards, the cursor to continue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasNextPage", + "description": "When paginating forwards, are there more items?", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasPreviousPage", + "description": "When paginating backwards, are there more items?", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page (if page-based pagination is supported and one was provided, does not introspect a value with cursor-based pagination)", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCount", + "description": "The total number of pages available to the connection (if page-based pagination supported and a page was provided)", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The number of edges/nodes per page (if page-based pagination supported and a page was provided)", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startCursor", + "description": "When paginating backwards, the cursor to continue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "The total number of nodes available to this connection, constrained by applied filters (if any)", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalUnfilteredCount", + "description": "The total number of nodes available to this connection, independent of any filters", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PageListBackground", + "description": "An enumerated value associated with the templating subsystem.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DARK", + "description": "A dark gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIGHT", + "description": "A light gradient is applied to the background of this template.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No background is applied to this template.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateDefinition", + "description": null, + "fields": [ + { + "name": "background", + "description": "The background gradient to use for this template. Affects presentation.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "PageListBackground", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slots", + "description": "Slot definitions for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageListTemplateDefinitionSlots", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": "This controls how wide the template should render.\n\n**Note**: When using `HALF`, you should take care to make sure that there is an adjacent\ntemplate that also uses `HALF`.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "TemplateWidth", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateDefinitionSlots", + "description": "Slot definitions for the associated template.\n", + "fields": [ + { + "name": "header", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateInstance", + "description": null, + "fields": [ + { + "name": "allSlotsEmpty", + "description": "Whether all slots in this template are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "definition", + "description": "Load the associated definition for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageListTemplateDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": "The associated entity for this template instance.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Whether this template instance should be hidden based on some logic.\n\nAt present, this only occurs if certain slots are empty.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "layoutKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LayoutKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 4 and 5 in that order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prevSiblings", + "description": "Return all preceding siblings to the current template in order of proximity.\n\nIf a template is at position 3 of 5, then this field will return position 2 and 1 in that order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slots", + "description": "Rendered slots for this template.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageListTemplateInstanceSlots", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateKind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "TemplateInstance", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateInstanceSlots", + "description": "Rendered slots for the associated template.\n", + "fields": [ + { + "name": "header", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "TemplateSlotInlineInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Paginated", + "description": "Connections can be paginated by cursor or number.\n", + "fields": [ + { + "name": "pageInfo", + "description": "Information to aid in pagination.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AnnouncementConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AnyAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AnyCollectionAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AnyCommunityAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AnyContributorConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AnyUserAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AnyUserGroupAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionContributionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CommunityConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContextualPermissionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorAttributionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularySourceConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementTransitionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequestConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequestTransitionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityDescendantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityLinkConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMappingConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMessageConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMappingConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecordConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSetConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourceConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemContributionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkTargetCandidateConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingEntryConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PermalinkConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RoleConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaDefinitionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SearchResultConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransitionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionCommentConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublicationTransitionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReviewConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReviewTransitionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetTransitionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTransitionConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCollectionAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCommunityAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCollectionAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCommunityAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupItemAccessGrantConnection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserItemAccessGrantConnection", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "Permalink", + "description": "A permalink is a persistant link to a resource with a human-readable URI.\nEach resource can have multiple permalinks, but only one can be marked as canonical.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canonical", + "description": "Whether this permalink is the canonical one for the `permalinkable`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The type of resource this permalink points to.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PermalinkableKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkable", + "description": "The resource this permalink points to.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Permalinkable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkableSlug", + "description": "The slug of the `permalinkable` record.\n\nIt can be used for quickly generating non-canonical links to the resource\nbased on the `kind` without needing to load the associated record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uri", + "description": "The URI of the permalink. Used for generating routes and also serves as a unique identifier.\n\n**Note**: URIs are _case-insensitive_ and may only contain alphanumeric characters and hyphens.\nHyphens may not be consecutive nor may they appear at the start nor the end of the URI.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PermalinkConnection", + "description": "The connection type for Permalink.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermalinkEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PermalinkCreateInput", + "description": "Autogenerated input type of PermalinkCreate", + "fields": null, + "inputFields": [ + { + "name": "canonical", + "description": "Whether this permalink should be the canonical permalink for its resource.\n\nIf true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkableId", + "description": "The ID of the resource to which this permalink will belong.\n\nIt can be changed.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uri", + "description": "The URI for the permalink.\n\nIt is case-insensitive and must be unique system-wide.\n\nIt may only contain letters, numbers, and hyphens.\nIt may not begin nor end with a hyphen, nor contain consecutive hyphens.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PermalinkCreatePayload", + "description": "Autogenerated return type of PermalinkCreate.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalink", + "description": "The newly-modified permalink, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PermalinkDestroyInput", + "description": "Autogenerated input type of PermalinkDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkId", + "description": "The permalink to destroy.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PermalinkDestroyPayload", + "description": "Autogenerated return type of PermalinkDestroy.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PermalinkEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PermalinkOrder", + "description": "Sort a collection of `Permalink` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort permalinks by their default order: canonical first, then by uri alphabetically.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OLDEST", + "description": "Sort permalinks by oldest created date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort permalinks by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PermalinkUpdateInput", + "description": "Autogenerated input type of PermalinkUpdate", + "fields": null, + "inputFields": [ + { + "name": "canonical", + "description": "Whether this permalink should be the canonical permalink for its resource.\n\nIf true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkId", + "description": "The permalink to update.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkableId", + "description": "The ID of the resource to which this permalink will belong.\n\nIt can be changed.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uri", + "description": "The URI for the permalink.\n\nIt is case-insensitive and must be unique system-wide.\n\nIt may only contain letters, numbers, and hyphens.\nIt may not begin nor end with a hyphen, nor contain consecutive hyphens.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PermalinkUpdatePayload", + "description": "Autogenerated return type of PermalinkUpdate.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalink", + "description": "The newly-modified permalink, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Permalinkable", + "description": "An interface for models which can have permalinks.\n", + "fields": [ + { + "name": "canonicalPermalink", + "description": "The canonical permalink for this resource, if one is set.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinks", + "description": "All permalinks associated with this resource.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "PermalinkableKind", + "description": "An enum that helps describe the different kinds of records\nthat can be permalinked.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION", + "description": "This permalink points to a collection.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY", + "description": "This permalink points to a community.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM", + "description": "This permalink points to an item.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PermissionGrant", + "description": "A grant of a specific permission within a specific scope.", + "fields": [ + { + "name": "allowed", + "description": "Whether this permission has been granted in the current context.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The unqualified, single name for this permission.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "The fully-qualified path for this permission (composed of scope + name).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scope", + "description": "The scope (or namespace) for this permission.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "PermissionGrid", + "description": "A mapping of permissions specific to a certain scope", + "fields": [ + { + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AdminPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RolePermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SettingsPermissionGrid", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserPermissionGrid", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PersonContributor", + "description": "A person that has made contributions.\n", + "fields": [ + { + "name": "affiliation", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attributions", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorAttributionOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorAttributionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canClaim", + "description": "Whether the current user has the ability to claim this contributor profile as their own.\n\nThis requires both that the user has permission to manage the system broadly,\nand that they do not already have a contributor profile linked to their account.\n\nIt also requires the contributor to be unclaimed.\n\nIt is associated with the `contributorClaim` mutation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canLinkUser", + "description": "Whether the current user has the ability to link this contributor profile to any user account.\n\nThis differs from `canClaim` in that it does not require the contributor to be unclaimed,\nand can specify the user account to link to.\n\nIt is associated with the `contributorUserLinkUpsert` mutation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canMergeSource", + "description": "Whether the current user has the ability to use this contributor profile as a source in a merge operation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canMergeTarget", + "description": "Whether the current user has the ability to use this contributor profile as a target in a merge operation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "claimed", + "description": "Whether this contributor has been claimed by a user.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionContributionCount", + "description": "The total number of collection contributions from this contributor.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionContributions", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributionOrder", + "ofType": null + }, + "defaultValue": "TARGET_TITLE_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionContributionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributionCount", + "description": "The total number of contributions (item + collection) from this contributor.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "familyName", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "givenName", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestModificationStatus", + "description": "The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have\nno effect on this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HarvestModificationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifier", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "An optional image associated with the contributor.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageAttachment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageMetadata", + "description": "Configurable metadata for the image attachment", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ImageMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemContributionCount", + "description": "The total number of item contributions from this contributor.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemContributions", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributionOrder", + "ofType": null + }, + "defaultValue": "TARGET_TITLE_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ItemContributionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legalName", + "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorLink", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Only applicable when `kind` = `ORGANIZATION`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeBusy", + "description": "Whether this contributor is currently involved in an active merge as either a source or target.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeSourceStatus", + "description": "The status of this contributor in the context of being a merge source.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorMergeSourceStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeTarget", + "description": "The target of the merge, if available.\n", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "ContributorBase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeTargetStatus", + "description": "The status of this contributor in the context of being a merge target.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorMergeTargetStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A display name, independent of the type of contributor.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orcid", + "description": "An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suffix", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Only applicable when `kind` = `PERSON`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userLink", + "description": "The link between this contributor and a user, if any exists.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ContributorBase", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasHarvestModificationStatus", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PreviewSlotInput", + "description": "Autogenerated input type of PreviewSlot", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entityId", + "description": "The entity to update.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The kind of slot to render.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TemplateSlotKind", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "template", + "description": "The template to render.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PreviewSlotPayload", + "description": "Autogenerated return type of PreviewSlot.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slot", + "description": "The rendered slot (if successful)\n", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "TemplateSlotInstance", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PropertyApplicationStrategy", + "description": "When altering a schema version for an entity, there are various strategies that can be used to determine how to handle the provided properties.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPLY", + "description": "If set to this value, property values will be validated and applied", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SKIP", + "description": "If set to this value, property values will not be applied, and the entity will likely exist in an invalid state.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "QueriesAccessAndRoles", + "description": "An interface for querying information about access control and roles within the system.\n", + "fields": [ + { + "name": "accessGrants", + "description": "Retrieve all access grants.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": null, + "type": { + "kind": "ENUM", + "name": "AccessGrantEntityFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": null, + "type": { + "kind": "ENUM", + "name": "AccessGrantSubjectFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnyAccessGrantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roles", + "description": "List all roles.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "RoleOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RoleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesContrib", + "description": "Fields for querying details about contributors and contributions.\n", + "fields": [ + { + "name": "collectionContribution", + "description": "Look up a collection contribution by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionContribution", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributionRoles", + "description": "Look up contribution role configuration for a given contributable (or globally).", + "args": [ + { + "name": "contributableId", + "description": "The contributable to load for, if applicable.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributionRoleConfiguration", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributor", + "description": "Look up a contributor by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributorLookup", + "description": "Look up a contributor `by` a certain `value`.\n", + "args": [ + { + "name": "by", + "description": "The field to search a contributor with. Unless otherwise specified, the provided\n`value` will be an exact match.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorLookupField", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "For certain fields, the values are not guaranteed to be unique. In these instances,\nthe *most recently* created contributor will be selected by default. If the first\nis preferred, specify `order: OLDEST`.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + } + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The actual value to look a contributor up `by`.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributors", + "description": "A list of all contributors in the system", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorFilterKind", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorOrder", + "ofType": null + }, + "defaultValue": "NAME_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "Search for contributors with names that start with the provided text.\n\n**Deprecated**: Use the `nameSearch` filter instead.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnyContributorConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemContribution", + "description": "Look up an item contribution by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ItemContribution", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesControlledVocabulary", + "description": "An interface for querying `ControlledVocabulary` records.\n", + "fields": [ + { + "name": "controlledVocabularies", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularyFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularyFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ControlledVocabularyOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularyConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "controlledVocabulary", + "description": "Retrieve a single `ControlledVocabulary` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesControlledVocabularySource", + "description": "An interface for querying `ControlledVocabularySource` records.\n", + "fields": [ + { + "name": "controlledVocabularySource", + "description": "Retrieve a single `ControlledVocabularySource` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "controlledVocabularySources", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularySourceFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularySourceFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ControlledVocabularySourceOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularySourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesDepositorRequest", + "description": "An interface for querying `DepositorRequest` records.\n", + "fields": [ + { + "name": "depositorRequest", + "description": "Retrieve a single `DepositorRequest` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositorRequests", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DepositorRequestFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DepositorRequestFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "DepositorRequestOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DepositorRequestConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesEntities", + "description": "Fields for querying all entities from the top level of the hierarchy.\n", + "fields": [ + { + "name": "asset", + "description": "Look up an asset by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collection", + "description": "Look up a collection by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "communities", + "description": "List all communities", + "args": [ + { + "name": "access", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityPermissionFilter", + "ofType": null + }, + "defaultValue": "SKIP", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityOrder", + "ofType": null + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommunityConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "community", + "description": "Look up a community by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "communityByTitle", + "description": "Look up a community by its title", + "args": [ + { + "name": "title", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "item", + "description": "Look up an item by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestAttempt", + "description": "An interface for querying `HarvestAttempt` records.\n", + "fields": [ + { + "name": "harvestAttempt", + "description": "Retrieve a single `HarvestAttempt` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestAttempts", + "description": "Query all harvest attempts in the system.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestAttemptOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestAttemptConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestExample", + "description": "An interface for querying `HarvestExample` records.\n", + "fields": [ + { + "name": "harvestExamples", + "description": "Retrieve harvest examples for the system.\n", + "args": [ + { + "name": "generic", + "description": "Whether to look for \"generic\" harvesting examples which are not associated\nwith any protocol or metadata.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadataFormat", + "description": "The metadata format to filter by.\n", + "type": { + "kind": "ENUM", + "name": "HarvestMetadataFormat", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protocol", + "description": "The protocol to filter by.\n", + "type": { + "kind": "ENUM", + "name": "HarvestProtocol", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestExample", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestMapping", + "description": "An interface for querying `HarvestMapping` records.\n", + "fields": [ + { + "name": "harvestMapping", + "description": "Retrieve a single `HarvestMapping` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMappings", + "description": "Query all harvest mappings in the system.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestMappingOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMappingConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestMessage", + "description": "An interface for querying `HarvestMessage` records.\n", + "fields": [ + { + "name": "harvestMessages", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + }, + "defaultValue": "{severity: INFO}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMessageConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestEntity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestRecord", + "description": "An interface for querying `HarvestRecord` records.\n", + "fields": [ + { + "name": "harvestRecord", + "description": "Retrieve a single `HarvestRecord` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestRecords", + "description": "Query all harvest records in the system.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestRecordOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestRecordConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestSet", + "description": "An interface for querying `HarvestSet` records.\n\nTo query a collection of harvest sets, you must check from the Harvest Source.\n", + "fields": [ + { + "name": "harvestSet", + "description": "Retrieve a single `HarvestSet` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestSet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestSource", + "description": "An interface for querying `HarvestSource` records.\n", + "fields": [ + { + "name": "harvestSource", + "description": "Retrieve a single `HarvestSource` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestSources", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestSourceOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestSourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesPermalink", + "description": "An interface for querying `Permalink` records.\n", + "fields": [ + { + "name": "permalink", + "description": "Retrieve a single `Permalink` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkByUri", + "description": "Retrieve a single `Permalink` by its URI.\n", + "args": [ + { + "name": "uri", + "description": "The URI to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinks", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "PermalinkOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermalinkConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesSchemas", + "description": "Fields for querying schemas and schema-related data.\n", + "fields": [ + { + "name": "orderingPaths", + "description": "A list of ordering paths for creating and updating orderings.", + "args": [ + { + "name": "schemas", + "description": "If passed, this will restrict the property fields returned to the selected schemas.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderingSchemaFilterInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "OrderingPath", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaDefinition", + "description": "Look up a schema definition by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaDefinitions", + "description": "List all schema definitions", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersion", + "description": "Look up a schema version by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersionOptions", + "description": "List all options for schema versions", + "args": [ + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "SchemaKind", + "ofType": null + }, + "defaultValue": "ITEM", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersionOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersions", + "description": "List all schema versions", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SchemaVersionOrder", + "ofType": null + }, + "defaultValue": "LATEST", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmission", + "description": "An interface for querying `Submission` records.\n", + "fields": [ + { + "name": "submission", + "description": "Retrieve a single `Submission` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissions", + "description": "Retrieve a list of `Submission` records, optionally filtered by various criteria.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmissionComment", + "description": "An interface for querying `SubmissionComment` records.\n", + "fields": [ + { + "name": "submissionComment", + "description": "Retrieve a single `SubmissionComment` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionComments", + "description": "Retrieve a list of `SubmissionComment` records, optionally filtered by `submission`.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionCommentFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionCommentFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionCommentOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionCommentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmissionReview", + "description": "An interface for querying `SubmissionReview` records.\n", + "fields": [ + { + "name": "submissionReview", + "description": "Retrieve a single `SubmissionReview` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionReviews", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionReviewFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionReviewFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionReviewOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionReviewConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmissionTarget", + "description": "An interface for querying `SubmissionTarget` records.\n", + "fields": [ + { + "name": "submissionTarget", + "description": "Retrieve a single `SubmissionTarget` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargets", + "description": "Retrieve a list of `SubmissionTarget` records, optionally filtered by various criteria.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionTargetOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmissionTargetReviewer", + "description": "An interface for querying `SubmissionTargetReviewer` records.\n", + "fields": [ + { + "name": "submissionTargetReviewer", + "description": "Retrieve a single `SubmissionTargetReviewer` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetReviewers", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionTargetReviewerOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesSystem", + "description": "Fields for querying system-level information about the current installation.\n", + "fields": [ + { + "name": "analytics", + "description": "Access top-level analytics.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Analytics", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "globalConfiguration", + "description": "Fetch the global configuration for this installation", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GlobalConfiguration", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "systemInfo", + "description": "A helper field that is used to look up various details about the WDP-API ecosystem.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SystemInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "Look up a user by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "users", + "description": "A list of all users in the system", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "UserOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "Search for users with given OR family names that start with the provided text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewer", + "description": "The currently authenticated user. AKA: you\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "QueriesUser", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "QueriesUser", + "description": null, + "fields": [ + { + "name": "user", + "description": "Look up a user by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "users", + "description": "A list of all users in the system", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "UserOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "Search for users with given OR family names that start with the provided text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewer", + "description": "The currently authenticated user. AKA: you\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "Query", + "description": "The entry point for retrieving data from within the Meru API.\n", + "fields": [ + { + "name": "accessGrants", + "description": "Retrieve all access grants.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": null, + "type": { + "kind": "ENUM", + "name": "AccessGrantEntityFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": null, + "type": { + "kind": "ENUM", + "name": "AccessGrantSubjectFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnyAccessGrantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "analytics", + "description": "Access top-level analytics.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Analytics", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asset", + "description": "Look up an asset by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collection", + "description": "Look up a collection by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionContribution", + "description": "Look up a collection contribution by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionContribution", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "communities", + "description": "List all communities", + "args": [ + { + "name": "access", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityPermissionFilter", + "ofType": null + }, + "defaultValue": "SKIP", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityOrder", + "ofType": null + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommunityConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "community", + "description": "Look up a community by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "communityByTitle", + "description": "Look up a community by its title", + "args": [ + { + "name": "title", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributionRoles", + "description": "Look up contribution role configuration for a given contributable (or globally).", + "args": [ + { + "name": "contributableId", + "description": "The contributable to load for, if applicable.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributionRoleConfiguration", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributor", + "description": "Look up a contributor by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributorLookup", + "description": "Look up a contributor `by` a certain `value`.\n", + "args": [ + { + "name": "by", + "description": "The field to search a contributor with. Unless otherwise specified, the provided\n`value` will be an exact match.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ContributorLookupField", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "For certain fields, the values are not guaranteed to be unique. In these instances,\nthe *most recently* created contributor will be selected by default. If the first\nis preferred, specify `order: OLDEST`.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + } + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The actual value to look a contributor up `by`.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributors", + "description": "A list of all contributors in the system", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorFilterKind", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContributorFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ContributorOrder", + "ofType": null + }, + "defaultValue": "NAME_ASCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "Search for contributors with names that start with the provided text.\n\n**Deprecated**: Use the `nameSearch` filter instead.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnyContributorConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "controlledVocabularies", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularyFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularyFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ControlledVocabularyOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularyConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "controlledVocabulary", + "description": "Retrieve a single `ControlledVocabulary` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "controlledVocabularySource", + "description": "Retrieve a single `ControlledVocabularySource` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "controlledVocabularySources", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularySourceFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ControlledVocabularySourceFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "ControlledVocabularySourceOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlledVocabularySourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositorRequest", + "description": "Retrieve a single `DepositorRequest` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositorRequests", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "DepositorRequestFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DepositorRequestFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "DepositorRequestOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DepositorRequestConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "globalConfiguration", + "description": "Fetch the global configuration for this installation", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GlobalConfiguration", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestAttempt", + "description": "Retrieve a single `HarvestAttempt` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestAttempts", + "description": "Query all harvest attempts in the system.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestAttemptOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestAttemptConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestExamples", + "description": "Retrieve harvest examples for the system.\n", + "args": [ + { + "name": "generic", + "description": "Whether to look for \"generic\" harvesting examples which are not associated\nwith any protocol or metadata.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadataFormat", + "description": "The metadata format to filter by.\n", + "type": { + "kind": "ENUM", + "name": "HarvestMetadataFormat", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protocol", + "description": "The protocol to filter by.\n", + "type": { + "kind": "ENUM", + "name": "HarvestProtocol", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestExample", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMapping", + "description": "Retrieve a single `HarvestMapping` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMappings", + "description": "Query all harvest mappings in the system.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestMappingOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMappingConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestMessages", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + }, + "defaultValue": "{severity: INFO}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HarvestMessageFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestMessageConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestRecord", + "description": "Retrieve a single `HarvestRecord` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestRecords", + "description": "Query all harvest records in the system.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestRecordOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestRecordConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestSet", + "description": "Retrieve a single `HarvestSet` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestSet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestSource", + "description": "Retrieve a single `HarvestSource` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harvestSources", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "HarvestSourceOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HarvestSourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "item", + "description": "Look up an item by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemContribution", + "description": "Look up an item contribution by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ItemContribution", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "Fetches an object given its ID.", + "args": [ + { + "name": "id", + "description": "ID of the object.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "Fetches a list of objects given a list of IDs.", + "args": [ + { + "name": "ids", + "description": "IDs of the objects.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderingPaths", + "description": "A list of ordering paths for creating and updating orderings.", + "args": [ + { + "name": "schemas", + "description": "If passed, this will restrict the property fields returned to the selected schemas.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderingSchemaFilterInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "OrderingPath", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalink", + "description": "Retrieve a single `Permalink` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkByUri", + "description": "Retrieve a single `Permalink` by its URI.\n", + "args": [ + { + "name": "uri", + "description": "The URI to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinks", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "PermalinkOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermalinkConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roles", + "description": "List all roles.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "RoleOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RoleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaDefinition", + "description": "Look up a schema definition by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaDefinitions", + "description": "List all schema definitions", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SimpleOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersion", + "description": "Look up a schema version by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersionOptions", + "description": "List all options for schema versions", + "args": [ + { + "name": "kind", + "description": null, + "type": { + "kind": "ENUM", + "name": "SchemaKind", + "ofType": null + }, + "defaultValue": "ITEM", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersionOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersions", + "description": "List all schema versions", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SchemaVersionOrder", + "ofType": null + }, + "defaultValue": "LATEST", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "Search from this level of the API using it as the origin", + "args": [ + { + "name": "maxDepth", + "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", + "type": { + "kind": "ENUM", + "name": "EntityVisibilityFilter", + "ofType": null + }, + "defaultValue": "VISIBLE", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchScope", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submission", + "description": "Retrieve a single `Submission` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionComment", + "description": "Retrieve a single `SubmissionComment` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionComments", + "description": "Retrieve a list of `SubmissionComment` records, optionally filtered by `submission`.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionCommentFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionCommentFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionCommentOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionCommentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionReview", + "description": "Retrieve a single `SubmissionReview` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionReviews", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionReviewFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionReviewFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionReviewOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionReviewConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTarget", + "description": "Retrieve a single `SubmissionTarget` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetReviewer", + "description": "Retrieve a single `SubmissionTargetReviewer` by slug.\n", + "args": [ + { + "name": "slug", + "description": "The slug to look up.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargetReviewers", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionTargetReviewerOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTargets", + "description": "Retrieve a list of `SubmissionTarget` records, optionally filtered by various criteria.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionTargetOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissions", + "description": "Retrieve a list of `Submission` records, optionally filtered by various criteria.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "systemInfo", + "description": "A helper field that is used to look up various details about the WDP-API ecosystem.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SystemInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "Look up a user by slug", + "args": [ + { + "name": "slug", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "users", + "description": "A list of all users in the system", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "UserOrder", + "ofType": null + }, + "defaultValue": "RECENT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "Search for users with given OR family names that start with the provided text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewer", + "description": "The currently authenticated user. AKA: you\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "QueriesAccessAndRoles", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesContrib", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesControlledVocabulary", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesControlledVocabularySource", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesDepositorRequest", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesEntities", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestAttempt", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestExample", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestMapping", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestMessage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestRecord", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestSet", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesHarvestSource", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesPermalink", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesSchemas", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmission", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmissionComment", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmissionReview", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmissionTarget", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesSubmissionTargetReviewer", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesSystem", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "QueriesUser", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Searchable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ReferencesEntityVisibility", + "description": "An entity which can be limited in its visibility, based on some configured attributes.\n", + "fields": [ + { + "name": "currentlyHidden", + "description": "Whether the entity is _currently_ hidden, based on the server's time zone.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentlyVisible", + "description": "Whether the entity is _currently_ visible, based on the server's time zone.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Whether the entity's visibility is set to `HIDDEN`\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hiddenAsOf", + "description": "Specify a time to check to see if the entity will be hidden.\n", + "args": [ + { + "name": "time", + "description": "If no value is provided, it will default to the current time.\n", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hiddenAt", + "description": "If present, this is the timestamp the entity was hidden at", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "If an entity is available in the frontend", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntityVisibility", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visible", + "description": "Whether the entity's visibility is set to `VISIBLE`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibleAfterAt", + "description": "If present, this is the timestamp an entity is visible after", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibleAsOf", + "description": "Specify a time to check to see if the entity will be visible.\n", + "args": [ + { + "name": "time", + "description": "If no value is provided, it will default to the current time.\n", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibleUntilAt", + "description": "If present, this is the timestamp an entity is visible until", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "ReferencesGlobalEntityDates", + "description": "An interface for retrieving certain shared, common variable-precision dates\nthat are associated with events in the publication, collection, and release\nof an entity.\n", + "fields": [ + { + "name": "published", + "description": "The date this entity was published", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VariablePrecisionDate", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "RenderLayoutsInput", + "description": "Autogenerated input type of RenderLayouts", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entityId", + "description": "The entity to render layouts on.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RenderLayoutsPayload", + "description": "Autogenerated return type of RenderLayouts.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": "The newly-rendered entity with its updated layouts, if successful.\n", + "args": [], + "type": { + "kind": "UNION", + "name": "AnyEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Renderable", + "description": "An interface describing an instance type that can be rendered for a given entity.\n", + "fields": [ + { + "name": "lastRenderedAt", + "description": "The time this object was last rendered.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "BlurbTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DescendantListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DetailTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateInstance", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "ReparentEntityInput", + "description": "Autogenerated input type of ReparentEntity", + "fields": null, + "inputFields": [ + { + "name": "childId", + "description": "The collection in need of a new parent\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentId", + "description": "The ID for the new parent entity. For children of the collection type, this\nmust be a community or another collection. For children of the item type,\nthis must be a collection or another item.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReparentEntityPayload", + "description": "Autogenerated return type of ReparentEntity.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "child", + "description": "If the child was successfully reparented, this field will be populated", + "args": [], + "type": { + "kind": "UNION", + "name": "AnyChildEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ResetOrderingInput", + "description": "Autogenerated input type of ResetOrdering", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderingId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResetOrderingPayload", + "description": "Autogenerated return type of ResetOrdering.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ordering", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RevokeAccessInput", + "description": "Autogenerated input type of RevokeAccess", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entityId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roleId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RevokeAccessPayload", + "description": "Autogenerated return type of RevokeAccess.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": null, + "args": [], + "type": { + "kind": "UNION", + "name": "AnyEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revoked", + "description": "Whether or not access was revoked", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Role", + "description": "A named role in the Meru API", + "fields": [ + { + "name": "accessControlList", + "description": "The access control list for this specific role", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessControlList", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowedActions", + "description": "A list of action names that have been granted to this role", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customPriority", + "description": "Only relevant for `custom` roles, this affects sorting.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "globalAccessControlList", + "description": "The global access control list that this assigned role implies, based on its sort order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GlobalAccessControlList", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "globalAllowedActions", + "description": "A list of global action names that this role implies, based on its sort order.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifier", + "description": "For `system` roles, this will be populated with the unique identifier\nthat marks this as a system role.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "RoleSystemIdentifier", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The specific kind of role this is, based on how it entered the WDP-API.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RoleKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The human readable name of the role within the system", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "Surfaced from the accessControlList for convenience, these are returned as\nan array that allows a user to check for the state of all possible roles\nwithout having to specify them explicitly in the GraphQL request\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primacy", + "description": "Used internally to sort roles and ensure certain role types are above\nand below others, irrespective of priority.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RolePrimacy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priority", + "description": "The calculated sort priority for this role.\n\n* For `custom` roles, it is based on `custom_priority`.\n* For `system` roles, it is based on hard-coded values within the system\n and cannot be modified.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RoleConnection", + "description": "The connection type for Role.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RoleEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Role", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RoleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Role", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RoleKind", + "description": "A categorization of a `Role` based on how it gets into the WDP-API.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOM", + "description": "Custom roles are created and managed through the `createRole`, `updateRole`, and `destroyRole` mutations.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SYSTEM", + "description": "System roles are shipped by default with WDP-API and cannot be modified.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RoleOrder", + "description": "Sort roles by a specific property and order", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort roles by default priority within the system", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_ASCENDING", + "description": "Sort roles by their name A-Z", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_DESCENDING", + "description": "Sort roles by their name Z-A", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OLDEST", + "description": "Sort roles by oldest created date", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort roles by newest created date", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RolePermissionGrid", + "description": "A grid of permissions related to role management in Meru.\n\nIt lives in the `GlobalAccessControlList`.\n\nThis does not determine anything about role _assignment_,\nfor that, see the `manageAccess` permission in entity grids.\nInstead, the permissions here are solely related to managing\nrole records themselves.\n", + "fields": [ + { + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "create", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "delete", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "read", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "update", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CRUDPermissionGrid", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "PermissionGrid", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RolePrimacy", + "description": "The level of importance any given role has when it comes to determing what a user's \"primary\" role is.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Values with this primacy level are the default. Any custom roles will be in this scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIGH", + "description": "Values with this primacy level take priority over all others. They cannot be directly assigned through the API.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOW", + "description": "Values with this primacy level are always sorted after every other role.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RoleSystemIdentifier", + "description": "This will identify _which_ `system` role this is, if applicable. See `RoleKind` for more information.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADMIN", + "description": "A global administrator. This role cannot be directly assigned.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTHOR", + "description": "An author can update and read its own entity, but does not have permissions to do anything else.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPOSITOR", + "description": "A depositor can read anything under its assigned hierarchy, and can also deposit new items and collections.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EDITOR", + "description": "An editor has basic update permissions for a specific point in the hierarchy.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANAGER", + "description": "A manager can be assigned to handle most `Community` and other entity management concerns.\n\nThey can also appoint other roles (except for other managers) to any entity they manage.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READER", + "description": "A reader is anyone who has been given explicit read-access to an entity.\nThis role is primarily used by the administration UI.\n\n**Note**: Anonymous users can still view public entities in the frontend.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REVIEWER", + "description": "A reviewer can review any assigned entity as well as its subcollections and items.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ScalarProperty", + "description": "A property on a `SchemaInstance`.\n", + "fields": [ + { + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "A human-readable label for the schema property.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AssetProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetsProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BooleanProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorsProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabulariesProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DateProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EmailProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntitiesProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FloatProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FullTextProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "IntegerProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarkdownProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MultiselectProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SelectProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StringProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TagsProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TimestampProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "URLProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UnknownProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VariableDateProperty", + "ofType": null + } + ] + }, + { + "kind": "SCALAR", + "name": "SchemaComponent", + "description": "A string primitive with a very constrained format, representing components\nof a schema like namespaces, identifiers, ordering names, etc.\n\nIt is also used in the templating subsystem.\n\nIt corresponds to the regular expression `(?-mix:\\A[a-z][a-z0-9_]*?[a-z0-9]\\z)`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaDefinition", + "description": "A schema definition is a logical grouping of `SchemaVersion`s that identifies\nonly the shared kind, namespace, and identifier. The name is also most likely\nshared, although it can change between schema versions, and the value on the\ndefinition will default to whatever the most recent version uses.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "declaration", + "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifier", + "description": "A unique (per-namespace) value that names the schema within the system.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The kind of entity this schema applies to.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A human-readable name for the schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "A unique namespace the schema lives in.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "DescribesSchema", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaDefinitionConnection", + "description": "The connection type for SchemaDefinition.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaDefinitionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaDefinitionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "SchemaInstance", + "description": "Being an instance that implements a schema version with strongly-typed properties.\nOverlaps with Entity, but intended for focused access to just the properties\nand the necessary context.\n", + "fields": [ + { + "name": "availableEntitiesFor", + "description": "Expose all available entities for this schema property.\n", + "args": [ + { + "name": "fullPath", + "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntitySelectOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaInstanceContext", + "description": "The context for our schema instance. Includes form values and necessary referents.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaInstanceContext", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaProperties", + "description": "A list of schema properties associated with this instance or version.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaProperty", + "description": "Read a single schema property by its full path.\n", + "args": [ + { + "name": "fullPath", + "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SchemaInstanceContext", + "description": "A context that describes the current state of the form", + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AssetSelectOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorSelectOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultValues", + "description": "Not yet populated. May be used in the future.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entityId", + "description": "The entity ID for this schema instance.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldValues", + "description": "The values for the schema form on this instance", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersionSlug", + "description": "The slug for the current schema version", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validity", + "description": "Information about the validity of the schema instance", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SchemaInstanceValidation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaInstanceValidation", + "description": null, + "fields": [ + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaValueError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valid", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validatedAt", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SchemaKind", + "description": "The kind of entity a schema applies to", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMUNITY", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaOrderingPath", + "description": "This ordering path represents a schema property and is variably\navailable based on whether matched entities' schemas implement it.\n", + "fields": [ + { + "name": "description", + "description": "A helpful description of the path", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grouping", + "description": "A logical grouping for ordering paths", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderingPathGrouping", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "A human-readable label for the path", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labelPrefix", + "description": "Some paths may have a prefix. For instance, schema properties will have the name of the schema.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "The exact path that should be provided to mutation inputs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersion", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The schema property type", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OrderingPath", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "SchemaProperty", + "description": "A property on a `SchemaInstance`.\n", + "fields": [ + { + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AssetProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetsProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BooleanProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorsProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabulariesProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DateProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EmailProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntitiesProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FloatProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FullTextProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GroupProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "IntegerProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarkdownProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MultiselectProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SelectProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StringProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TagsProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TimestampProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "URLProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UnknownProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VariableDateProperty", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "description": "Schema properties can serve various functions. This helps communicate the purpose of them, for building UIs, and general introspection.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONTENT", + "description": "This property acts as data inherently representative of the entity. Full text of an article, titling, and other such purposes.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METADATA", + "description": "This property is intended to offer further information about the content, but not necessarily the content itself.\nMost metadata should be things that are filterable or searchable to help users find and learn more about related\ncontent.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENTATION", + "description": "This property is used for presenting information *about* the content, or how it should be formatted, but is less reflective\nof the content itself. An option for changing a specific render style, an additional image to display, etc.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SORTING", + "description": "This property is only used when ordering this entity by ancestors. It should not generally be visible in the frontend, but\nremain editable by admins to adjust ordering.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSPECIFIED", + "description": "This property's purpose remains unspecified and is likely the mark of a schema still in development. It should not generally\nbe in a finished schema, as it is important to help communicate the intent of a property for those building a UI.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SchemaPropertyKind", + "description": "The _kind_ of a data type for a schema property. Mostly informational\nin the API, this value represents the underlying structure of the data type.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMPLEX", + "description": "A complex data type that is composed of multiple subproperties\nor requires other processing. Their values cannot be easily\nmapped to GraphQL / JavaScript primitives.\n\nSee `VariableDateProperty`, `FullTextProperty` for examples.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GROUP", + "description": "A composite of other properties. See `GroupProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFERENCE", + "description": "A reference (or references) to other models in the system.\n\nSee `AssetProperty`, `ContributorsProperty` for examples\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SIMPLE", + "description": "The most common type of property, and what most values are likely to be. Strings,\nintegers, floats, booleans, and so on.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SchemaPropertyPath", + "description": "A path to a schema property (it will always be a string primitive).\n\nIt can come in the form of a `\"single_property\"` or a `\"nested.property\"`.\n\nThis scalar is only used to assert the _format_, it does not\nvalidate that it is an existing schema property.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SchemaPropertyType", + "description": "The data type for a schema property.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ASSET", + "description": "A reference to a single asset owned by the schema instance. See `AssetProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ASSETS", + "description": "A reference to multiple assets owned by the schema instance. See `AssetsProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BOOLEAN", + "description": "True or false, yes or no, a checkbox. See `BooleanProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTRIBUTOR", + "description": "A reference to a single contributor in the system. See `ContributorProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTRIBUTORS", + "description": "A reference to multiple contributors in the system. See `ContributorsProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTROLLED_VOCABULARIES", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTROLLED_VOCABULARY", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DATE", + "description": "An ISO8601-formatted date. See `DateProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMAIL", + "description": "An email address. See `EmailProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENTITIES", + "description": "A reference to multiple entities. See `EntitiesProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENTITY", + "description": "A reference to a single entity. See `EntityProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FLOAT", + "description": "A decimal / floating-point number. See `FloatProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULL_TEXT", + "description": "A complex type representing textual content. See `FullTextProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GROUP", + "description": "A type composed of other properties. See `GroupProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTEGER", + "description": "A whole number. See `IntegerProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKDOWN", + "description": "Markdown-formatted text. See `MarkdownProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MULTISELECT", + "description": "A dropdown that supports selecting multiple values. See `MultiselectProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELECT", + "description": "A dropdown that can select only one value. See `SelectProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRING", + "description": "Simple text values. See `StringProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAGS", + "description": "An array of tags that can be introspected. See `TagsProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIMESTAMP", + "description": "An ISO8601-formatted timestamp. See `TimestampProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "A fallback type for invalid schemas. See `UnknownProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "URL", + "description": "A complex type representing a URL, with metadata. See `URLProperty`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIABLE_DATE", + "description": "A complex type representing a date that cannot be expressed exactly. See `VariableDateProperty`", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaRenderDefinition", + "description": "Configuration for controlling how instances of a schema render outside of orderings.\n", + "fields": [ + { + "name": "listMode", + "description": "How to render a list", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaRenderListMode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SchemaRenderListMode", + "description": "How instances that implement a certain schema should be rendered outside of an ordering,\nwhen rendering only entities for the same type of schema.\n\nThis value is currently only intended to be used by the frontend. It enforces no special\nhandling within the API itself, unlike an `OrderingRenderModeType`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GRID", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TABLE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TREE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaValueError", + "description": "An error that stems from trying to apply an invalid schema value.", + "fields": [ + { + "name": "base", + "description": "An error with the entire set of values", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Not presently used: see globalErrors" + }, + { + "name": "hint", + "description": "Whether this is a hint", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "A human-readable description of the error", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Additional metadata attached to the error", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Which input value this error came from", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersion", + "description": "A specific version of a `SchemaDefinition`.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "declaration", + "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcedChildDeclarations", + "description": "Declarations / slugs for `enforcedChildVersions`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcedChildKinds", + "description": "A list of entity kinds that make acceptable children for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildEntityKind", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcedChildVersions", + "description": "The versions that this schema accepts as a child.\n\nIf there are no schemas, then this schema does not enforce its children.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcedParentDeclarations", + "description": "Declarations / slugs for `enforcedParentVersions`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcedParentKinds", + "description": "A list of entity kinds that make acceptable parents for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaKind", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcedParentVersions", + "description": "The versions that are allowed to parent this schema.\n\nIf there are no schemas, then this schema does not enforce its parentage.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcesChildren", + "description": "A boolean for the logic on `enforcedChildVersions`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcesParent", + "description": "A boolean for the logic on `enforcedParentVersions`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifier", + "description": "A unique (per-namespace) value that names the schema within the system.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The kind of entity this schema applies to.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A human-readable name for the schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "A unique namespace the schema lives in.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "number", + "description": "A semantic version for the schema\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "render", + "description": "Configuration for rendering schema instances outside of orderings.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaRenderDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaDefinition", + "description": "The shared schema definition for all versions of this namespace and identifier.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaProperties", + "description": "A list of schema properties associated with this instance or version.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "Search from this level of the API using it as the origin", + "args": [ + { + "name": "maxDepth", + "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", + "type": { + "kind": "ENUM", + "name": "EntityVisibilityFilter", + "ofType": null + }, + "defaultValue": "VISIBLE", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchScope", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchableProperties", + "description": "A subset of properties that can be searched for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SearchableProperty", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submittableVersions", + "description": "The versions that are allowed to be submitted to this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "DescribesSchema", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasSchemaProperties", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Searchable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersionConnection", + "description": "The connection type for SchemaVersion.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersionOption", + "description": null, + "fields": [ + { + "name": "identifier", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "The label to display in a select box", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaDefinition", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersion", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value to use in a select box", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SchemaVersionOrder", + "description": "Order schema versions by various factors", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LATEST", + "description": "Order with newest versions at the top", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OLDEST", + "description": "Order with oldest versions at the top", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SearchOperator", + "description": "These operators serve as keys for `SearchPredicateInput`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "and", + "description": "See `AndOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dateEquals", + "description": "See `DateEqualsOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dateGTE", + "description": "See `DateGTEOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dateLTE", + "description": "See `DateLTEOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "equals", + "description": "See `EqualsOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inAny", + "description": "See `InAnyOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "matches", + "description": "See `MatchesOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numericGTE", + "description": "See `NumericGTEOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numericLTE", + "description": "See `NumericLTEOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "or", + "description": "See `OrOperatorInput`", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SearchOriginType", + "description": "The type of origin for this search scope.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ENTITY", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GLOBAL", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERING", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SearchPredicateInput", + "description": "A predicate clause for searching entities.\n\nEach key corresponds to a `SearchOperator`, and multiple keys combined\nin the same predicate will be implicitly `AND`ed together.\n", + "fields": null, + "inputFields": [ + { + "name": "and", + "description": "See `AndOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "AndOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dateEquals", + "description": "See `DateEqualsOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateEqualsOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dateGTE", + "description": "See `DateGTEOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateGTEOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dateLTE", + "description": "See `DateLTEOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "DateLTEOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "equals", + "description": "See `EqualsOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "EqualsOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inAny", + "description": "See `InAnyOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "InAnyOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "matches", + "description": "See `MatchesOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "MatchesOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numericGTE", + "description": "See `NumericGTEOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "NumericGTEOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numericLTE", + "description": "See `NumericLTEOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "NumericLTEOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "or", + "description": "See `OrOperatorInput`", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrOperatorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SearchResult", + "description": "An entity that's the result of a search.\n", + "fields": [ + { + "name": "entity", + "description": "A reference to the actual entity returned by the search query.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The encoded ID that will point to the entity itself, not a special ID for the search result record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The kind of entity returned by the search results.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntityKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemaVersion", + "description": "The schema version of the returned entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The slug for the entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title for the entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SearchResultConnection", + "description": "The connection type for SearchResult.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchResultEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchResult", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SearchResultEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SearchScope", + "description": null, + "fields": [ + { + "name": "availableSchemaVersions", + "description": "The available schema versions underneath this search scope.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coreProperties", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchableCoreProperty", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originType", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchOriginType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "results", + "description": "The results of a search.\n\nYou must specify one of the following options in order to activate a search:\n\n* `predicates`\n* `prefix`\n* `query`\n* `schema`\n\nIf _none_ of these are set, the search will be considered empty, and return 0 results.\n", + "args": [ + { + "name": "access", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityPermissionFilter", + "ofType": null + }, + "defaultValue": "SKIP", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityOrder", + "ofType": null + }, + "defaultValue": "PUBLISHED_DESCENDING", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "predicates", + "description": "The predicates to search for, if any.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SearchPredicateInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "Search for entities with titles that start with the provided text (case-insensitive).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "Search all text associated with individual entities.\n\nBasic quoting and similar features are supported. See\n[websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for\nmore information.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schema", + "description": "Filter by a namespace.name schema identifier", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scope", + "description": null, + "type": { + "kind": "ENUM", + "name": "EntityDescendantScopeFilter", + "ofType": null + }, + "defaultValue": "ALL", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchResultConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntityVisibilityFilter", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Searchable", + "description": null, + "fields": [ + { + "name": "search", + "description": "Search from this level of the API using it as the origin", + "args": [ + { + "name": "maxDepth", + "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", + "type": { + "kind": "ENUM", + "name": "EntityVisibilityFilter", + "ofType": null + }, + "defaultValue": "VISIBLE", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchScope", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Query", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SearchableCoreProperty", + "description": null, + "fields": [ + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchOperators", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchOperator", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchPath", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SearchableProperty", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "SearchableProperty", + "description": "An interface for properties that can be searched.\n", + "fields": [ + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchOperators", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchOperator", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchPath", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "BooleanProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DateProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FloatProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FullTextProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "IntegerProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarkdownProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MultiselectProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SearchableCoreProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SelectProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StringProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TimestampProperty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VariableDateProperty", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SelectOption", + "description": "An option for a select-type property.", + "fields": [ + { + "name": "label", + "description": "The display label for the option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The underlying value for the option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SelectProperty", + "description": null, + "fields": [ + { + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultSelection", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "The list of predefined options available for this property.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SelectOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchOperators", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchOperator", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchPath", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selection", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OptionableProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SearchableProperty", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SelectionSourceMode", + "description": "An enumerated value associated with the templating subsystem.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ANCESTOR", + "description": "Selections should inherit from a named ancestor of this entity.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARENT", + "description": "Selections should inherit from the hierarchical parent of this entity.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELF", + "description": "Selections should inherit from the exact entity in question\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SettingsPermissionGrid", + "description": "Permissions related to managing global configuration settings in Meru.\n", + "fields": [ + { + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "update", + "description": "Whether the user can update global configuration settings in Meru.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "PermissionGrid", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SiblingKind", + "description": "The directionality of a sibling relationship, relative to a specific record (referred to as the 'source').\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NEXT", + "description": "This sibling comes after the source record.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREV", + "description": "This sibling comes before the source record.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SimpleOrder", + "description": "A generic enum for sorting models that don't have anything more specific implemented.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OLDEST", + "description": "Sort models by oldest created date.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECENT", + "description": "Sort models by newest created date.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SiteFooter", + "description": "A value for updating the site's configuration.\n", + "fields": [ + { + "name": "copyrightStatement", + "description": "A copyright statement that lives in the site's footer.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A description that lives in the site's footer.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SiteFooterInput", + "description": "A value for updating the site's configuration.\n", + "fields": null, + "inputFields": [ + { + "name": "copyrightStatement", + "description": "A copyright statement that lives in the site's footer.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A description that lives in the site's footer.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SiteLogoAttachment", + "description": "An interface for accessing derivatives of the site logo (if present).", + "fields": [ + { + "name": "alt", + "description": "Alt text for accessible images", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Configurable metadata for the image.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ImageMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "original", + "description": "The original source for the image", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageOriginal", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalFilename", + "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purpose", + "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImagePurpose", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sansText", + "description": "A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageSize", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storage", + "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "AttachmentStorage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "withText", + "description": "A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageSize", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasAttachmentStorage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ImageIdentification", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SiteLogoMode", + "description": "An option that determines how the site logo should be rendered", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "The site logo is unavailable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SANS_TEXT", + "description": "The site logo should be displayed with the site title _hidden_.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WITH_TEXT", + "description": "The site logo should be displayed with the site title _visible_.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SiteSettings", + "description": "Configuration settings for information about this installation.\n", + "fields": [ + { + "name": "footer", + "description": "Settings related to the site's footer.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SiteFooter", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "installationHomePageCopy", + "description": "The text that appears on the root page of the frontend. Supports basic markdown.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "installationName", + "description": "The name of the installation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "logoMode", + "description": "How the logo should be rendered.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SiteLogoMode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "providerName", + "description": "The name of the provider supporting and maintaining this installation.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SiteSettingsInput", + "description": "A value for updating the site's configuration.\n", + "fields": null, + "inputFields": [ + { + "name": "footer", + "description": "Settings for the site's footer.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SiteFooterInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "installationHomePageCopy", + "description": "The text that appears on the root page of the frontend. Supports basic markdown.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "installationName", + "description": "The name of the installation.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "logoMode", + "description": "How the logo should be rendered.\n", + "type": { + "kind": "ENUM", + "name": "SiteLogoMode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "providerName", + "description": "The name of the provider supporting and maintaining this installation.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Slug", + "description": "A slug that can identify a record in context.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs.\n", + "fields": [ + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Announcement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetAudio", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetDocument", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetImage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetPDF", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetUnknown", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AssetVideo", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BlurbTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BlurbTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionContribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Community", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContextualPermission", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributionRoleConfiguration", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorCollectionAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorItemAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabulary", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularySource", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequestTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DescendantListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DescendantListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DetailTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DetailTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityLink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttempt", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptEntityStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptRecordStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestEntity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMessage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMapping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestRecord", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSet", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSource", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HeroTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Item", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemAttribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ItemContribution", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ListItemTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MainLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetadataTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Ordering", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingEntry", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderingTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrganizationContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageListTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Permalink", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PersonContributor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Role", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SchemaVersion", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SearchResult", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionDepositTarget", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublicationTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReviewTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTransition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryLayoutInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SupplementaryTemplateInstance", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TemplateInstanceSibling", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCollectionAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCommunityAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserGroupItemAccessGrant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserItemAccessGrant", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "description": "Most mutations implement this interface in their payload in order to offer a standardize response value", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AlterSchemaVersionPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ApplySchemaPropertiesPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorClaimPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorMergePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorUserLinkDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContributorUserLinkUpsertPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularySourceUpdatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ControlledVocabularyUpsertPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateAnnouncementPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateAssetPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateCollectionPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateCommunityPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateItemPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateOrderingPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateOrganizationContributorPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreatePagePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreatePersonContributorPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateRolePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementAcceptPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementResetAllPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorAgreementResetPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequestChangeStatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DepositorRequestCreatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyAnnouncementPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyAssetPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyCollectionPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyCommunityPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyContributionPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyContributorPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyEntityLinkPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyItemPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyOrderingPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DestroyPagePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EntityPurgePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FrontendCacheRevalidateEntityPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FrontendCacheRevalidateInstancePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GrantAccessPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptFromMappingPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptFromSourcePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestAttemptPruneEntitiesPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMappingCreatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMappingDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMappingUpdatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMappingCreatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestMetadataMappingDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourceCreatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourceDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourcePruneEntitiesPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HarvestSourceUpdatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LinkEntityPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PermalinkCreatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PermalinkDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PermalinkUpdatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PreviewSlotPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RenderLayoutsPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReparentEntityPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ResetOrderingPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RevokeAccessPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublishPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionChangeStatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionCommentCreatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionCommentDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionCommentUpdatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionCreatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionLeaveReviewPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublishPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionRequestReviewPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetClosePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetConfigurePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetOpenPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerCreatePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerDestroyPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateAnnouncementPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateAssetAttachmentPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateAssetPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateCollectionPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateCommunityPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateContributionPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateGlobalConfigurationPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateItemPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateOrderingPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateOrganizationContributorPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdatePagePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdatePersonContributorPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateRolePayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateUserPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateViewerSettingsPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpsertContributionPayload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserResetPasswordPayload", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "StaticOrderingPath", + "description": "This property is static and is always available on an\nentity, irrespective of its schema.\n", + "fields": [ + { + "name": "description", + "description": "A helpful description of the path", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grouping", + "description": "A logical grouping for ordering paths", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ControlledVocabularySourceConnection", + "kind": "ENUM", + "name": "OrderingPathGrouping", "ofType": null } }, @@ -74196,15 +101526,15 @@ "deprecationReason": null }, { - "name": "globalConfiguration", - "description": "Fetch the global configuration for this installation", + "name": "label", + "description": "A human-readable label for the path", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "GlobalConfiguration", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -74212,141 +101542,27 @@ "deprecationReason": null }, { - "name": "harvestAttempt", - "description": "Retrieve a single `HarvestAttempt` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "labelPrefix", + "description": "Some paths may have a prefix. For instance, schema properties will have the name of the schema.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestAttempt", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestAttempts", - "description": "Query all harvest attempts in the system.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestAttemptOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "path", + "description": "The exact path that should be provided to mutation inputs.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestAttemptConnection", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -74354,202 +101570,170 @@ "deprecationReason": null }, { - "name": "harvestExamples", - "description": "Retrieve harvest examples for the system.\n", - "args": [ - { - "name": "generic", - "description": "Whether to look for \"generic\" harvesting examples which are not associated\nwith any protocol or metadata.\n", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "metadataFormat", - "description": "The metadata format to filter by.\n", - "type": { - "kind": "ENUM", - "name": "HarvestMetadataFormat", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "protocol", - "description": "The protocol to filter by.\n", - "type": { - "kind": "ENUM", - "name": "HarvestProtocol", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "type", + "description": "The schema property type", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OrderingPath", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "String", + "description": "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.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StringProperty", + "description": null, + "fields": [ + { + "name": "array", + "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestExample", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMapping", - "description": "Retrieve a single `HarvestMapping` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "content", + "description": null, + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestMapping", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestMappings", - "description": "Query all harvest mappings in the system.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestMappingOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "default", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "function", + "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isWide", + "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMappingConnection", + "kind": "ENUM", + "name": "SchemaPropertyKind", "ofType": null } }, @@ -74557,132 +101741,15 @@ "deprecationReason": null }, { - "name": "harvestMessages", + "name": "label", "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "filters", - "description": "Filters that **must** match.\n", - "type": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - }, - "defaultValue": "null", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "orFilters", - "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "HarvestMessageFilterInput", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestMessageConnection", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -74690,141 +101757,47 @@ "deprecationReason": null }, { - "name": "harvestRecord", - "description": "Retrieve a single `HarvestRecord` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "orderable", + "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestRecord", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestRecords", - "description": "Query all harvest records in the system.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestRecordOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "path", + "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "required", + "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "HarvestRecordConnection", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -74832,518 +101805,338 @@ "deprecationReason": null }, { - "name": "harvestSet", - "description": "Retrieve a single `HarvestSet` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { + "name": "searchOperators", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "ENUM", + "name": "SearchOperator", "ofType": null } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + } } - ], - "type": { - "kind": "OBJECT", - "name": "HarvestSet", - "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSource", - "description": "Retrieve a single `HarvestSource` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "searchPath", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "harvestSources", - "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "HarvestSourceOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "type", + "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SchemaPropertyType", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ScalarProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SchemaProperty", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SearchableProperty", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Submission", + "description": "A submission against a `SubmissionTarget`, representing a single attempt\nto deposit an entity into the system.\n", + "fields": [ + { + "name": "agreementAcceptedAt", + "description": "The timestamp of when the submitter accepted the agreement for this submission, if applicable.\n", + "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "HarvestSourceConnection", - "ofType": null - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "item", - "description": "Look up an item by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { + "name": "availableTransitions", + "description": "The state transitions that are available for this submission,\nbased on its current state and the permissions of the current user.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "SubmissionStatus", "ofType": null } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + } } - ], - "type": { - "kind": "OBJECT", - "name": "Item", - "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "itemContribution", - "description": "Look up an item contribution by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "canAlterSchemaVersion", + "description": "Whether or not the current user can alter the schema version of this submission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canComment", + "description": "Whether or not the current user can comment on this submission.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "ItemContribution", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "node", - "description": "Fetches an object given its ID.", - "args": [ - { - "name": "id", - "description": "ID of the object.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canMigrate", + "description": "Whether or not the current user can migrate this submission.\n", + "args": [], "type": { - "kind": "INTERFACE", - "name": "Node", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "Fetches a list of objects given a list of IDs.", - "args": [ - { - "name": "ids", - "description": "IDs of the objects.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "canPublish", + "description": "Whether or not the current user can publish this submission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canRequestReview", + "description": "Whether or not the current user can request a review of this submission.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "orderingPaths", - "description": "A list of ordering paths for creating and updating orderings.", - "args": [ - { - "name": "schemas", - "description": "If passed, this will restrict the property fields returned to the selected schemas.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderingSchemaFilterInput", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "canReview", + "description": "Whether or not the current user can review this submission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "OrderingPath", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalink", - "description": "Retrieve a single `Permalink` by slug.\n", - "args": [ - { - "name": "slug", - "description": "The slug to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], "type": { - "kind": "OBJECT", - "name": "Permalink", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinkByUri", - "description": "Retrieve a single `Permalink` by its URI.\n", - "args": [ - { - "name": "uri", - "description": "The URI to look up.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "currentStatus", + "description": "The current status of the submission, similar to `state` but with metadata about mutability and locking.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionStatus", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entity", + "description": "The actual entity record that will be published as part of this submission.\n\nThe actual edits and content for the entity happen on it.\n", + "args": [], "type": { - "kind": "OBJECT", - "name": "Permalink", + "kind": "INTERFACE", + "name": "Entity", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "permalinks", + "name": "id", "description": null, - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "PermalinkOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PermalinkConnection", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -75351,114 +102144,52 @@ "deprecationReason": null }, { - "name": "roles", - "description": "List all roles.\n", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "RoleOrder", - "ofType": null - }, - "defaultValue": "DEFAULT", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "RoleConnection", + "kind": "SCALAR", + "name": "Slug", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "schemaDefinition", - "description": "Look up a schema definition by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + }, + { + "name": "state", + "description": "The current state of the submission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionState", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTarget", + "description": "The {SubmissionTarget} against which this submission is being made.\n\nIt can be null if the submission gets moved away later after publication.\n", + "args": [], "type": { "kind": "OBJECT", - "name": "SchemaDefinition", + "name": "SubmissionTarget", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaDefinitions", - "description": "List all schema definitions", + "name": "transitions", + "description": "The state transitions that this submission has undergone.\n", "args": [ { "name": "after", @@ -75508,30 +102239,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "namespace", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SimpleOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, { "name": "page", "description": "The page of edges/nodes to fetch", @@ -75574,7 +102281,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaDefinitionConnection", + "name": "SubmissionTransitionConnection", "ofType": null } }, @@ -75582,63 +102289,174 @@ "deprecationReason": null }, { - "name": "schemaVersion", - "description": "Look up a schema version by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], "type": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaVersionOptions", - "description": "List all options for schema versions", - "args": [ - { - "name": "kind", - "description": null, - "type": { - "kind": "ENUM", - "name": "SchemaKind", - "ofType": null - }, - "defaultValue": "ITEM", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "namespace", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "user", + "description": "The user that created this submission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null } - ], + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublication", + "description": "The record of a batch publication of one or more submissions within a submission target.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publications", + "description": "The list of submissions included in this batch publication.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -75650,7 +102468,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaVersionOption", + "name": "SubmissionPublication", "ofType": null } } @@ -75660,8 +102478,72 @@ "deprecationReason": null }, { - "name": "schemaVersions", - "description": "List all schema versions", + "name": "publicationsCount", + "description": "The total number of submissions included in this batch publication.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "The current state of the batch publication process.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionBatchPublicationState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTarget", + "description": "The submission target that the included submissions belong to.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transitions", + "description": "The transitions that the batch publication process has gone through.\n", "args": [ { "name": "after", @@ -75711,30 +102593,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "namespace", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "SchemaVersionOrder", - "ofType": null - }, - "defaultValue": "LATEST", - "isDeprecated": false, - "deprecationReason": null - }, { "name": "page", "description": "The page of edges/nodes to fetch", @@ -75777,7 +102635,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaVersionConnection", + "name": "SubmissionBatchPublicationTransitionConnection", "ofType": null } }, @@ -75785,40 +102643,15 @@ "deprecationReason": null }, { - "name": "search", - "description": "Search from this level of the API using it as the origin", - "args": [ - { - "name": "maxDepth", - "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibility", - "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", - "type": { - "kind": "ENUM", - "name": "EntityVisibilityFilter", - "ofType": null - }, - "defaultValue": "VISIBLE", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SearchScope", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -75826,15 +102659,15 @@ "deprecationReason": null }, { - "name": "systemInfo", - "description": "A helper field that is used to look up various details about the WDP-API ecosystem.", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SystemInfo", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -75843,25 +102676,8 @@ }, { "name": "user", - "description": "Look up a user by slug", - "args": [ - { - "name": "slug", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "description": "The user that initiated the batch publication, if applicable.\n", + "args": [], "type": { "kind": "OBJECT", "name": "User", @@ -75869,126 +102685,83 @@ }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "users", - "description": "A list of all users in the system", - "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserOrder", - "ofType": null - }, - "defaultValue": "RECENT", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "The page of edges/nodes to fetch", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageDirection", - "description": "The direction in which pages advance (to traverse pages backwards)", - "type": { - "kind": "ENUM", - "name": "PageDirection", - "ofType": null - }, - "defaultValue": "FORWARDS", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "perPage", - "description": "The amount of edges / nodes to fetch per page", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "prefix", - "description": "Search for users with given OR family names that start with the provided text.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubmissionBatchPublicationState", + "description": "The state of a batch of submission publications.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BATCHED", + "description": "The batch of submissions has been batched for publication and will be processed in the background.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FINISHED", + "description": "The batch of submissions has finished.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The batch of submissions is pending publication.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransition", + "description": "A transition for a `SubmissionBatchPublication`.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "UserConnection", + "name": "AuthorizationResult", "ofType": null } }, @@ -75996,107 +102769,204 @@ "deprecationReason": null }, { - "name": "viewer", - "description": "The currently authenticated user. AKA: you\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "User", + "name": "AuthorizationResult", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "QueriesAccessAndRoles", - "ofType": null }, { - "kind": "INTERFACE", - "name": "QueriesContrib", - "ofType": null + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "QueriesControlledVocabulary", - "ofType": null + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "QueriesControlledVocabularySource", - "ofType": null + "name": "fromState", + "description": "The state that the submission batch publication is transitioning from. This will be null if the submission target is being created.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubmissionBatchPublicationState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "QueriesEntities", - "ofType": null + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "QueriesHarvestAttempt", - "ofType": null + "name": "mostRecent", + "description": "Whether this is the most recent transition.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "QueriesHarvestExample", - "ofType": null + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "QueriesHarvestMapping", - "ofType": null + "name": "toState", + "description": "The state that the submission batch publication is transitioning to.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionBatchPublicationState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "QueriesHarvestMessage", - "ofType": null + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "QueriesHarvestRecord", - "ofType": null + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "INTERFACE", - "name": "QueriesHarvestSet", - "ofType": null - }, + "name": "user", + "description": "The user who performed the transition, if available.\n\nSome transitions may happen through automated processes, so the user will not always be set.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ { "kind": "INTERFACE", - "name": "QueriesHarvestSource", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "QueriesPermalink", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "QueriesSchemas", + "name": "CommonTransition", "ofType": null }, { "kind": "INTERFACE", - "name": "QueriesSystem", + "name": "HasDefaultTimestamps", "ofType": null }, { "kind": "INTERFACE", - "name": "QueriesUser", + "name": "Node", "ofType": null }, { "kind": "INTERFACE", - "name": "Searchable", + "name": "Sluggable", "ofType": null } ], @@ -76104,81 +102974,101 @@ "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "ReferencesEntityVisibility", - "description": "An entity which can be limited in its visibility, based on some configured attributes.\n", + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransitionConnection", + "description": "The connection type for SubmissionBatchPublicationTransition.", "fields": [ { - "name": "currentlyHidden", - "description": "Whether the entity is _currently_ hidden, based on the server's time zone.\n", + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransitionEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "currentlyVisible", - "description": "Whether the entity is _currently_ visible, based on the server's time zone.\n", + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransition", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "hidden", - "description": "Whether the entity's visibility is set to `HIDDEN`\n", + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "hiddenAsOf", - "description": "Specify a time to check to see if the entity will be hidden.\n", - "args": [ - { - "name": "time", - "description": "If no value is provided, it will default to the current time.\n", - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransitionEdge", + "description": "An edge in a connection for `SubmissionBatchPublicationTransition`.\n", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -76186,161 +103076,231 @@ "deprecationReason": null }, { - "name": "hiddenAt", - "description": "If present, this is the timestamp the entity was hidden at", + "name": "node", + "description": "The item at the end of the edge.", "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionBatchPublicationTransition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionBatchPublishInput", + "description": "Autogenerated input type of SubmissionBatchPublish", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibility", - "description": "If an entity is available in the frontend", - "args": [], + "name": "submissionIds", + "description": "The IDs of the submissions to publish.", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityVisibility", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "visible", - "description": "Whether the entity's visibility is set to `VISIBLE`.\n", - "args": [], + "name": "submissionTargetId", + "description": "The ID of the submission target that the submissions belong to.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionBatchPublishPayload", + "description": "Autogenerated return type of SubmissionBatchPublish.", + "fields": [ + { + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibleAfterAt", - "description": "If present, this is the timestamp an entity is visible after", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibleAsOf", - "description": "Specify a time to check to see if the entity will be visible.\n", - "args": [ - { - "name": "time", - "description": "If no value is provided, it will default to the current time.\n", - "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } - ], + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" + }, + { + "name": "globalErrors", + "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "visibleUntilAt", - "description": "If present, this is the timestamp an entity is visible until", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null }, { - "kind": "OBJECT", - "name": "Item", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "ReferencesGlobalEntityDates", - "description": "An interface for retrieving certain shared, common variable-precision dates\nthat are associated with events in the publication, collection, and release\nof an entity.\n", - "fields": [ + "name": "submissionBatchPublication", + "description": "The submission batch publication that was created to track this process.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionBatchPublication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { - "name": "published", - "description": "The date this entity was published", + "name": "submissionTarget", + "description": "The submission target that the submissions belong to.", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VariablePrecisionDate", - "ofType": null - } + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, + "interfaces": [ { - "kind": "OBJECT", - "name": "Item", + "kind": "INTERFACE", + "name": "StandardMutationPayload", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { "kind": "INPUT_OBJECT", - "name": "RenderLayoutsInput", - "description": "Autogenerated input type of RenderLayouts", + "name": "SubmissionChangeStateInput", + "description": "Autogenerated input type of SubmissionChangeState", "fields": null, "inputFields": [ { @@ -76356,14 +103316,30 @@ "deprecationReason": null }, { - "name": "entityId", - "description": "The entity to render layouts on.\n", + "name": "submissionId", + "description": "The ID of the {Submission} to update.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toState", + "description": "The state to which the submission should be transitioned.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "ENUM", + "name": "SubmissionState", "ofType": null } }, @@ -76378,8 +103354,8 @@ }, { "kind": "OBJECT", - "name": "RenderLayoutsPayload", - "description": "Autogenerated return type of RenderLayouts.", + "name": "SubmissionChangeStatePayload", + "description": "Autogenerated return type of SubmissionChangeState.", "fields": [ { "name": "attributeErrors", @@ -76417,18 +103393,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "entity", - "description": "The newly-rendered entity with its updated layouts, if successful.\n", - "args": [], - "type": { - "kind": "UNION", - "name": "AnyEntity", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "errors", "description": null, @@ -76488,6 +103452,18 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "submission", + "description": "The modified submission, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -76502,141 +103478,321 @@ "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "Renderable", - "description": "An interface describing an instance type that can be rendered for a given entity.\n", + "kind": "OBJECT", + "name": "SubmissionComment", + "description": "A comment on a `Submission`.\n", "fields": [ { - "name": "lastRenderedAt", - "description": "The time this object was last rendered.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "BlurbTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorListTemplateInstance", - "ofType": null }, { - "kind": "OBJECT", - "name": "DescendantListTemplateInstance", - "ofType": null + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "DetailTemplateInstance", - "ofType": null + "name": "content", + "description": "The content of the comment.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HeroLayoutInstance", - "ofType": null + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HeroTemplateInstance", - "ofType": null + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "LinkListTemplateInstance", - "ofType": null + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "ListItemLayoutInstance", - "ofType": null + "name": "role", + "description": "The role of the comment, quickly delineating if it was from the submitter or a reviewer.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionCommentRole", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "ListItemTemplateInstance", - "ofType": null + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "MainLayoutInstance", - "ofType": null + "name": "submission", + "description": "The submission that this comment is on.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "MetadataLayoutInstance", - "ofType": null + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "MetadataTemplateInstance", - "ofType": null + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "NavigationLayoutInstance", - "ofType": null - }, + "name": "user", + "description": "The user that made this comment.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ { - "kind": "OBJECT", - "name": "NavigationTemplateInstance", + "kind": "INTERFACE", + "name": "CommonModel", "ofType": null }, { - "kind": "OBJECT", - "name": "OrderingTemplateInstance", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "PageListTemplateInstance", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null }, { - "kind": "OBJECT", - "name": "SupplementaryLayoutInstance", + "kind": "INTERFACE", + "name": "Node", "ofType": null }, { - "kind": "OBJECT", - "name": "SupplementaryTemplateInstance", + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "ReparentEntityInput", - "description": "Autogenerated input type of ReparentEntity", - "fields": null, - "inputFields": [ + "kind": "OBJECT", + "name": "SubmissionCommentConnection", + "description": "The connection type for SubmissionComment.", + "fields": [ { - "name": "childId", - "description": "The collection in need of a new parent\n", + "name": "edges", + "description": "A list of edges.", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionCommentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null + } + } } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionCommentCreateInput", + "description": "Autogenerated input type of SubmissionCommentCreate", + "fields": null, + "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", @@ -76650,8 +103806,24 @@ "deprecationReason": null }, { - "name": "parentId", - "description": "The ID for the new parent entity. For children of the collection type, this\nmust be a community or another collection. For children of the item type,\nthis must be a collection or another item.\n", + "name": "content", + "description": "The content of the comment.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionId", + "description": "The ID of the `Submission` to which the comment will be attached.\n", "type": { "kind": "NON_NULL", "name": null, @@ -76672,8 +103844,8 @@ }, { "kind": "OBJECT", - "name": "ReparentEntityPayload", - "description": "Autogenerated return type of ReparentEntity.", + "name": "SubmissionCommentCreatePayload", + "description": "Autogenerated return type of SubmissionCommentCreate.", "fields": [ { "name": "attributeErrors", @@ -76699,18 +103871,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "child", - "description": "If the child was successfully reparented, this field will be populated", - "args": [], - "type": { - "kind": "UNION", - "name": "AnyChildEntity", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", @@ -76782,6 +103942,18 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "submissionComment", + "description": "The newly-modified submission comment, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -76797,8 +103969,8 @@ }, { "kind": "INPUT_OBJECT", - "name": "ResetOrderingInput", - "description": "Autogenerated input type of ResetOrdering", + "name": "SubmissionCommentDestroyInput", + "description": "Autogenerated input type of SubmissionCommentDestroy", "fields": null, "inputFields": [ { @@ -76814,8 +103986,8 @@ "deprecationReason": null }, { - "name": "orderingId", - "description": null, + "name": "submissionCommentId", + "description": "The submission comment to destroy.\n", "type": { "kind": "NON_NULL", "name": null, @@ -76836,8 +104008,8 @@ }, { "kind": "OBJECT", - "name": "ResetOrderingPayload", - "description": "Autogenerated return type of ResetOrdering.", + "name": "SubmissionCommentDestroyPayload", + "description": "Autogenerated return type of SubmissionCommentDestroy.", "fields": [ { "name": "attributeErrors", @@ -76875,6 +104047,30 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "errors", "description": null, @@ -76924,45 +104120,168 @@ "deprecationReason": null }, { - "name": "haltCode", - "description": "Not presently used", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DestroyMutationPayload", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionCommentEdge", + "description": "An edge in a connection for `SubmissionComment`.\n", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionComment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionCommentFilterInput", + "description": "Filtering options for `SubmissionComment` records.\n", + "fields": null, + "inputFields": [ + { + "name": "createdAt", + "description": "Filter the model's `created_at` with time constraints.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Filter the model's `updated_at` with time constraints.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubmissionCommentOrder", + "description": "Sort a collection of `SubmissionComment` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort submission comments by their default order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OLDEST", + "description": "Sort submission comments by oldest created date.", "isDeprecated": false, "deprecationReason": null }, { - "name": "ordering", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null - }, + "name": "RECENT", + "description": "Sort submission comments by newest created date.", "isDeprecated": false, "deprecationReason": null } ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubmissionCommentRole", + "description": "The role of a commenter on a `SubmissionComment`.\n", + "fields": null, "inputFields": null, - "interfaces": [ + "interfaces": null, + "enumValues": [ { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "ofType": null + "name": "REVIEWER", + "description": "This comment is from a reviewer, manager, admin, or other user with privileges.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBMITTER", + "description": "This comment is from the submitter.\n", + "isDeprecated": false, + "deprecationReason": null } ], - "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", - "name": "RevokeAccessInput", - "description": "Autogenerated input type of RevokeAccess", + "name": "SubmissionCommentUpdateInput", + "description": "Autogenerated input type of SubmissionCommentUpdate", "fields": null, "inputFields": [ { @@ -76978,30 +104297,14 @@ "deprecationReason": null }, { - "name": "entityId", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "roleId", - "description": null, + "name": "content", + "description": "The content of the comment.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, @@ -77010,8 +104313,8 @@ "deprecationReason": null }, { - "name": "userId", - "description": null, + "name": "submissionCommentId", + "description": "The submission comment to update.\n", "type": { "kind": "NON_NULL", "name": null, @@ -77032,8 +104335,8 @@ }, { "kind": "OBJECT", - "name": "RevokeAccessPayload", - "description": "Autogenerated return type of RevokeAccess.", + "name": "SubmissionCommentUpdatePayload", + "description": "Autogenerated return type of SubmissionCommentUpdate.", "fields": [ { "name": "attributeErrors", @@ -77071,18 +104374,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "entity", - "description": null, - "args": [], - "type": { - "kind": "UNION", - "name": "AnyEntity", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "errors", "description": null, @@ -77144,12 +104435,12 @@ "deprecationReason": null }, { - "name": "revoked", - "description": "Whether or not access was revoked", + "name": "submissionComment", + "description": "The newly-modified submission comment, if successful.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "SubmissionComment", "ofType": null }, "isDeprecated": false, @@ -77169,28 +104460,36 @@ }, { "kind": "OBJECT", - "name": "Role", - "description": "A named role in the WDP API", + "name": "SubmissionConnection", + "description": "The connection type for Submission.", "fields": [ { - "name": "accessControlList", - "description": "The access control list for this specific role", + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "AccessControlList", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "allowedActions", - "description": "A list of action names that have been granted to this role", + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", @@ -77202,8 +104501,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Submission", "ofType": null } } @@ -77213,93 +104512,82 @@ "deprecationReason": null }, { - "name": "createdAt", - "description": null, + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", + "kind": "OBJECT", + "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "customPriority", - "description": "Only relevant for `custom` roles, this affects sorting.", - "args": [], + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionCreateInput", + "description": "Autogenerated input type of SubmissionCreate", + "fields": null, + "inputFields": [ + { + "name": "agreementAccepted", + "description": "Whether or not the submitter has accepted the agreement for this submission.\n\nThis must be true.\n", "type": { "kind": "SCALAR", - "name": "Int", + "name": "Boolean", "ofType": null }, + "defaultValue": "false", "isDeprecated": false, "deprecationReason": null }, { - "name": "effectiveAccess", - "description": "User-specific access permissions for this object.\n", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EffectiveAccess", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "globalAccessControlList", - "description": "The global access control list that this assigned role implies, based on its sort order.\n", - "args": [], + "name": "parentEntityId", + "description": "The ID of the parent entity for the submission.\n\nThis is derived from one of the `depositTargets` of the specified `SubmissionTarget`.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "GlobalAccessControlList", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "globalAllowedActions", - "description": "A list of global action names that this role implies, based on its sort order.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], + "name": "schemaVersionId", + "description": "The ID of the {SchemaVersion} to be used for the submission.\n", "type": { "kind": "NON_NULL", "name": null, @@ -77309,41 +104597,29 @@ "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "identifier", - "description": "For `system` roles, this will be populated with the unique identifier\nthat marks this as a system role.\n", - "args": [], - "type": { - "kind": "ENUM", - "name": "RoleSystemIdentifier", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": "The specific kind of role this is, based on how it entered the WDP-API.\n", - "args": [], + "name": "submissionTargetId", + "description": "The ID of the {SubmissionTarget} against which the submission is being made.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "RoleKind", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "The human readable name of the role within the system", - "args": [], + "name": "title", + "description": "The title of the submission.\n\nThis gets passed to the entity when it is built.\n", "type": { "kind": "NON_NULL", "name": null, @@ -77353,12 +104629,23 @@ "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionCreatePayload", + "description": "Autogenerated return type of SubmissionCreate.", + "fields": [ { - "name": "permissions", - "description": "Surfaced from the accessControlList for convenience, these are returned as\nan array that allows a user to check for the state of all possible roles\nwithout having to specify them explicitly in the GraphQL request\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -77371,7 +104658,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "PermissionGrant", + "name": "MutationAttributeError", "ofType": null } } @@ -77381,100 +104668,21 @@ "deprecationReason": null }, { - "name": "primacy", - "description": "Used internally to sort roles and ensure certain role types are above\nand below others, irrespective of priority.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "RolePrimacy", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "priority", - "description": "The calculated sort priority for this role.\n\n* For `custom` roles, it is based on `custom_priority`.\n* For `system` roles, it is based on hard-coded values within the system\n and cannot be modified.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "slug", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "updatedAt", + "name": "errors", "description": null, "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ExposesEffectiveAccess", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "RoleConnection", - "description": "The connection type for Role.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", - "args": [], "type": { "kind": "NON_NULL", "name": null, @@ -77486,18 +104694,18 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "RoleEdge", + "name": "UserError", "ofType": null } } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", @@ -77510,7 +104718,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Role", + "name": "MutationGlobalError", "ofType": null } } @@ -77520,198 +104728,58 @@ "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PageInfo", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "RoleEdge", - "description": "An edge in a connection.", - "fields": [ - { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "submission", + "description": "The newly-modified submission, if successful.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - } + "kind": "OBJECT", + "name": "Submission", + "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "RoleKind", - "description": "A categorization of a `Role` based on how it gets into the WDP-API.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "CUSTOM", - "description": "Custom roles are created and managed through the `createRole`, `updateRole`, and `destroyRole` mutations.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SYSTEM", - "description": "System roles are shipped by default with WDP-API and cannot be modified.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "RoleOrder", - "description": "Sort roles by a specific property and order", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Sort roles by default priority within the system", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NAME_ASCENDING", - "description": "Sort roles by their name A-Z", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NAME_DESCENDING", - "description": "Sort roles by their name Z-A", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OLDEST", - "description": "Sort roles by oldest created date", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "RECENT", - "description": "Sort roles by newest created date", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "RolePrimacy", - "description": "The level of importance any given role has when it comes to determing what a user's \"primary\" role is.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DEFAULT", - "description": "Values with this primacy level are the default. Any custom roles will be in this scope.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "HIGH", - "description": "Values with this primacy level take priority over all others. They cannot be directly assigned through the API.", - "isDeprecated": false, - "deprecationReason": null - }, + "interfaces": [ { - "name": "LOW", - "description": "Values with this primacy level are always sorted after every other role.", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null } ], + "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", - "name": "RoleSystemIdentifier", - "description": "This will identify _which_ `system` role this is, if applicable. See `RoleKind` for more information.\n", + "name": "SubmissionDepositMode", + "description": "The mode of deposit for a submission target. This defines where deposits are made\nrelative to the entity specified by the submission target.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "ADMIN", - "description": "A global administrator. This role cannot be directly assigned.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "EDITOR", - "description": "An editor has basic update permissions for a specific point in the hierarchy.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MANAGER", - "description": "A manager can be assigned to handle most `Community` and other entity management concerns.\n\nThey can also appoint other roles (except for other managers) to any entity they manage.\n", + "name": "DESCENDANT", + "description": "Deposits to the submission target are made to a descendant of the specified entity.\n\nFor instance, if the submission target is defined on a `nglp:journal`,\ndeposits of an `nglp:journal_article` might be made to `nglp:journal_issue`\nentities that are descendants of the journal.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "READER", - "description": "A reader is anyone who has been given explicit read-access to an entity.\nThis role is primarily used by the administration UI.\n\n**Note**: Anonymous users can still view public entities in the frontend.\n", + "name": "DIRECT", + "description": "Deposits on the submission target are made directly to the entity specified.\n", "isDeprecated": false, "deprecationReason": null } @@ -77719,20 +104787,20 @@ "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "ScalarProperty", - "description": "A property on a `SchemaInstance`.\n", + "kind": "OBJECT", + "name": "SubmissionDepositTarget", + "description": "A submission deposit target defines an actual target\nentity for submissions. For instance, a `SubmissionTarget`\nmight be defined on an `nglp:journal`, but it defines a\n`SubmissionDepositTarget` that points to an `nglp:journal_issue`.\n", "fields": [ { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -77740,27 +104808,15 @@ "deprecationReason": null }, { - "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -77768,15 +104824,15 @@ "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -77784,15 +104840,15 @@ "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601Date", "ofType": null } }, @@ -77800,15 +104856,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "depositMode", + "description": "The deposit mode of this submission deposit target. This indicates the relationship\nof the associated `entity` to this record's parent `SubmissionTarget`.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyKind", + "name": "SubmissionDepositMode", "ofType": null } }, @@ -77816,15 +104872,15 @@ "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the schema property.\n", + "name": "entity", + "description": "The entity that this submission deposit target points to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -77832,15 +104888,15 @@ "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ID", "ofType": null } }, @@ -77848,15 +104904,15 @@ "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Slug", "ofType": null } }, @@ -77864,15 +104920,15 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601DateTime", "ofType": null } }, @@ -77880,15 +104936,15 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -77900,250 +104956,483 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "AssetProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AssetsProperty", + "name": "CommonModel", "ofType": null }, { - "kind": "OBJECT", - "name": "BooleanProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorsProperty", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "ControlledVocabulariesProperty", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null }, { - "kind": "OBJECT", - "name": "ControlledVocabularyProperty", + "kind": "INTERFACE", + "name": "Node", "ofType": null }, { - "kind": "OBJECT", - "name": "DateProperty", + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null - }, + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionEdge", + "description": "An edge in a connection for `Submission`.\n", + "fields": [ { - "kind": "OBJECT", - "name": "EmailProperty", - "ofType": null + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "EntitiesProperty", - "ofType": null - }, + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionFilterInput", + "description": "Filtering options for `Submission` records.\n", + "fields": null, + "inputFields": [ { - "kind": "OBJECT", - "name": "EntityProperty", - "ofType": null + "name": "createdAt", + "description": "Filter the model's `created_at` with time constraints.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "FloatProperty", - "ofType": null + "name": "inState", + "description": "Filter by in state.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionState", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "FullTextProperty", - "ofType": null + "name": "parentEntityIds", + "description": "Filter submissions to only those with the given parent entity(ies).\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "IntegerProperty", - "ofType": null + "name": "prefix", + "description": "Perform a full-text search to approximately match the provided string.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "MarkdownProperty", - "ofType": null + "name": "query", + "description": "Perform a full-text search to approximately match the provided string.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "MultiselectProperty", - "ofType": null + "name": "schemaVersionIds", + "description": "Filter submissions to only those with the given schema version(s).\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "SelectProperty", - "ofType": null + "name": "submissionTargetIds", + "description": "Filter submissions to only those with the given submission target(s).\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "StringProperty", - "ofType": null + "name": "updatedAt", + "description": "Filter the model's `updated_at` with time constraints.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "TagsProperty", - "ofType": null - }, + "name": "userIds", + "description": "Filter submissions to only those created by the given user(s).\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionLeaveReviewInput", + "description": "Autogenerated input type of SubmissionLeaveReview", + "fields": null, + "inputFields": [ { - "kind": "OBJECT", - "name": "TimestampProperty", - "ofType": null + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "URLProperty", - "ofType": null + "name": "comment", + "description": "An additional comment to store with the review proper.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UnknownProperty", - "ofType": null + "name": "submissionId", + "description": "The submission to review.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "VariableDateProperty", - "ofType": null + "name": "toState", + "description": "The submission state to be placed in.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionReviewState", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - ] - }, - { - "kind": "SCALAR", - "name": "SchemaComponent", - "description": "A string primitive with a very constrained format, representing components\nof a schema like namespaces, identifiers, ordering names, etc.\n\nIt is also used in the templating subsystem.\n\nIt corresponds to the regular expression `(?-mix:\\A[a-z][a-z0-9_]*?[a-z0-9]\\z)`.\n", - "fields": null, - "inputFields": null, + ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "SchemaDefinition", - "description": "A schema definition is a logical grouping of `SchemaVersion`s that identifies\nonly the shared kind, namespace, and identifier. The name is also most likely\nshared, although it can change between schema versions, and the value on the\ndefinition will default to whatever the most recent version uses.\n", + "name": "SubmissionLeaveReviewPayload", + "description": "Autogenerated return type of SubmissionLeaveReview.", "fields": [ { - "name": "createdAt", + "name": "attributeErrors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "declaration", - "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "id", + "name": "errors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "identifier", - "description": "A unique (per-namespace) value that names the schema within the system.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "The kind of entity this schema applies to.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaKind", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "name", - "description": "A human-readable name for the schema.\n", + "name": "submission", + "description": "The associated submission.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "Submission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionReview", + "description": "The associated review.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubmissionOrder", + "description": "Sort a collection of `Submission` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort submissions by their default order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OLDEST", + "description": "Sort submissions by oldest created date.", + "isDeprecated": false, + "deprecationReason": null }, { - "name": "namespace", - "description": "A unique namespace the schema lives in.\n", + "name": "RECENT", + "description": "Sort submissions by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublication", + "description": "The record of a `Submission`'s publication process.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -78151,15 +105440,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -78167,8 +105456,8 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -78181,125 +105470,65 @@ }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "DescribesSchema", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SchemaDefinitionConnection", - "description": "The connection type for SchemaDefinition.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinitionEdge", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinition", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "PageInfo", + "kind": "SCALAR", + "name": "Slug", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SchemaDefinitionEdge", - "description": "An edge in a connection.", - "fields": [ + }, { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "state", + "description": "The state of the publication process.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "SubmissionPublicationState", "ofType": null } }, @@ -78307,47 +105536,104 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "submission", + "description": "The submission that is being published.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaDefinition", + "name": "Submission", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "SchemaInstance", - "description": "Being an instance that implements a schema version with strongly-typed properties.\nOverlaps with Entity, but intended for focused access to just the properties\nand the necessary context.\n", - "fields": [ + }, { - "name": "availableEntitiesFor", - "description": "Expose all available entities for this schema property.\n", + "name": "transitions", + "description": "The transitions that the publication process has gone through.\n", "args": [ { - "name": "fullPath", - "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null, "isDeprecated": false, @@ -78358,32 +105644,24 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EntitySelectOption", - "ofType": null - } - } + "kind": "OBJECT", + "name": "SubmissionPublicationTransitionConnection", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaInstanceContext", - "description": "The context for our schema instance. Includes form values and necessary referents.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaInstanceContext", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, @@ -78391,53 +105669,28 @@ "deprecationReason": null }, { - "name": "schemaProperties", - "description": "A list of schema properties associated with this instance or version.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "schemaProperty", - "description": "Read a single schema property by its full path.\n", - "args": [ - { - "name": "fullPath", - "description": "The full path to the schema property. Please note, paths are snake_case, not camelCase.\n", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "user", + "description": "The user that initiated the publication process, if applicable.\n", + "args": [], "type": { - "kind": "INTERFACE", - "name": "SchemaProperty", + "kind": "OBJECT", + "name": "User", "ofType": null }, "isDeprecated": false, @@ -78445,89 +105698,118 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ + "interfaces": [ { - "kind": "OBJECT", - "name": "Collection", + "kind": "INTERFACE", + "name": "CommonModel", "ofType": null }, { - "kind": "OBJECT", - "name": "Community", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "Item", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubmissionPublicationState", + "description": "The state of a submission's publication.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BATCHED", + "description": "The submission has been batched for publication and will be processed in the background.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILURE", + "description": "The submission failed to publish.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The submission is pending publication.\n", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "The submission has been successfully published.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null }, { "kind": "OBJECT", - "name": "SchemaInstanceContext", - "description": "A context that describes the current state of the form", + "name": "SubmissionPublicationTransition", + "description": "A transition for a `SubmissionPublication`.\n", "fields": [ { - "name": "assets", - "description": null, + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AssetSelectOption", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "contributors", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContributorSelectOption", - "ofType": null - } - } + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "defaultValues", - "description": "Not yet populated. May be used in the future.", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "JSON", + "name": "ISO8601DateTime", "ofType": null } }, @@ -78535,15 +105817,15 @@ "deprecationReason": null }, { - "name": "entityId", - "description": "The entity ID for this schema instance.", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "ISO8601Date", "ofType": null } }, @@ -78551,15 +105833,27 @@ "deprecationReason": null }, { - "name": "fieldValues", - "description": "The values for the schema form on this instance", + "name": "fromState", + "description": "The state that the submission publication is transitioning from. This will be null if the submission target is being created.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubmissionPublicationState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "JSON", + "name": "ID", "ofType": null } }, @@ -78567,15 +105861,15 @@ "deprecationReason": null }, { - "name": "schemaVersionSlug", - "description": "The slug for the current schema version", + "name": "mostRecent", + "description": "Whether this is the most recent transition.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, @@ -78583,62 +105877,47 @@ "deprecationReason": null }, { - "name": "validity", - "description": "Information about the validity of the schema instance", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { - "kind": "OBJECT", - "name": "SchemaInstanceValidation", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SchemaInstanceValidation", - "description": null, - "fields": [ + }, { - "name": "errors", - "description": null, + "name": "toState", + "description": "The state that the submission publication is transitioning to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaValueError", - "ofType": null - } - } + "kind": "ENUM", + "name": "SubmissionPublicationState", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "valid", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601DateTime", "ofType": null } }, @@ -78646,120 +105925,159 @@ "deprecationReason": null }, { - "name": "validatedAt", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "user", + "description": "The user who performed the transition, if available.\n\nSome transitions may happen through automated processes, so the user will not always be set.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "SchemaKind", - "description": "The kind of entity a schema applies to", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "interfaces": [ { - "name": "COLLECTION", - "description": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "COMMUNITY", - "description": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null }, { - "name": "ITEM", - "description": null, - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "CommonTransition", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null } ], + "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "SchemaOrderingPath", - "description": "This ordering path represents a schema property and is variably\navailable based on whether matched entities' schemas implement it.\n", + "name": "SubmissionPublicationTransitionConnection", + "description": "The connection type for SubmissionPublicationTransition.", "fields": [ { - "name": "description", - "description": "A helpful description of the path", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "grouping", - "description": "A logical grouping for ordering paths", + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "OrderingPathGrouping", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionPublicationTransitionEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the path", + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionPublicationTransition", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "labelPrefix", - "description": "Some paths may have a prefix. For instance, schema properties will have the name of the schema.\n", + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "path", - "description": "The exact path that should be provided to mutation inputs.", + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionPublicationTransitionEdge", + "description": "An edge in a connection for `SubmissionPublicationTransition`.\n", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", @@ -78774,73 +106092,98 @@ "deprecationReason": null }, { - "name": "schemaVersion", - "description": null, + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaVersion", + "name": "SubmissionPublicationTransition", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionPublishInput", + "description": "Autogenerated input type of SubmissionPublish", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "name": "type", - "description": "The schema property type", - "args": [], + "name": "submissionId", + "description": "The ID for the submission to publish.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "OrderingPath", - "ofType": null - } - ], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "SchemaProperty", - "description": "A property on a `SchemaInstance`.\n", + "kind": "OBJECT", + "name": "SubmissionPublishPayload", + "description": "Autogenerated return type of SubmissionPublish.", "fields": [ { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": "A human-readable description for the property. It should describe the purpose of the\nproperty as well as some details about the types of values it looks for.\n\nIt can be rendered as help text, hints, etc.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", @@ -78851,540 +106194,601 @@ "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "entity", + "description": "The entity that the published submission belongs to, if successful.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "INTERFACE", + "name": "Entity", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "submission", + "description": "The submission that was published, if successful.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", - "ofType": null - } + "kind": "OBJECT", + "name": "Submission", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "AssetProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AssetsProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "BooleanProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorsProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabulariesProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularyProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DateProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EmailProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EntitiesProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EntityProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "FloatProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "FullTextProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "GroupProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "IntegerProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MarkdownProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MultiselectProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SelectProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "StringProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "TagsProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "TimestampProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "URLProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UnknownProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "VariableDateProperty", - "ofType": null - } - ] - }, - { - "kind": "ENUM", - "name": "SchemaPropertyFunction", - "description": "Schema properties can serve various functions. This helps communicate the purpose of them, for building UIs, and general introspection.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "CONTENT", - "description": "This property acts as data inherently representative of the entity. Full text of an article, titling, and other such purposes.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "METADATA", - "description": "This property is intended to offer further information about the content, but not necessarily the content itself.\nMost metadata should be things that are filterable or searchable to help users find and learn more about related\ncontent.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "PRESENTATION", - "description": "This property is used for presenting information *about* the content, or how it should be formatted, but is less reflective\nof the content itself. An option for changing a specific render style, an additional image to display, etc.\n", - "isDeprecated": false, - "deprecationReason": null }, { - "name": "SORTING", - "description": "This property is only used when ordering this entity by ancestors. It should not generally be visible in the frontend, but\nremain editable by admins to adjust ordering.\n", + "name": "submissionPublication", + "description": "The actual record of the publication, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionPublication", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "UNSPECIFIED", - "description": "This property's purpose remains unspecified and is likely the mark of a schema still in development. It should not generally\nbe in a finished schema, as it is important to help communicate the intent of a property for those building a UI.\n", - "isDeprecated": false, - "deprecationReason": null + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null } ], + "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "SchemaPropertyKind", - "description": "The _kind_ of a data type for a schema property. Mostly informational\nin the API, this value represents the underlying structure of the data type.\n", + "kind": "INPUT_OBJECT", + "name": "SubmissionRequestReviewInput", + "description": "Autogenerated input type of SubmissionRequestReview", "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "inputFields": [ { - "name": "COMPLEX", - "description": "A complex data type that is composed of multiple subproperties\nor requires other processing. Their values cannot be easily\nmapped to GraphQL / JavaScript primitives.\n\nSee `VariableDateProperty`, `FullTextProperty` for examples.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "GROUP", - "description": "A composite of other properties. See `GroupProperty`", + "name": "comment", + "description": "An optional comment to store alongside the review.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "REFERENCE", - "description": "A reference (or references) to other models in the system.\n\nSee `AssetProperty`, `ContributorsProperty` for examples\n", + "name": "submissionId", + "description": "The submission to review.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "SIMPLE", - "description": "The most common type of property, and what most values are likely to be. Strings,\nintegers, floats, booleans, and so on.\n", + "name": "userId", + "description": "The id of the user to request the review from.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "SchemaPropertyPath", - "description": "A path to a schema property (it will always be a string primitive).\n\nIt can come in the form of a `\"single_property\"` or a `\"nested.property\"`.\n\nThis scalar is only used to assert the _format_, it does not\nvalidate that it is an existing schema property.\n", - "fields": null, - "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { - "kind": "ENUM", - "name": "SchemaPropertyType", - "description": "The data type for a schema property.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ASSET", - "description": "A reference to a single asset owned by the schema instance. See `AssetProperty`", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ASSETS", - "description": "A reference to multiple assets owned by the schema instance. See `AssetsProperty`", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "BOOLEAN", - "description": "True or false, yes or no, a checkbox. See `BooleanProperty`", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "CONTRIBUTOR", - "description": "A reference to a single contributor in the system. See `ContributorProperty`", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "CONTRIBUTORS", - "description": "A reference to multiple contributors in the system. See `ContributorsProperty`", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "CONTROLLED_VOCABULARIES", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "OBJECT", + "name": "SubmissionRequestReviewPayload", + "description": "Autogenerated return type of SubmissionRequestReview.", + "fields": [ { - "name": "CONTROLLED_VOCABULARY", + "name": "attributeErrors", "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "DATE", - "description": "An ISO8601-formatted date. See `DateProperty`", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "EMAIL", - "description": "An email address. See `EmailProperty`", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ENTITIES", - "description": "A reference to multiple entities. See `EntitiesProperty`", - "isDeprecated": false, - "deprecationReason": null + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "ENTITY", - "description": "A reference to a single entity. See `EntityProperty`", + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "FLOAT", - "description": "A decimal / floating-point number. See `FloatProperty`", + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "FULL_TEXT", - "description": "A complex type representing textual content. See `FullTextProperty`", + "name": "submission", + "description": "The associated submission.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "GROUP", - "description": "A type composed of other properties. See `GroupProperty`", + "name": "submissionReview", + "description": "The associated review.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "INTEGER", - "description": "A whole number. See `IntegerProperty`", - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReview", + "description": "A review of a `Submission` by a specific reviewer.\n", + "fields": [ { - "name": "MARKDOWN", - "description": "Markdown-formatted text. See `MarkdownProperty`", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "MULTISELECT", - "description": "A dropdown that supports selecting multiple values. See `MultiselectProperty`", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "SELECT", - "description": "A dropdown that can select only one value. See `SelectProperty`", + "name": "comment", + "description": "An optional note from the reviewer about this submission review.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "STRING", - "description": "Simple text values. See `StringProperty`", + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "TAGS", - "description": "An array of tags that can be introspected. See `TagsProperty`", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "TIMESTAMP", - "description": "An ISO8601-formatted timestamp. See `TimestampProperty`", + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "UNKNOWN", - "description": "A fallback type for invalid schemas. See `UnknownProperty`", + "name": "requestedAt", + "description": "The time that this submission review was last requested.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "URL", - "description": "A complex type representing a URL, with metadata. See `URLProperty`", + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "VARIABLE_DATE", - "description": "A complex type representing a date that cannot be expressed exactly. See `VariableDateProperty`", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SchemaRenderDefinition", - "description": "Configuration for controlling how instances of a schema render outside of orderings.\n", - "fields": [ - { - "name": "listMode", - "description": "How to render a list", + "name": "state", + "description": "The current state of this submission review.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaRenderListMode", + "name": "SubmissionReviewState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "SchemaRenderListMode", - "description": "How instances that implement a certain schema should be rendered outside of an ordering,\nwhen rendering only entities for the same type of schema.\n\nThis value is currently only intended to be used by the frontend. It enforces no special\nhandling within the API itself, unlike an `OrderingRenderModeType`.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "GRID", - "description": null, - "isDeprecated": false, - "deprecationReason": null }, { - "name": "TABLE", - "description": null, + "name": "submission", + "description": "The submission that this is a review of.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Submission", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "TREE", - "description": null, + "name": "transitions", + "description": "The state transitions that this submission review has undergone.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionReviewTransitionConnection", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SchemaValueError", - "description": "An error that stems from trying to apply an invalid schema value.", - "fields": [ + }, { - "name": "base", - "description": "An error with the entire set of values", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601DateTime", "ofType": null } }, - "isDeprecated": true, - "deprecationReason": "Not presently used: see globalErrors" + "isDeprecated": false, + "deprecationReason": null }, { - "name": "hint", - "description": "Whether this is a hint", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601Date", "ofType": null } }, @@ -79392,43 +106796,112 @@ "deprecationReason": null }, { - "name": "message", - "description": "A human-readable description of the error", + "name": "user", + "description": "The user that created this submission review, if any.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReviewConnection", + "description": "The connection type for SubmissionReview.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionReviewEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "metadata", - "description": "Additional metadata attached to the error", + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { - "kind": "SCALAR", - "name": "JSON", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionReview", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "path", - "description": "Which input value this error came from", + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "PageInfo", "ofType": null } }, @@ -79437,25 +106910,31 @@ } ], "inputFields": null, - "interfaces": [], + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "SchemaVersion", - "description": "A specific version of a `SchemaDefinition`.\n", + "name": "SubmissionReviewEdge", + "description": "An edge in a connection for `SubmissionReview`.\n", "fields": [ { - "name": "createdAt", - "description": null, + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ISO8601DateTime", + "name": "String", "ofType": null } }, @@ -79463,223 +106942,201 @@ "deprecationReason": null }, { - "name": "declaration", - "description": "The full declaration for this schema, including namespace, identifier, and version (if available).\n", + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "SubmissionReview", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionReviewFilterInput", + "description": "Filtering options for `SubmissionReview` records.\n", + "fields": null, + "inputFields": [ { - "name": "enforcedChildDeclarations", - "description": "Declarations / slugs for `enforcedChildVersions`.\n", - "args": [], + "name": "createdAt", + "description": "Filter the model's `created_at` with time constraints.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - } - } + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "enforcedChildKinds", - "description": "A list of entity kinds that make acceptable children for this schema.\n", - "args": [], + "name": "inState", + "description": "Filter by in state.\n", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ChildEntityKind", - "ofType": null - } + "kind": "ENUM", + "name": "SubmissionReviewState", + "ofType": null } } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "enforcedChildVersions", - "description": "The versions that this schema accepts as a child.\n\nIf there are no schemas, then this schema does not enforce its children.\n", - "args": [], + "name": "submissionIds", + "description": "Filter by multiple Submission.\n", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "enforcedParentDeclarations", - "description": "Declarations / slugs for `enforcedParentVersions`.\n", - "args": [], + "name": "updatedAt", + "description": "Filter the model's `updated_at` with time constraints.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Slug", - "ofType": null - } - } - } + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "enforcedParentKinds", - "description": "A list of entity kinds that make acceptable parents for this schema.\n", - "args": [], + "name": "userIds", + "description": "Filter by multiple User.\n", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaKind", - "ofType": null - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } } }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubmissionReviewOrder", + "description": "Sort a collection of `SubmissionReview` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Sort submission reviews by their default order.", "isDeprecated": false, "deprecationReason": null }, { - "name": "enforcedParentVersions", - "description": "The versions that are allowed to parent this schema.\n\nIf there are no schemas, then this schema does not enforce its parentage.\n", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } - } - } - }, + "name": "OLDEST", + "description": "Sort submission reviews by oldest created date.", "isDeprecated": false, "deprecationReason": null }, { - "name": "enforcesChildren", - "description": "A boolean for the logic on `enforcedChildVersions`.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, + "name": "RECENT", + "description": "Sort submission reviews by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubmissionReviewState", + "description": "The status of a specific reviewer's review on a submission.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPROVED", + "description": "The reviewer has approved the submission.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "enforcesParent", - "description": "A boolean for the logic on `enforcedParentVersions`.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, + "name": "PENDING", + "description": "The review is pending / requested and has not yet been acted upon.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, + "name": "REJECTED", + "description": "The reviewer has rejected the submission.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "identifier", - "description": "A unique (per-namespace) value that names the schema within the system.\n", + "name": "REVISION_REQUESTED", + "description": "The reviewer has requested revisions to the submission.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionReviewTransition", + "description": "A transition for a `SubmissionReview`.\n", + "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -79687,15 +107144,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "The kind of entity this schema applies to.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaKind", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -79703,15 +107160,15 @@ "deprecationReason": null }, { - "name": "name", - "description": "A human-readable name for the schema.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, @@ -79719,15 +107176,15 @@ "deprecationReason": null }, { - "name": "namespace", - "description": "A unique namespace the schema lives in.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, @@ -79735,31 +107192,27 @@ "deprecationReason": null }, { - "name": "number", - "description": "A semantic version for the schema\n", + "name": "fromState", + "description": "The state that the submission target is transitioning from. This will be null if the submission target is being created.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "ENUM", + "name": "SubmissionReviewState", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "render", - "description": "Configuration for rendering schema instances outside of orderings.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaRenderDefinition", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -79767,15 +107220,15 @@ "deprecationReason": null }, { - "name": "schemaDefinition", - "description": "The shared schema definition for all versions of this namespace and identifier.\n", + "name": "mostRecent", + "description": "Whether this is the most recent transition.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinition", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -79783,64 +107236,31 @@ "deprecationReason": null }, { - "name": "schemaProperties", - "description": "A list of schema properties associated with this instance or version.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Slug", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "search", - "description": "Search from this level of the API using it as the origin", - "args": [ - { - "name": "maxDepth", - "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibility", - "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", - "type": { - "kind": "ENUM", - "name": "EntityVisibilityFilter", - "ofType": null - }, - "defaultValue": "VISIBLE", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "toState", + "description": "The state that the submission target is transitioning to.\n", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SearchScope", + "kind": "ENUM", + "name": "SubmissionReviewState", "ofType": null } }, @@ -79848,39 +107268,31 @@ "deprecationReason": null }, { - "name": "searchableProperties", - "description": "A subset of properties that can be searched for this schema.\n", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "SearchableProperty", - "ofType": null - } - } + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "slug", - "description": null, + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ISO8601Date", "ofType": null } }, @@ -79888,17 +107300,13 @@ "deprecationReason": null }, { - "name": "updatedAt", - "description": null, + "name": "user", + "description": "The user who performed the transition, if available.\n\nSome transitions may happen through automated processes, so the user will not always be set.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ISO8601DateTime", - "ofType": null - } + "kind": "OBJECT", + "name": "User", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -79908,22 +107316,27 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "DescribesSchema", + "name": "CommonModel", "ofType": null }, { "kind": "INTERFACE", - "name": "HasSchemaProperties", + "name": "CommonPermissions", "ofType": null }, { "kind": "INTERFACE", - "name": "Node", + "name": "CommonTransition", "ofType": null }, { "kind": "INTERFACE", - "name": "Searchable", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", "ofType": null }, { @@ -79937,8 +107350,8 @@ }, { "kind": "OBJECT", - "name": "SchemaVersionConnection", - "description": "The connection type for SchemaVersion.", + "name": "SubmissionReviewTransitionConnection", + "description": "The connection type for SubmissionReviewTransition.", "fields": [ { "name": "edges", @@ -79955,7 +107368,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaVersionEdge", + "name": "SubmissionReviewTransitionEdge", "ofType": null } } @@ -79979,7 +107392,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaVersion", + "name": "SubmissionReviewTransition", "ofType": null } } @@ -80018,8 +107431,8 @@ }, { "kind": "OBJECT", - "name": "SchemaVersionEdge", - "description": "An edge in a connection.", + "name": "SubmissionReviewTransitionEdge", + "description": "An edge in a connection for `SubmissionReviewTransition`.\n", "fields": [ { "name": "cursor", @@ -80046,146 +107459,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SchemaVersionOption", - "description": null, - "fields": [ - { - "name": "identifier", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "kind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "label", - "description": "The label to display in a select box", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "namespace", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schemaDefinition", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaDefinition", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schemaVersion", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": "The value to use in a select box", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", + "name": "SubmissionReviewTransition", "ofType": null } }, @@ -80200,92 +107474,51 @@ }, { "kind": "ENUM", - "name": "SchemaVersionOrder", - "description": "Order schema versions by various factors", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "LATEST", - "description": "Order with newest versions at the top", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OLDEST", - "description": "Order with oldest versions at the top", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "SearchOperator", - "description": "These operators serve as keys for `SearchPredicateInput`.\n", + "name": "SubmissionState", + "description": "The status of a `Submission`.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "and", - "description": "See `AndOperatorInput`", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "dateEquals", - "description": "See `DateEqualsOperatorInput`", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "dateGTE", - "description": "See `DateGTEOperatorInput`", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "dateLTE", - "description": "See `DateLTEOperatorInput`", + "name": "APPROVED", + "description": "The submission has been approved by the review staff and is awaiting publication.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "equals", - "description": "See `EqualsOperatorInput`", + "name": "DRAFT", + "description": "The initial draft state of a submission.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "inAny", - "description": "See `InAnyOperatorInput`", + "name": "PUBLISHED", + "description": "The submission has been published and is publicly visible.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "matches", - "description": "See `MatchesOperatorInput`", + "name": "REJECTED", + "description": "The submission has been rejected by the review staff and will not be published,\nand is not subject to any further reviews or revisions.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "numericGTE", - "description": "See `NumericGTEOperatorInput`", + "name": "REVISION_REQUESTED", + "description": "The review staff has requested revisions to the submission\nand the depositor is expected to make changes and resubmit.\n", "isDeprecated": false, "deprecationReason": null }, - { - "name": "numericLTE", - "description": "See `NumericLTEOperatorInput`", + { + "name": "SUBMITTED", + "description": "The depositor has submitted the submission for review.\n", "isDeprecated": false, "deprecationReason": null }, { - "name": "or", - "description": "See `OrOperatorInput`", + "name": "UNDER_REVIEW", + "description": "The submission is currently under review.\n", "isDeprecated": false, "deprecationReason": null } @@ -80293,186 +107526,271 @@ "possibleTypes": null }, { - "kind": "ENUM", - "name": "SearchOriginType", - "description": "The type of origin for this search scope.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ + "kind": "OBJECT", + "name": "SubmissionStatus", + "description": "Information about submission status and a particular state.\n\nThis object does double duty for both current status and available transitions.\n", + "fields": [ { - "name": "ENTITY", - "description": null, + "name": "canTransition", + "description": "Whether the current user is allowed to transition the submission to this state.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "GLOBAL", - "description": null, + "name": "current", + "description": "Whether the submission is currently in this state.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "ORDERING", - "description": null, + "name": "fromState", + "description": "The current state of the submission.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionState", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "SCHEMA", - "description": null, + "name": "lockedState", + "description": "Whether the submission will be in a locked state (i.e. not mutable by the depositor).\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, "isDeprecated": false, "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "SearchPredicateInput", - "description": "A predicate clause for searching entities.\n\nEach key corresponds to a `SearchOperator`, and multiple keys combined\nin the same predicate will be implicitly `AND`ed together.\n", - "fields": null, - "inputFields": [ + }, { - "name": "and", - "description": "See `AndOperatorInput`", + "name": "mutableState", + "description": "Whether the submission will be in a mutable state (i.e. mutable by the depositor).\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "AndOperatorInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "dateEquals", - "description": "See `DateEqualsOperatorInput`", + "name": "toState", + "description": "The state to which the submission can be transitioned.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "DateEqualsOperatorInput", + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTarget", + "description": "A submission target is a subject of an `Entity`, specifying information about whether\nor not it can have new entities deposited to it.\n", + "fields": [ + { + "name": "agreementContent", + "description": "The content of the agreement that must be agreed to before depositing to this submission target, if `agreementRequired` is `true`.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "dateGTE", - "description": "See `DateGTEOperatorInput`", + "name": "agreementContentWithFallback", + "description": "The content of the agreement that must be agreed to before depositing to this submission target,\nfalling back to the global agreement if this submission target doesn't have its own agreement content.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "DateGTEOperatorInput", + "kind": "SCALAR", + "name": "String", "ofType": null }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "dateLTE", - "description": "See `DateLTEOperatorInput`", + "name": "agreementRequired", + "description": "Whether or not this submission target requires agreement to an agreement before depositing.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "DateLTEOperatorInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "equals", - "description": "See `EqualsOperatorInput`", + "name": "allowedChildKinds", + "description": "The kinds of child entities that can be deposited to this submission target.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "EqualsOperatorInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildEntityKind", + "ofType": null + } + } + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "inAny", - "description": "See `InAnyOperatorInput`", + "name": "autoApproveDepositors", + "description": "Whether or not depositors should be automatically approved when they request to become a depositor for this submission target.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "InAnyOperatorInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "matches", - "description": "See `MatchesOperatorInput`", + "name": "canDeposit", + "description": "Whether or not the current user can deposit to this submission target.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "MatchesOperatorInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "numericGTE", - "description": "See `NumericGTEOperatorInput`", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "NumericGTEOperatorInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "numericLTE", - "description": "See `NumericLTEOperatorInput`", + "name": "canManageReviewers", + "description": "Whether or not the current user can manage reviewers for this submission target.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "NumericLTEOperatorInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "or", - "description": "See `OrOperatorInput`", + "name": "canPublish", + "description": "Whether or not the current user can publish submissions to this submission target.\n", + "args": [], "type": { - "kind": "INPUT_OBJECT", - "name": "OrOperatorInput", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SearchResult", - "description": "An entity that's the result of a search.\n", - "fields": [ + }, { - "name": "entity", - "description": "A reference to the actual entity returned by the search query.\n", + "name": "canRequestDepositAccess", + "description": "Whether or not the current user can request access to deposit to this submission target.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "INTERFACE", - "name": "Entity", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -80480,15 +107798,15 @@ "deprecationReason": null }, { - "name": "id", - "description": "The encoded ID that will point to the entity itself, not a special ID for the search result record.\n", + "name": "canResetAllAgreements", + "description": "Whether or not the current user can reset all agreements for this submission target.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -80496,15 +107814,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "The kind of entity returned by the search results.\n", + "name": "canReview", + "description": "Whether or not the current user can review this submission target.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityKind", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -80512,15 +107830,15 @@ "deprecationReason": null }, { - "name": "schemaVersion", - "description": "The schema version of the returned entity.\n", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "SchemaVersion", + "name": "AuthorizationResult", "ofType": null } }, @@ -80528,15 +107846,15 @@ "deprecationReason": null }, { - "name": "slug", - "description": "The slug for the entity.\n", + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Slug", + "name": "ISO8601DateTime", "ofType": null } }, @@ -80544,70 +107862,40 @@ "deprecationReason": null }, { - "name": "title", - "description": "The title for the entity.\n", + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601Date", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null }, { - "kind": "INTERFACE", - "name": "Sluggable", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SearchResultConnection", - "description": "The connection type for SearchResult.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", + "name": "depositMode", + "description": "The deposit mode of this submission target, which determines how deposits to it are handled.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SearchResultEdge", - "ofType": null - } - } + "kind": "ENUM", + "name": "SubmissionDepositMode", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "nodes", - "description": "A list of nodes.", + "name": "depositTargets", + "description": "The deposit targets of this submission target, which are the entities that deposits to this submission target are deposited to.\n", "args": [], "type": { "kind": "NON_NULL", @@ -80620,7 +107908,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SearchResult", + "name": "SubmissionDepositTarget", "ofType": null } } @@ -80630,48 +107918,43 @@ "deprecationReason": null }, { - "name": "pageInfo", - "description": "Information to aid in pagination.", + "name": "depositorAgreement", + "description": "The depositor agreement for this submission target and the current user, if one exists.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DepositorAgreement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A description of this submission target, which may include a human-readable title and/or a machine-readable schema.org description.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "PageInfo", + "name": "SubmissionTargetDescription", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Paginated", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SearchResultEdge", - "description": "An edge in a connection.", - "fields": [ + }, { - "name": "cursor", - "description": "A cursor for use in pagination.", + "name": "entity", + "description": "The entity that this submission target belongs to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "INTERFACE", + "name": "Entity", "ofType": null } }, @@ -80679,59 +107962,169 @@ "deprecationReason": null }, { - "name": "node", - "description": "The item at the end of the edge.", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SearchResult", + "kind": "SCALAR", + "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SearchScope", - "description": null, - "fields": [ + }, { - "name": "availableSchemaVersions", - "description": "The available schema versions underneath this search scope.\n", - "args": [], + "name": "reviewers", + "description": "The reviewers that are assigned to review this submission target.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Filters that **must** match.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerFilterInput", + "ofType": null + }, + "defaultValue": "{}", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orFilters", + "description": "An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API,\nthough a UI could be built.\n\n**Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerFilterInput", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "ENUM", + "name": "SubmissionTargetReviewerOrder", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The page of edges/nodes to fetch", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDirection", + "description": "The direction in which pages advance (to traverse pages backwards)", + "type": { + "kind": "ENUM", + "name": "PageDirection", + "ofType": null + }, + "defaultValue": "FORWARDS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "perPage", + "description": "The amount of edges / nodes to fetch per page", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - } - } + "kind": "OBJECT", + "name": "SubmissionTargetReviewerConnection", + "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "coreProperties", - "description": null, + "name": "schemaVersions", + "description": "The schema versions that deposits to this submission target must conform to.\n", "args": [], "type": { "kind": "NON_NULL", @@ -80744,7 +108137,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SearchableCoreProperty", + "name": "SchemaVersion", "ofType": null } } @@ -80754,15 +108147,31 @@ "deprecationReason": null }, { - "name": "originType", - "description": null, + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "The current state of this submission target, which determines whether or not it can accept deposits.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SearchOriginType", + "name": "SubmissionTargetState", "ofType": null } }, @@ -80770,21 +108179,9 @@ "deprecationReason": null }, { - "name": "results", - "description": "The results of a search.\n\nYou must specify one of the following options in order to activate a search:\n\n* `predicates`\n* `prefix`\n* `query`\n* `schema`\n\nIf _none_ of these are set, the search will be considered empty, and return 0 results.\n", + "name": "transitions", + "description": "The state transitions that this submission target has undergone.\n", "args": [ - { - "name": "access", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityPermissionFilter", - "ofType": null - }, - "defaultValue": "SKIP", - "isDeprecated": false, - "deprecationReason": null - }, { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", @@ -80833,18 +108230,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "order", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityOrder", - "ofType": null - }, - "defaultValue": "PUBLISHED_DESCENDING", - "isDeprecated": false, - "deprecationReason": null - }, { "name": "page", "description": "The page of edges/nodes to fetch", @@ -80880,82 +108265,6 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "predicates", - "description": "The predicates to search for, if any.\n", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "SearchPredicateInput", - "ofType": null - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "prefix", - "description": "Search for entities with titles that start with the provided text (case-insensitive).\n", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "query", - "description": "Search all text associated with individual entities.\n\nBasic quoting and similar features are supported. See\n[websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for\nmore information.\n", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "schema", - "description": "Filter by a namespace.name schema identifier", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "ENUM", - "name": "EntityDescendantScopeFilter", - "ofType": null - }, - "defaultValue": "ALL", - "isDeprecated": false, - "deprecationReason": null } ], "type": { @@ -80963,7 +108272,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SearchResultConnection", + "name": "SubmissionTargetTransitionConnection", "ofType": null } }, @@ -80971,67 +108280,31 @@ "deprecationReason": null }, { - "name": "visibility", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "EntityVisibilityFilter", + "kind": "SCALAR", + "name": "ISO8601DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Searchable", - "description": null, - "fields": [ + }, { - "name": "search", - "description": "Search from this level of the API using it as the origin", - "args": [ - { - "name": "maxDepth", - "description": "When searching from a scoped entity, sometimes you want to limit the depth of the search.\n\n`maxDepth: 1` will restrict to just the entity's direct children (or direct links).\n", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "visibility", - "description": "Restrict the results by a certain level of visibility. This requires an authenticated user\nfor anything but `VISIBLE`: any other option will be silently discarded when anonymous.\n", - "type": { - "kind": "ENUM", - "name": "EntityVisibilityFilter", - "ofType": null - }, - "defaultValue": "VISIBLE", - "isDeprecated": false, - "deprecationReason": null - } - ], + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SearchScope", + "kind": "SCALAR", + "name": "ISO8601Date", "ofType": null } }, @@ -81040,76 +108313,82 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, + "interfaces": [ { - "kind": "OBJECT", - "name": "Community", + "kind": "INTERFACE", + "name": "CommonModel", "ofType": null }, { - "kind": "OBJECT", - "name": "Item", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "Ordering", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null }, { - "kind": "OBJECT", - "name": "Query", + "kind": "INTERFACE", + "name": "Node", "ofType": null }, { - "kind": "OBJECT", - "name": "SchemaVersion", + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { - "kind": "OBJECT", - "name": "SearchableCoreProperty", - "description": null, - "fields": [ + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetCloseInput", + "description": "Autogenerated input type of SubmissionTargetClose", + "fields": null, + "inputFields": [ { - "name": "description", - "description": null, - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "label", - "description": null, - "args": [], + "name": "submissionTargetId", + "description": "The ID of the {SubmissionTarget} to close.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetClosePayload", + "description": "Autogenerated return type of SubmissionTargetClose.", + "fields": [ { - "name": "searchOperators", + "name": "attributeErrors", "description": null, "args": [], "type": { @@ -81122,8 +108401,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SearchOperator", + "kind": "OBJECT", + "name": "MutationAttributeError", "ofType": null } } @@ -81133,41 +108412,8 @@ "deprecationReason": null }, { - "name": "searchPath", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "SearchableProperty", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "SearchableProperty", - "description": "An interface for properties that can be searched.\n", - "fields": [ - { - "name": "description", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", @@ -81178,23 +108424,31 @@ "deprecationReason": null }, { - "name": "label", + "name": "errors", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "searchOperators", + "name": "globalErrors", "description": null, "args": [], "type": { @@ -81207,8 +108461,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SearchOperator", + "kind": "OBJECT", + "name": "MutationGlobalError", "ofType": null } } @@ -81218,167 +108472,216 @@ "deprecationReason": null }, { - "name": "searchPath", - "description": null, + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionTarget", + "description": "The modified submission target, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "BooleanProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DateProperty", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "FloatProperty", - "ofType": null - }, + "interfaces": [ { - "kind": "OBJECT", - "name": "FullTextProperty", + "kind": "INTERFACE", + "name": "StandardMutationPayload", "ofType": null - }, + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetConfigureInput", + "description": "Autogenerated input type of SubmissionTargetConfigure", + "fields": null, + "inputFields": [ { - "kind": "OBJECT", - "name": "IntegerProperty", - "ofType": null + "name": "agreementContent", + "description": "The content of the agreement that submitters must accept when making a submission to this submission target.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "MarkdownProperty", - "ofType": null + "name": "agreementRequired", + "description": "Whether submitters must accept an agreement when making a submission to this submission target.\n\nIf true, `agreementContent` must be non-empty.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "MultiselectProperty", - "ofType": null + "name": "autoApproveDepositors", + "description": "Whether depositors should be automatically approved when they request to become a depositor for this submission target.\n\nThe default value for this field can be set on a tenant level, but is `true` by default for now.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "SearchableCoreProperty", - "ofType": null + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "SelectProperty", - "ofType": null + "name": "configurableId", + "description": "The ID of the entity or submission target to configure.\n\nThis may be the ID of a `SubmissionTarget` or of an entity that can\nbe configured with a `SubmissionTarget` (i.e. a `Community`, `Collection`, or `Item`).\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "StringProperty", - "ofType": null + "name": "depositMode", + "description": "The deposit mode for this submission target, which determines how submissions to this target are deposited.\n", + "type": { + "kind": "ENUM", + "name": "SubmissionDepositMode", + "ofType": null + }, + "defaultValue": "DIRECT", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "TimestampProperty", - "ofType": null + "name": "depositTargetIds", + "description": "A list of deposit targets for this submission target.\n\nIt should be left empty when `depositMode` is `DIRECT`,\nand must have at least one descendant when `depositMode` is `DESCENDANTS`.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "[]", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "VariableDateProperty", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "SelectOption", - "description": "An option for a select-type property.", - "fields": [ - { - "name": "label", - "description": "The display label for the option.", - "args": [], + "name": "description", + "description": "A description of this submission target, which may be displayed to submitters when making a submission to this target.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetDescriptionInput", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "value", - "description": "The underlying value for the option.", - "args": [], + "name": "schemaVersionIds", + "description": "A list of schema versions that submissions to this submission target must conform to.\n\nMust be at least one.\n", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } } }, + "defaultValue": "[]", "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], + "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "SelectProperty", - "description": null, + "name": "SubmissionTargetConfigurePayload", + "description": "Autogenerated return type of SubmissionTargetConfigure.", "fields": [ { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "defaultSelection", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": null, + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", @@ -81389,88 +108692,121 @@ "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "submissionTarget", + "description": "The newly-modified submission target, if successful.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyKind", - "ofType": null - } + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "label", - "description": null, + "kind": "INTERFACE", + "name": "StandardMutationPayload", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetConnection", + "description": "The connection type for SubmissionTarget.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "options", - "description": "The list of predefined options available for this property.", + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", @@ -81483,7 +108819,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SelectOption", + "name": "SubmissionTarget", "ofType": null } } @@ -81493,24 +108829,41 @@ "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetDescription", + "description": "An object representing the description of a submission target.\n", + "fields": [ + { + "name": "instructions", + "description": "This is a preface to the sections that provides a high-level overview of the action and is intended to be displayed to end users.\n", "args": [], "type": { "kind": "NON_NULL", @@ -81525,15 +108878,15 @@ "deprecationReason": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "name": "internal", + "description": "The internal description of the action.\nThis is a detailed description that may include technical information and is intended for internal use only. It should not be displayed to end users.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null } }, @@ -81541,8 +108894,8 @@ "deprecationReason": null }, { - "name": "searchOperators", - "description": null, + "name": "sections", + "description": "The ordered sections of the action's description.\n", "args": [], "type": { "kind": "NON_NULL", @@ -81554,8 +108907,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SearchOperator", + "kind": "OBJECT", + "name": "SubmissionTargetSection", "ofType": null } } @@ -81563,161 +108916,80 @@ }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetDescriptionInput", + "description": "An input object representing the description of a submission target.\n", + "fields": null, + "inputFields": [ { - "name": "searchPath", - "description": null, - "args": [], + "name": "instructions", + "description": "This is a preface to the sections that provides a high-level overview of the action and is intended to be displayed to end users.\n", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, + "defaultValue": "\"\"", "isDeprecated": false, "deprecationReason": null }, { - "name": "selection", - "description": null, - "args": [], + "name": "internal", + "description": "The internal description of the action.\nThis is a detailed description that may include technical information and is intended for internal use only. It should not be displayed to end users.\n", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": "\"\"", "isDeprecated": false, "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", - "args": [], + "name": "sections", + "description": "The ordered sections of the action's description.\n\nThe order provided here will be used as the order of the sections in the action's description.\n", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetSectionInput", + "ofType": null + } + } } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "OptionableProperty", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ScalarProperty", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "SchemaProperty", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "SearchableProperty", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "SelectionSourceMode", - "description": "An enumerated value associated with the templating subsystem.\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ANCESTOR", - "description": "Selections should inherit from a named ancestor of this entity.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "PARENT", - "description": "Selections should inherit from the hierarchical parent of this entity.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SELF", - "description": "Selections should inherit from the exact entity in question\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "SiblingKind", - "description": "The directionality of a sibling relationship, relative to a specific record (referred to as the 'source').\n", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "NEXT", - "description": "This sibling comes after the source record.\n", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "PREV", - "description": "This sibling comes before the source record.\n", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "SimpleOrder", - "description": "A generic enum for sorting models that don't have anything more specific implemented", - "fields": null, - "inputFields": null, "interfaces": null, - "enumValues": [ - { - "name": "OLDEST", - "description": "Sort models by oldest created date", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "RECENT", - "description": "Sort models by newest created date", - "isDeprecated": false, - "deprecationReason": null - } - ], + "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "SiteFooter", - "description": "A value for updating the site's configuration", + "name": "SubmissionTargetEdge", + "description": "An edge in a connection for `SubmissionTarget`.\n", "fields": [ { - "name": "copyrightStatement", - "description": "A copyright statement that lives in the site's footer.", + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", @@ -81732,15 +109004,15 @@ "deprecationReason": null }, { - "name": "description", - "description": "A description that lives in the site's footer.", + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "SubmissionTarget", "ofType": null } }, @@ -81755,16 +109027,16 @@ }, { "kind": "INPUT_OBJECT", - "name": "SiteFooterInput", - "description": "A value for updating the site's configuration", + "name": "SubmissionTargetFilterInput", + "description": "Filtering options for `SubmissionTarget` records.\n", "fields": null, "inputFields": [ { - "name": "copyrightStatement", - "description": "A copyright statement that lives in the site's footer.", + "name": "createdAt", + "description": "Filter the model's `created_at` with time constraints.\n", "type": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", "ofType": null }, "defaultValue": null, @@ -81772,11 +109044,31 @@ "deprecationReason": null }, { - "name": "description", - "description": "A description that lives in the site's footer.", + "name": "inState", + "description": "Filter by in state.\n", "type": { - "kind": "SCALAR", - "name": "String", + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionTargetState", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Filter the model's `updated_at` with time constraints.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", "ofType": null }, "defaultValue": null, @@ -81789,53 +109081,76 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "SiteLogoAttachment", - "description": "An interface for accessing derivatives of the site logo (if present).", - "fields": [ + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetOpenInput", + "description": "Autogenerated input type of SubmissionTargetOpen", + "fields": null, + "inputFields": [ { - "name": "alt", - "description": "Alt text for accessible images", - "args": [], + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "metadata", - "description": "Configurable metadata for the image.", - "args": [], + "name": "submissionTargetId", + "description": "The ID of the {SubmissionTarget} to open.\n", "type": { - "kind": "OBJECT", - "name": "ImageMetadata", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetOpenPayload", + "description": "Autogenerated return type of SubmissionTargetOpen.", + "fields": [ { - "name": "original", - "description": "The original source for the image", + "name": "attributeErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageOriginal", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "originalFilename", - "description": "The original filename, if one was detected during attachment.\n\nFilename detection is not always consistent across browsers, so this\nmay not always be present, even with a valid attachment.\n", + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", @@ -81846,61 +109161,73 @@ "deprecationReason": null }, { - "name": "purpose", - "description": "The intended purpose of this image attachment. This is intended to\nhelp fragments that operate solely on image subcomponents to have\nsome context for what they are without extra work.\n", + "name": "errors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "ImagePurpose", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } } }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "name": "sansText", - "description": "A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit.", + "name": "globalErrors", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ImageSize", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "storage", - "description": "This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field.\nOtherwise, see the documentation for AttachmentStorage to see what the individual fields mean.\n", + "name": "haltCode", + "description": "Not presently used", "args": [], "type": { - "kind": "ENUM", - "name": "AttachmentStorage", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "withText", - "description": "A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high.", + "name": "submissionTarget", + "description": "The modified submission target, if successful.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ImageSize", - "ofType": null - } + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -81910,12 +109237,7 @@ "interfaces": [ { "kind": "INTERFACE", - "name": "HasAttachmentStorage", - "ofType": null - }, - { - "kind": "INTERFACE", - "name": "ImageIdentification", + "name": "StandardMutationPayload", "ofType": null } ], @@ -81924,27 +109246,27 @@ }, { "kind": "ENUM", - "name": "SiteLogoMode", - "description": "An option that determines how the site logo should be rendered", + "name": "SubmissionTargetOrder", + "description": "Sort a collection of `SubmissionTarget` records by specific properties and directions.\n", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { - "name": "NONE", - "description": "The site logo is unavailable.", + "name": "DEFAULT", + "description": "Sort submission targets by their default order.", "isDeprecated": false, "deprecationReason": null }, { - "name": "SANS_TEXT", - "description": "The site logo should be displayed with the site title _hidden_.", + "name": "OLDEST", + "description": "Sort submission targets by oldest created date.", "isDeprecated": false, "deprecationReason": null }, { - "name": "WITH_TEXT", - "description": "The site logo should be displayed with the site title _visible_.", + "name": "RECENT", + "description": "Sort submission targets by newest created date.", "isDeprecated": false, "deprecationReason": null } @@ -81953,19 +109275,19 @@ }, { "kind": "OBJECT", - "name": "SiteSettings", - "description": "Configuration settings for information about this installation.", + "name": "SubmissionTargetReviewer", + "description": "A reviewer assigned to a `SubmissionTarget`.\n", "fields": [ { - "name": "footer", - "description": "Settings related to the site's footer", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "SiteFooter", + "name": "AuthorizationResult", "ofType": null } }, @@ -81973,15 +109295,63 @@ "deprecationReason": null }, { - "name": "installationHomePageCopy", - "description": "The text that appears on the root page of the frontend. Supports basic markdown.", + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", "ofType": null } }, @@ -81989,15 +109359,15 @@ "deprecationReason": null }, { - "name": "installationName", - "description": "The name of the installation.", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Slug", "ofType": null } }, @@ -82005,15 +109375,15 @@ "deprecationReason": null }, { - "name": "logoMode", - "description": "How the logo should be rendered", + "name": "submissionTarget", + "description": "The submission target this reviewer is assigned to.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SiteLogoMode", + "kind": "OBJECT", + "name": "SubmissionTarget", "ofType": null } }, @@ -82021,123 +109391,47 @@ "deprecationReason": null }, { - "name": "providerName", - "description": "The name of the provider supporting and maintaining this installation.", + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "SiteSettingsInput", - "description": "A value for updating the site's configuration", - "fields": null, - "inputFields": [ - { - "name": "footer", - "description": "Settings for the site's footer", - "type": { - "kind": "INPUT_OBJECT", - "name": "SiteFooterInput", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "installationHomePageCopy", - "description": "The text that appears on the root page of the frontend. Supports basic markdown.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "installationName", - "description": "The name of the installation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null }, { - "name": "logoMode", - "description": "How the logo should be rendered", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], "type": { - "kind": "ENUM", - "name": "SiteLogoMode", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "providerName", - "description": "The name of the provider supporting and maintaining this installation.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Slug", - "description": "A slug that can identify a record in context", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Sluggable", - "description": "Objects have a serialized slug for looking them up in the system and generating links without UUIDs", - "fields": [ - { - "name": "slug", - "description": null, + "name": "user", + "description": "The user assigned as a reviewer.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Slug", + "kind": "OBJECT", + "name": "User", "ofType": null } }, @@ -82146,450 +109440,176 @@ } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Announcement", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AssetAudio", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AssetDocument", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AssetImage", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AssetPDF", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AssetUnknown", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "AssetVideo", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "BlurbTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "BlurbTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Collection", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CollectionAttribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CollectionContribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Community", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContextualPermission", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributionRoleConfiguration", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorCollectionAttribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorItemAttribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorListTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContributorListTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabulary", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularyItem", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularySource", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DescendantListTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DescendantListTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DetailTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DetailTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EntityLink", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttempt", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttemptEntityStatus", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestAttemptRecordStatus", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestEntity", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestError", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMapping", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMessage", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestMetadataMapping", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestRecord", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestSet", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HarvestSource", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HeroLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HeroLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HeroTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "HeroTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Item", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ItemAttribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ItemContribution", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "LinkListTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "LinkListTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ListItemLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ListItemLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ListItemTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ListItemTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MainLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MainLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MetadataLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MetadataLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MetadataTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "MetadataTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "NavigationLayoutDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "NavigationLayoutInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "NavigationTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "NavigationTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Ordering", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderingEntry", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderingTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderingTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrganizationContributor", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "PageListTemplateDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "PageListTemplateInstance", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Permalink", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "PersonContributor", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Role", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SchemaDefinition", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SchemaVersion", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SearchResult", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SupplementaryLayoutDefinition", - "ofType": null - }, + "interfaces": [ { - "kind": "OBJECT", - "name": "SupplementaryLayoutInstance", + "kind": "INTERFACE", + "name": "CommonModel", "ofType": null }, { - "kind": "OBJECT", - "name": "SupplementaryTemplateDefinition", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "SupplementaryTemplateInstance", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null }, { - "kind": "OBJECT", - "name": "TemplateInstanceSibling", + "kind": "INTERFACE", + "name": "Node", "ofType": null }, { - "kind": "OBJECT", - "name": "User", + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null - }, + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerConnection", + "description": "The connection type for SubmissionTargetReviewer.", + "fields": [ { - "kind": "OBJECT", - "name": "UserCollectionAccessGrant", - "ofType": null + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserCommunityAccessGrant", - "ofType": null + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserGroup", - "ofType": null - }, + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ { - "kind": "OBJECT", - "name": "UserGroupCollectionAccessGrant", + "kind": "INTERFACE", + "name": "Paginated", "ofType": null - }, + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerCreateInput", + "description": "Autogenerated input type of SubmissionTargetReviewerCreate", + "fields": null, + "inputFields": [ { - "kind": "OBJECT", - "name": "UserGroupCommunityAccessGrant", - "ofType": null + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserGroupItemAccessGrant", - "ofType": null + "name": "submissionTargetId", + "description": "The ID of the `SubmissionTarget` to assign a reviewer to.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UserItemAccessGrant", - "ofType": null + "name": "userId", + "description": "The ID of the `User` to assign the reviewer role to.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } - ] + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null }, { - "kind": "INTERFACE", - "name": "StandardMutationPayload", - "description": "Most mutations implement this interface in their payload in order to offer a standardize response value", + "kind": "OBJECT", + "name": "SubmissionTargetReviewerCreatePayload", + "description": "Autogenerated return type of SubmissionTargetReviewerCreate.", "fields": [ { "name": "attributeErrors", @@ -82615,6 +109635,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "errors", "description": null, @@ -82674,413 +109706,815 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "submissionTargetReviewer", + "description": "The newly-modified submission target reviewer, if successful.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "AlterSchemaVersionPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ApplySchemaPropertiesPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularyDestroyPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularySourceUpdatePayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ControlledVocabularyUpsertPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateAnnouncementPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateAssetPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateCollectionPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateCommunityPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateItemPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateOrderingPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateOrganizationContributorPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreatePagePayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreatePersonContributorPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateRolePayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyAnnouncementPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyAssetPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyCollectionPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyCommunityPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyContributionPayload", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DestroyContributorPayload", - "ofType": null - }, + "interfaces": [ { - "kind": "OBJECT", - "name": "DestroyEntityLinkPayload", + "kind": "INTERFACE", + "name": "StandardMutationPayload", "ofType": null - }, + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerDestroyInput", + "description": "Autogenerated input type of SubmissionTargetReviewerDestroy", + "fields": null, + "inputFields": [ { - "kind": "OBJECT", - "name": "DestroyItemPayload", - "ofType": null + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "DestroyOrderingPayload", - "ofType": null - }, + "name": "submissionTargetReviewerId", + "description": "The submission target reviewer to destroy.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerDestroyPayload", + "description": "Autogenerated return type of SubmissionTargetReviewerDestroy.", + "fields": [ { - "kind": "OBJECT", - "name": "DestroyPagePayload", - "ofType": null + "name": "attributeErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationAttributeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "EntityPurgePayload", - "ofType": null + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "FrontendCacheRevalidateEntityPayload", - "ofType": null + "name": "destroyed", + "description": "Whether or not the model was successfully destroyed. If false, check globalErrors", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "FrontendCacheRevalidateInstancePayload", - "ofType": null + "name": "destroyedId", + "description": "The ID of the deleted model", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "GrantAccessPayload", - "ofType": null + "name": "errors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use attributeErrors or globalErrors" }, { - "kind": "OBJECT", - "name": "HarvestAttemptFromMappingPayload", - "ofType": null + "name": "globalErrors", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationGlobalError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HarvestAttemptFromSourcePayload", - "ofType": null - }, + "name": "haltCode", + "description": "Not presently used", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ { - "kind": "OBJECT", - "name": "HarvestAttemptPruneEntitiesPayload", + "kind": "INTERFACE", + "name": "DestroyMutationPayload", "ofType": null }, { - "kind": "OBJECT", - "name": "HarvestMappingCreatePayload", + "kind": "INTERFACE", + "name": "StandardMutationPayload", "ofType": null - }, + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetReviewerEdge", + "description": "An edge in a connection for `SubmissionTargetReviewer`.\n", + "fields": [ { - "kind": "OBJECT", - "name": "HarvestMappingDestroyPayload", - "ofType": null + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HarvestMappingUpdatePayload", - "ofType": null - }, + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetReviewer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetReviewerFilterInput", + "description": "Filtering options for `SubmissionTargetReviewer` records.\n", + "fields": null, + "inputFields": [ { - "kind": "OBJECT", - "name": "HarvestMetadataMappingCreatePayload", - "ofType": null + "name": "createdAt", + "description": "Filter the model's `created_at` with time constraints.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HarvestMetadataMappingDestroyPayload", - "ofType": null + "name": "submissionTargetIds", + "description": "Filter by the submission target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HarvestSourceCreatePayload", - "ofType": null + "name": "updatedAt", + "description": "Filter the model's `updated_at` with time constraints.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "FilterMatchTimeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HarvestSourceDestroyPayload", - "ofType": null - }, + "name": "userIds", + "description": "Filter by the associated user.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubmissionTargetReviewerOrder", + "description": "Sort a collection of `SubmissionTargetReviewer` records by specific properties and directions.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "kind": "OBJECT", - "name": "HarvestSourcePruneEntitiesPayload", - "ofType": null + "name": "DEFAULT", + "description": "Sort submission target reviewers by their default order.", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "HarvestSourceUpdatePayload", - "ofType": null + "name": "OLDEST", + "description": "Sort submission target reviewers by oldest created date.", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "LinkEntityPayload", - "ofType": null - }, + "name": "RECENT", + "description": "Sort submission target reviewers by newest created date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetSection", + "description": "An object representing a section of a submission target's description.\n", + "fields": [ { - "kind": "OBJECT", - "name": "PermalinkCreatePayload", - "ofType": null + "name": "content", + "description": "The content of the section. This is the actual text that will be displayed for this section of the action's description.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "PermalinkDestroyPayload", - "ofType": null + "name": "identifier", + "description": "A unique identifier for the section. This is generated by the system and should not be provided by the client.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "PermalinkUpdatePayload", - "ofType": null + "name": "name", + "description": "The name of the section. This is used to identify the section and should be unique within an action.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "PreviewSlotPayload", - "ofType": null - }, + "name": "position", + "description": "The position of the section within the action's description.\n\nThis value is automatically generated by the API.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubmissionTargetSectionInput", + "description": "An input object representing a section of a submission target's description.\n", + "fields": null, + "inputFields": [ { - "kind": "OBJECT", - "name": "RenderLayoutsPayload", - "ofType": null + "name": "content", + "description": "The content of the section. This is the actual text that will be displayed for this section of the submission target's description.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "ReparentEntityPayload", - "ofType": null - }, + "name": "name", + "description": "The name of the section. This is used to identify the section and should be unique within a submission target.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubmissionTargetState", + "description": "The state of a submission target, describing whether it is accepting submissions or not.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "kind": "OBJECT", - "name": "ResetOrderingPayload", - "ofType": null + "name": "CLOSED", + "description": "The submission target is not accepting submissions.\n", + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "RevokeAccessPayload", - "ofType": null - }, + "name": "OPEN", + "description": "The submission target is accepting submissions.\n", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetTransition", + "description": "A transition for a `SubmissionTarget`.\n", + "fields": [ { - "kind": "OBJECT", - "name": "UpdateAnnouncementPayload", - "ofType": null + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdateAssetAttachmentPayload", - "ofType": null + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdateAssetPayload", - "ofType": null + "name": "createdAt", + "description": "The date this record was created within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdateCollectionPayload", - "ofType": null + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdateCommunityPayload", - "ofType": null + "name": "fromState", + "description": "The state that the submission target is transitioning from. This will be null if the submission target is being created.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubmissionTargetState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdateContributionPayload", - "ofType": null + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdateGlobalConfigurationPayload", - "ofType": null + "name": "mostRecent", + "description": "Whether this is the most recent transition.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdateItemPayload", - "ofType": null + "name": "slug", + "description": "The encoded slug for this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Slug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdateOrderingPayload", - "ofType": null + "name": "toState", + "description": "The state that the submission target is transitioning to.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubmissionTargetState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdateOrganizationContributorPayload", - "ofType": null + "name": "updatedAt", + "description": "The date this record was last updated within the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdatePagePayload", - "ofType": null + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null }, { - "kind": "OBJECT", - "name": "UpdatePersonContributorPayload", + "name": "user", + "description": "The user who performed the transition, if available.\n\nSome transitions may happen through automated processes, so the user will not always be set.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", "ofType": null }, { - "kind": "OBJECT", - "name": "UpdateRolePayload", + "kind": "INTERFACE", + "name": "CommonPermissions", "ofType": null }, { - "kind": "OBJECT", - "name": "UpdateUserPayload", + "kind": "INTERFACE", + "name": "CommonTransition", "ofType": null }, { - "kind": "OBJECT", - "name": "UpdateViewerSettingsPayload", + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", "ofType": null }, { - "kind": "OBJECT", - "name": "UpsertContributionPayload", + "kind": "INTERFACE", + "name": "Node", "ofType": null }, { - "kind": "OBJECT", - "name": "UserResetPasswordPayload", + "kind": "INTERFACE", + "name": "Sluggable", "ofType": null } - ] + ], + "enumValues": null, + "possibleTypes": null }, { "kind": "OBJECT", - "name": "StaticOrderingPath", - "description": "This property is static and is always available on an\nentity, irrespective of its schema.\n", + "name": "SubmissionTargetTransitionConnection", + "description": "The connection type for SubmissionTargetTransition.", "fields": [ { - "name": "description", - "description": "A helpful description of the path", + "name": "edges", + "description": "A list of edges.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetTransitionEdge", + "ofType": null + } + } + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "grouping", - "description": "A logical grouping for ordering paths", + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "OrderingPathGrouping", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTargetTransition", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "label", - "description": "A human-readable label for the path", + "name": "pageInfo", + "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [ { - "name": "labelPrefix", - "description": "Some paths may have a prefix. For instance, schema properties will have the name of the schema.\n", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTargetTransitionEdge", + "description": "An edge in a connection for `SubmissionTargetTransition`.\n", + "fields": [ { - "name": "path", - "description": "The exact path that should be provided to mutation inputs.", + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", @@ -83095,15 +110529,15 @@ "deprecationReason": null }, { - "name": "type", - "description": "The schema property type", + "name": "node", + "description": "The item at the end of the edge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyType", + "kind": "OBJECT", + "name": "SubmissionTargetTransition", "ofType": null } }, @@ -83112,41 +110546,25 @@ } ], "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "OrderingPath", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "String", - "description": "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.", - "fields": null, - "inputFields": null, - "interfaces": null, + "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "StringProperty", - "description": null, + "name": "SubmissionTransition", + "description": "A transition for a `Submission`.\n", "fields": [ { - "name": "array", - "description": "Provided for introspection. This describes whether or not the property's value\ncomes in an array rather than representing a discrete piece of information.\n\nSee `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty`\nfor examples.\n", + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "OBJECT", + "name": "AuthorizationResult", "ofType": null } }, @@ -83154,51 +110572,75 @@ "deprecationReason": null }, { - "name": "content", - "description": null, + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "default", - "description": null, + "name": "createdAt", + "description": "The date this record was created within the API.", "args": [], "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "description", - "description": null, + "name": "createdOn", + "description": "The date this record was created within the API (date only).", "args": [], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fromState", + "description": "The state that the submission target is transitioning from. This will be null if the submission target is being created.\n", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubmissionState", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "fullPath", - "description": "The full path that represents the property on the schema instance. It is guaranteed\nto be unique for the instance, and can be used to grab a property directly, as well as\nfacilitating schema validation and errors within the admin application's forms.\n", + "name": "id", + "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, @@ -83206,15 +110648,15 @@ "deprecationReason": null }, { - "name": "function", - "description": "The purpose or intent of this property relative to its entity, parents, and others.\n", + "name": "mostRecent", + "description": "Whether this is the most recent transition.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SchemaPropertyFunction", + "kind": "SCALAR", + "name": "Boolean", "ofType": null } }, @@ -83222,15 +110664,15 @@ "deprecationReason": null }, { - "name": "isWide", - "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", + "name": "slug", + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "Slug", "ofType": null } }, @@ -83238,15 +110680,15 @@ "deprecationReason": null }, { - "name": "kind", - "description": "Provided for introspection. This describes the underlying structure of the data type.\n", + "name": "toState", + "description": "The state that the submission target is transitioning to.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyKind", + "name": "SubmissionState", "ofType": null } }, @@ -83254,15 +110696,15 @@ "deprecationReason": null }, { - "name": "label", - "description": null, + "name": "updatedAt", + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ISO8601DateTime", "ofType": null } }, @@ -83270,15 +110712,15 @@ "deprecationReason": null }, { - "name": "orderable", - "description": "Provided for introspection. Whether this property can be used to order entities.\nFor certain data types, there's no sensible way to order properties.\n", + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Boolean", + "name": "ISO8601Date", "ofType": null } }, @@ -83286,40 +110728,86 @@ "deprecationReason": null }, { - "name": "path", - "description": "The \"short\" path for the property. For properties nested within a group, this can\nbe considered the name of the property without the group's prefix.\n", + "name": "user", + "description": "The user who performed the transition, if available.\n\nSome transitions may happen through automated processes, so the user will not always be set.\n", "args": [], "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "OBJECT", + "name": "User", + "ofType": null }, "isDeprecated": false, "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null }, { - "name": "required", - "description": "Whether or not this property is required in order for the schema instance\nto be considered valid.\n\nNote: invalid data provided to a schema property will still invalidate\nthe instance as a whole—the required trait only determines whether a value\n**must** be set.\n", + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonTransition", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Sluggable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTransitionConnection", + "description": "The connection type for SubmissionTransition.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTransitionEdge", + "ofType": null + } + } } }, "isDeprecated": false, "deprecationReason": null }, { - "name": "searchOperators", - "description": null, + "name": "nodes", + "description": "A list of nodes.", "args": [], "type": { "kind": "NON_NULL", @@ -83331,8 +110819,8 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "ENUM", - "name": "SearchOperator", + "kind": "OBJECT", + "name": "SubmissionTransition", "ofType": null } } @@ -83342,8 +110830,41 @@ "deprecationReason": null }, { - "name": "searchPath", - "description": null, + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Paginated", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmissionTransitionEdge", + "description": "An edge in a connection for `SubmissionTransition`.\n", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", @@ -83358,42 +110879,113 @@ "deprecationReason": null }, { - "name": "type", - "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmissionTransition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Submittable", + "description": "Entities can optionally be submitted to.\n", + "fields": [ + { + "name": "canDeposit", + "description": "Whether the current user has permission to deposit a new entity into this one.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canReview", + "description": "Whether the current user has permission to review deposits to this entity.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submissionStatus", + "description": "THe current submission status of this entity. Is it a draft, published, or unrelated?\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", - "name": "SchemaPropertyType", + "name": "EntitySubmissionStatus", "ofType": null } }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "submissionTarget", + "description": "The submission target that this entity can be submitted to, if any.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubmissionTarget", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, - "interfaces": [ + "interfaces": [], + "enumValues": null, + "possibleTypes": [ { - "kind": "INTERFACE", - "name": "ScalarProperty", + "kind": "OBJECT", + "name": "Collection", "ofType": null }, { - "kind": "INTERFACE", - "name": "SchemaProperty", + "kind": "OBJECT", + "name": "Community", "ofType": null }, { - "kind": "INTERFACE", - "name": "SearchableProperty", + "kind": "OBJECT", + "name": "Item", "ofType": null } - ], - "enumValues": null, - "possibleTypes": null + ] }, { "kind": "ENUM", @@ -83452,9 +111044,41 @@ "name": "SupplementaryLayoutDefinition", "description": null, "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -83468,6 +111092,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "id", "description": null, @@ -83502,7 +111142,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -83554,7 +111194,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -83567,10 +111207,41 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "LayoutDefinition", @@ -83627,9 +111298,41 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -83643,6 +111346,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "entity", "description": "The associated entity for this layout instance.\n", @@ -83721,7 +111440,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -83773,7 +111492,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -83786,10 +111505,41 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "LayoutInstance", @@ -83831,9 +111581,41 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -83847,6 +111629,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "id", "description": null, @@ -83897,7 +111695,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -83929,7 +111727,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -83942,10 +111740,41 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -84021,9 +111850,41 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -84037,6 +111898,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "definition", "description": "Load the associated definition for this template.\n", @@ -84195,7 +112072,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -84227,7 +112104,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -84240,10 +112117,41 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -84428,6 +112336,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "isWide", "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", @@ -84524,6 +112444,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "tags", "description": null, @@ -85451,9 +113387,41 @@ "name": "TemplateInstanceSibling", "description": "A brief detail about a template instance's siblings, to help with finessing certain style concerns.\n\nFor `PREV` siblings, the positions are returned in descending order. If a template is at position\n3 of 5, then these will be returned at position 2 and 1 in that order.\n\nFor `NEXT` siblings, the positions are returned in ascending order. If a template is at position\n3 of 5, then these will be returned at position 4 and 5 in that order.\n", "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -85467,6 +113435,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "dark", "description": "Whether the sibling has a `DARK` background.\n", @@ -85565,7 +113549,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -85597,7 +113581,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -85611,6 +113595,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "width", "description": "The width of the sibling (if available).\n", @@ -85626,6 +113626,21 @@ ], "inputFields": null, "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -86504,11 +114519,11 @@ { "kind": "OBJECT", "name": "ThemeSettings", - "description": "Configuration settings for the theme of the WDP frontend.", + "description": "Configuration settings for the theme of the Meru frontend.\n", "fields": [ { "name": "color", - "description": null, + "description": "The color of the theme, being one of `[\"cream\", \"blue\", \"gray\"]`.\n", "args": [], "type": { "kind": "NON_NULL", @@ -86524,7 +114539,7 @@ }, { "name": "font", - "description": null, + "description": "The font of the theme, being one of `[\"style1\", \"style2\", \"style3\"]`.\n", "args": [], "type": { "kind": "NON_NULL", @@ -86547,12 +114562,12 @@ { "kind": "INPUT_OBJECT", "name": "ThemeSettingsInput", - "description": "A value for updating the theme", + "description": "Configuration settings for the theme of the Meru frontend.\n", "fields": null, "inputFields": [ { "name": "color", - "description": null, + "description": "The color of the theme, being one of `[\"cream\", \"blue\", \"gray\"]`.\n", "type": { "kind": "NON_NULL", "name": null, @@ -86568,7 +114583,7 @@ }, { "name": "font", - "description": null, + "description": "The font of the theme, being one of `[\"style1\", \"style2\", \"style3\"]`.\n", "type": { "kind": "NON_NULL", "name": null, @@ -86664,6 +114679,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "isWide", "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", @@ -86800,6 +114827,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "timestamp", "description": null, @@ -86944,6 +114987,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "isWide", "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", @@ -87040,6 +115095,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "type", "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", @@ -87232,6 +115303,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "isWide", "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", @@ -87328,6 +115411,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "type", "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", @@ -89027,6 +117126,30 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "contributors", + "description": "Possible new settings for contributors", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContributorsSettingsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "depositing", + "description": "Possible new settings for depositing behavior", + "type": { + "kind": "INPUT_OBJECT", + "name": "DepositingSettingsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "entities", "description": "Possible new settings for entity behavior", @@ -92073,6 +120196,118 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canAccessAdmin", + "description": "Whether this user has access to the admin section of Meru.\n\nOnly a `viewer` with admin access will be able to see the actual\nresult of this auth check.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canClaimContributor", + "description": "Whether this user has the ability to claim an unclaimed contributor profile as their own.\n\nThis requires both that the user has permission to manage the system broadly,\nand that they do not already have a contributor profile linked to their account.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canReceiveReviewRequests", + "description": "Whether this user is a reviewer on **any** submission targets, and should see information about\npotential review requests in the UI.\n\nThis is meant to be checked on the `Query.viewer`.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canResetPassword", + "description": "Whether the current user has permission to reset this user's password.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canRevalidateInstance", + "description": "Whether this user has permission to trigger revalidation of the entire frontend.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "collectionAccessGrants", "description": "All access grants for this user on a collection", @@ -92613,9 +120848,33 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "contributorLinks", + "description": "Any links between this user and contributors in the system.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributorUserLink", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -92629,6 +120888,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "email", "description": "A user's email. Depending on the upstream provider, this may not be set.", @@ -93019,6 +121294,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "primaryContributor", + "description": "The primary contributor associated with this user, if any.\n\nFor the actual link records, see `User.contributorLinks`.\n", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Contributor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "primaryRole", "description": "The primary role associated with this subject.", @@ -93033,7 +121320,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -93049,7 +121336,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -93063,6 +121350,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "uploadAccess", "description": "Can this user upload anything at all?", @@ -93111,11 +121414,26 @@ "name": "AccessGrantSubject", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, { "kind": "INTERFACE", "name": "ExposesPermissions", "ofType": null }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -93226,6 +121544,38 @@ "name": "UserCollectionAccessGrant", "description": "An access grant for a user to a collection.\n", "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "collection", "description": "The collection to which a user has been granted access", @@ -93244,7 +121594,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -93258,6 +121608,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "entity", "description": "The polymorphic entity to which access has been granted", @@ -93308,7 +121674,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -93340,7 +121706,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -93354,6 +121720,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "user", "description": "The user which has been granted access", @@ -93378,6 +121760,21 @@ "name": "AccessGrant", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -93526,6 +121923,38 @@ "name": "UserCommunityAccessGrant", "description": "An access grant for a user to a community.\n", "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "community", "description": "The community to which a user has been granted access", @@ -93544,7 +121973,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -93558,6 +121987,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "entity", "description": "The polymorphic entity to which access has been granted", @@ -93608,7 +122053,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -93640,7 +122085,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -93654,6 +122099,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "user", "description": "The user which has been granted access", @@ -93678,6 +122139,21 @@ "name": "AccessGrant", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -94311,6 +122787,38 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "collectionAccessGrants", "description": "All access grants for this group on a collection", @@ -94539,7 +123047,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -94553,6 +123061,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "description", "description": null, @@ -94728,7 +123252,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -94744,7 +123268,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -94758,6 +123282,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "users", "description": null, @@ -94879,6 +123419,21 @@ "name": "AccessGrantSubject", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -94989,6 +123544,38 @@ "name": "UserGroupCollectionAccessGrant", "description": "An access grant for a group to a collection.\n", "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "collection", "description": "The collection to which a group has been granted access", @@ -95007,7 +123594,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -95021,6 +123608,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "entity", "description": "The polymorphic entity to which access has been granted", @@ -95071,7 +123674,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -95103,7 +123706,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -95117,6 +123720,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "userGroup", "description": "The group which has been granted access", @@ -95141,6 +123760,21 @@ "name": "AccessGrant", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -95289,6 +123923,38 @@ "name": "UserGroupCommunityAccessGrant", "description": "An access grant for a group to a community.\n", "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "community", "description": "The community to which a group has been granted access", @@ -95307,7 +123973,7 @@ }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -95321,6 +123987,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "entity", "description": "The polymorphic entity to which access has been granted", @@ -95371,7 +124053,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -95403,7 +124085,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -95417,6 +124099,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "userGroup", "description": "The group which has been granted access", @@ -95441,6 +124139,21 @@ "name": "AccessGrant", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -95589,9 +124302,41 @@ "name": "UserGroupItemAccessGrant", "description": "An access grant for a group to a item.\n", "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -95605,6 +124350,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "entity", "description": "The polymorphic entity to which access has been granted", @@ -95671,7 +124432,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -95703,7 +124464,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -95717,6 +124478,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "userGroup", "description": "The group which has been granted access", @@ -95741,6 +124518,21 @@ "name": "AccessGrant", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -95889,9 +124681,41 @@ "name": "UserItemAccessGrant", "description": "An access grant for a user to a collection.\n", "fields": [ + { + "name": "canDestroy", + "description": "Whether the current user has permission to destroy this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the current user has permission to update this record.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuthorizationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "createdAt", - "description": null, + "description": "The date this record was created within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -95905,6 +124729,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "createdOn", + "description": "The date this record was created within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "entity", "description": "The polymorphic entity to which access has been granted", @@ -95971,7 +124811,7 @@ }, { "name": "slug", - "description": null, + "description": "The encoded slug for this record.\n", "args": [], "type": { "kind": "NON_NULL", @@ -96003,7 +124843,7 @@ }, { "name": "updatedAt", - "description": null, + "description": "The date this record was last updated within the API.", "args": [], "type": { "kind": "NON_NULL", @@ -96017,6 +124857,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "updatedOn", + "description": "The date this record was last updated within the API (date only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "user", "description": "The user which has been granted access", @@ -96041,6 +124897,21 @@ "name": "AccessGrant", "ofType": null }, + { + "kind": "INTERFACE", + "name": "CommonModel", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "CommonPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasDefaultTimestamps", + "ofType": null + }, { "kind": "INTERFACE", "name": "Node", @@ -96255,6 +125126,145 @@ ], "possibleTypes": null }, + { + "kind": "OBJECT", + "name": "UserPermissionGrid", + "description": "A grid of permissions related to user management in Meru.\n", + "fields": [ + { + "name": "allowedActions", + "description": "A list of allowed actions for the given user on this entity (and its descendants).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "create", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "delete", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "An array of hashes that can be requested to load in a context", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PermissionGrant", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "read", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "update", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CRUDPermissionGrid", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ExposesPermissions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "PermissionGrid", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, { "kind": "INPUT_OBJECT", "name": "UserProfileInput", @@ -96627,6 +125637,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "instructions", + "description": "Instructions for filling out this property during submission, if applicable.\n", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "isWide", "description": "Whether to render a field as \"wide\" (two columns) in the form.\nThis is intended to help structure forms logically, as well as\nprovide ample space for certain types of data input, particularly\nfull-text, markdown, and other such complex fields.\n", @@ -96763,6 +125785,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "submittable", + "description": "Whether or not this property should be displayed as part of the submission process for this schema.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "type", "description": "Provided for introspection. This represents the actual data type this property\nuses.\n\nRendering in the frontend should rely primarily on the `AnySchemaProperty` and\n`AnyScalarProperty` unions (in that order)`, rather than relying on this value,\nsince the actual implementations of these properties differ in the GraphQL types\nassociated with their values.\n", diff --git a/packages/admin/schema.graphql b/packages/admin/schema.graphql index 457a1cc96..cc924d8df 100644 --- a/packages/admin/schema.graphql +++ b/packages/admin/schema.graphql @@ -164,6 +164,30 @@ interface Accessible { ): AnyAccessGrantConnection! } +""" +Permissions tied to the admin section of Meru. + +""" +type AdminPermissionGrid implements ExposesPermissions & PermissionGrid { + """ + A permission to access the admin section of Meru. + + This is checked in order to determine whether or not + the client should redirect from the admin dashboard (or any admin section) + when a user tries to access it. + + Actual access to specific admin features is determined by other permissions. + + """ + access: Boolean! + """ + A list of allowed actions for the given user on this entity (and its descendants). + """ + allowedActions: [String!]! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! +} + """Autogenerated input type of AlterSchemaVersion""" input AlterSchemaVersionInput { """A unique identifier for the client performing the mutation.""" @@ -457,10 +481,23 @@ An announcement tied to an entity. These are configured through the backend and to provide time-sensensitive information and news about a specific entity in the system. """ -type Announcement implements Node & Sluggable { +type Announcement implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """A body for the announcement""" body: String! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """The entity that owns the announcement""" entity: Entity! """A header value for the announcement""" @@ -468,10 +505,17 @@ type Announcement implements Node & Sluggable { id: ID! """The date of the announcement.""" publishedOn: ISO8601Date! + """ + The encoded slug for this record. + + """ slug: Slug! """A teaser for the announcement""" teaser: String! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """The connection type for Announcement.""" @@ -569,6 +613,13 @@ type AnyCommunityAccessGrantEdge { node: AnyCommunityAccessGrant! } +""" +An input for `submissionTargetConfigure` that accepts a submission target +**or** an entity that can be configured. + +""" +union AnyConfigurableSubmissionTarget = Collection | Community | Item | SubmissionTarget + """A union of types that can be contributed to""" union AnyContributable = CollectionContribution | ItemContribution @@ -819,10 +870,14 @@ interface Asset implements Node & Sluggable { preview: ImageAttachment! """Configurable metadata for the preview attachment""" previewMetadata: ImageMetadata + """ + The encoded slug for this record. + + """ slug: Slug! } -type AssetAudio implements Asset & Node & Sluggable { +type AssetAudio implements Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { altText: String assetDownloads( """ @@ -849,9 +904,22 @@ type AssetAudio implements Asset & Node & Sluggable { usOnly: Boolean = false ): AnalyticsRegionCountSummary! attachable: Attachable! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! caption: String contentType: String! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! downloadURL: String downloadUrl: String @deprecated(reason: "Use downloadURL instead") fileSize: Int! @@ -861,8 +929,15 @@ type AssetAudio implements Asset & Node & Sluggable { preview: ImageAttachment! """Configurable metadata for the preview attachment""" previewMetadata: ImageMetadata + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """The connection type for Asset.""" @@ -875,7 +950,7 @@ type AssetConnection implements Paginated { pageInfo: PageInfo! } -type AssetDocument implements Asset & Node & Sluggable { +type AssetDocument implements Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { altText: String assetDownloads( """ @@ -902,9 +977,22 @@ type AssetDocument implements Asset & Node & Sluggable { usOnly: Boolean = false ): AnalyticsRegionCountSummary! attachable: Attachable! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! caption: String contentType: String! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! downloadURL: String downloadUrl: String @deprecated(reason: "Use downloadURL instead") fileSize: Int! @@ -914,8 +1002,15 @@ type AssetDocument implements Asset & Node & Sluggable { preview: ImageAttachment! """Configurable metadata for the preview attachment""" previewMetadata: ImageMetadata + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """An edge in a connection.""" @@ -926,7 +1021,7 @@ type AssetEdge { node: Asset! } -type AssetImage implements Asset & Node & Sluggable { +type AssetImage implements Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { altText: String assetDownloads( """ @@ -953,9 +1048,22 @@ type AssetImage implements Asset & Node & Sluggable { usOnly: Boolean = false ): AnalyticsRegionCountSummary! attachable: Attachable! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! caption: String contentType: String! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! downloadURL: String downloadUrl: String @deprecated(reason: "Use downloadURL instead") fileSize: Int! @@ -965,12 +1073,20 @@ type AssetImage implements Asset & Node & Sluggable { preview: ImageAttachment! """Configurable metadata for the preview attachment""" previewMetadata: ImageMetadata + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """The supported kinds of assets in the system""" enum AssetKind { + archive audio document image @@ -992,7 +1108,7 @@ enum AssetKindFilter { VIDEO } -type AssetPDF implements Asset & Node & Sluggable { +type AssetPDF implements Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { altText: String assetDownloads( """ @@ -1019,9 +1135,22 @@ type AssetPDF implements Asset & Node & Sluggable { usOnly: Boolean = false ): AnalyticsRegionCountSummary! attachable: Attachable! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! caption: String contentType: String! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! downloadURL: String downloadUrl: String @deprecated(reason: "Use downloadURL instead") fileSize: Int! @@ -1031,8 +1160,15 @@ type AssetPDF implements Asset & Node & Sluggable { preview: ImageAttachment! """Configurable metadata for the preview attachment""" previewMetadata: ImageMetadata + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ @@ -1083,6 +1219,11 @@ type AssetProperty implements ScalarProperty & SchemaProperty { """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -1123,6 +1264,11 @@ type AssetProperty implements ScalarProperty & SchemaProperty { """ required: Boolean! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -1142,7 +1288,7 @@ type AssetSelectOption { value: String! } -type AssetUnknown implements Asset & Node & Sluggable { +type AssetUnknown implements Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { altText: String assetDownloads( """ @@ -1169,9 +1315,22 @@ type AssetUnknown implements Asset & Node & Sluggable { usOnly: Boolean = false ): AnalyticsRegionCountSummary! attachable: Attachable! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! caption: String contentType: String! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! downloadURL: String downloadUrl: String @deprecated(reason: "Use downloadURL instead") fileSize: Int! @@ -1181,11 +1340,18 @@ type AssetUnknown implements Asset & Node & Sluggable { preview: ImageAttachment! """Configurable metadata for the preview attachment""" previewMetadata: ImageMetadata + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -type AssetVideo implements Asset & Node & Sluggable { +type AssetVideo implements Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { altText: String assetDownloads( """ @@ -1212,9 +1378,22 @@ type AssetVideo implements Asset & Node & Sluggable { usOnly: Boolean = false ): AnalyticsRegionCountSummary! attachable: Attachable! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! caption: String contentType: String! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! downloadURL: String downloadUrl: String @deprecated(reason: "Use downloadURL instead") fileSize: Int! @@ -1224,8 +1403,15 @@ type AssetVideo implements Asset & Node & Sluggable { preview: ImageAttachment! """Configurable metadata for the preview attachment""" previewMetadata: ImageMetadata + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } type AssetsProperty implements ScalarProperty & SchemaProperty { @@ -1260,6 +1446,11 @@ type AssetsProperty implements ScalarProperty & SchemaProperty { """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -1300,6 +1491,11 @@ type AssetsProperty implements ScalarProperty & SchemaProperty { """ required: Boolean! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -1374,6 +1570,15 @@ interface Attribution { roles: [ControlledVocabularyItem!]! } +type AuthorizationResult { + """Human-readable error message""" + message: String + """Reasons of check failure""" + reasons: FailureReasons + """Result of applying a policy rule""" + value: Boolean! +} + """ An enumerated value associated with the templating subsystem. @@ -1396,13 +1601,26 @@ enum BlurbBackground { NONE } -type BlurbTemplateDefinition implements Node & Sluggable & TemplateDefinition { +type BlurbTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { """ The background gradient to use for this template. Affects presentation. """ background: BlurbBackground + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! id: ID! layoutKind: LayoutKind! """ @@ -1410,9 +1628,16 @@ type BlurbTemplateDefinition implements Node & Sluggable & TemplateDefinition { """ slots: BlurbTemplateDefinitionSlots! + """ + The encoded slug for this record. + + """ slug: Slug! templateKind: TemplateKind! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ This controls how wide the template should render. @@ -1433,13 +1658,26 @@ type BlurbTemplateDefinitionSlots { subheader: TemplateSlotInlineDefinition } -type BlurbTemplateInstance implements Node & Renderable & Sluggable & TemplateInstance { +type BlurbTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance { """ Whether all slots in this template are empty. """ allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ Load the associated definition for this template. @@ -1483,9 +1721,16 @@ type BlurbTemplateInstance implements Node & Renderable & Sluggable & TemplateIn """ slots: BlurbTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ slug: Slug! templateKind: TemplateKind! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ @@ -1524,6 +1769,11 @@ type BooleanProperty implements ScalarProperty & SchemaProperty & SearchableProp """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -1562,6 +1812,11 @@ type BooleanProperty implements ScalarProperty & SchemaProperty & SearchableProp searchOperators: [SearchOperator!]! searchPath: String! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -1597,9 +1852,7 @@ in a tree structure. In practice, this means a `Collection` or an `Item`, not a `Community`. """ -interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermissions & HasDOI & HasDefaultTimestamps & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & ReferencesEntityVisibility & ReferencesGlobalEntityDates & Searchable & Sluggable { - """Derived access control list""" - accessControlList: AccessControlList +interface ChildEntity implements Accessible & CommonPermissions & Entity & EntityBase & EntityContextualPermissions & EntityPermissions & ExposesPermissions & HasDOI & HasDefaultTimestamps & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & Node & ReferencesEntityVisibility & ReferencesGlobalEntityDates & Searchable & Sluggable & Submittable { """A polymorphic connection for access grants from an entity""" allAccessGrants( """Returns the elements in the list that come after the specified cursor.""" @@ -1646,7 +1899,10 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi ): Entity """Look up an announcement for this entity by slug""" announcement(slug: Slug!): Announcement - """Announcements for a specific entity""" + """ + A list of announcements associated with this entity. + + """ announcements( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -1694,10 +1950,78 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi ): ContextualPermissionConnection! """Previous entries in the hierarchy""" breadcrumbs: [EntityBreadcrumb!]! + """ + Whether the current user has permission to alter the schema version of this entity. + + Submission drafts will be denied, even if the user would otherwise have permission. + + """ + canAlterSchemaVersion: AuthorizationResult! + """ + Whether the current user has permission to create assets under this entity. + + """ + canCreateAssets: AuthorizationResult! + """ + Whether the current user has permission to create collections under this entity. + + """ + canCreateCollections: AuthorizationResult! + """ + Whether the current user has permission to create items under this entity. + + """ + canCreateItems: AuthorizationResult! + """ + Whether the current user has permission to deposit a new entity into this one. + + """ + canDeposit: AuthorizationResult! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to manage access to this entity. + + This opens up `grantAccess` and `revokeAccess` mutations. + + """ + canManageAccess: AuthorizationResult! + """ + Whether the current user has permission to purge this entity. + + """ + canPurge: AuthorizationResult! + """ + Whether the current user has permission to reparent this entity. + + Submission drafts will be denied, even if the user would otherwise have permission. + + """ + canReparent: AuthorizationResult! + """ + Whether the current user has permission to revalidate this entity. + + """ + canRevalidate: AuthorizationResult! + """ + Whether the current user has permission to review deposits to this entity. + + """ + canReview: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """The community this entity belongs to""" community: Community! - """The date this entity was added to the WDP""" + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ Whether the entity is _currently_ hidden, based on the server's time zone. @@ -1709,7 +2033,9 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi """ currentlyVisible: Boolean! """ - Search and retrieve *all* descendants of this `Entity`, regardless of type. + All descendants of this entity, regardless of type. + + Communities and collections can both contain collections and items. Items will only contain items. """ descendants( @@ -1787,9 +2113,12 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi """If present, this is the timestamp the entity was hidden at""" hiddenAt: ISO8601DateTime """ - The depth of the hierarchical entity, taking into account any parent types + The depth of the hierarchical entity, taking into account any parent types. + """ hierarchicalDepth: Int! + """ID of the object.""" + id: ID! """ A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers. """ @@ -1800,7 +2129,10 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi """ layouts: EntityLayouts! leaf: Boolean! - """Available link targets for this entity""" + """ + Available link targets for this entity. + + """ linkTargetCandidates( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -1821,6 +2153,10 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi perPage: Int title: String = "" ): LinkTargetCandidateConnection! + """ + Links from this entity to other entities, along with metadata about those links. + + """ links( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -1862,7 +2198,7 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi slug: Slug! ): Ordering """ - Retrieve a connection of orderings for the parent object. + A list of orderings associated with this entity. """ orderings( @@ -1898,6 +2234,10 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi """ slug: String! ): Page + """ + A list of pages associated with this entity. + + """ pages( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -1927,13 +2267,26 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi """ rawDOI: String root: Boolean! + """ + The schema definition that this entity conforms to. + + """ schemaDefinition: SchemaDefinition! """ A list of schema properties associated with this instance or version. """ schemaProperties: [SchemaProperty!]! + """ + The hierarchical schema ranks for this entity, which compute the overall structure + of its descendants by schema definition. + + """ schemaRanks: [HierarchicalSchemaRank!]! + """ + The schema version that this entity conforms to. + + """ schemaVersion: SchemaVersion! """Search from this level of the API using it as the origin""" search( @@ -1951,8 +2304,22 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi """ visibility: EntityVisibilityFilter = VISIBLE ): SearchScope! + """ + The encoded slug for this record. + + """ slug: Slug! """ + THe current submission status of this entity. Is it a draft, published, or unrelated? + + """ + submissionStatus: EntitySubmissionStatus! + """ + The submission target that this entity can be submitted to, if any. + + """ + submissionTarget: SubmissionTarget + """ A human-readable subtitle for the entity. """ @@ -1973,8 +2340,10 @@ interface ChildEntity implements Accessible & Entity & EntityBase & ExposesPermi """ title: String! - """The date this entity was last updated within the WDP""" + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """If an entity is available in the frontend""" visibility: EntityVisibility! """ @@ -2014,21 +2383,19 @@ Used to process redirect URIs for specific client locations. """ enum ClientLocation { """ - The admin client (http://localhost:3000). + The admin client (https://admin.sandbox.meru.host). """ ADMIN """ - The frontend client (http://localhost:14700). + The frontend client (https://sandbox.meru.host). """ FRONTEND } """A collection of items""" -type Collection implements Accessible & Attachable & Attributable & ChildEntity & Contributable & Entity & EntityBase & ExposesPermissions & HarvestTarget & HasDOI & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & ReferencesEntityVisibility & ReferencesGlobalEntityDates & SchemaInstance & Searchable & Sluggable { - """Derived access control list""" - accessControlList: AccessControlList +type Collection implements Accessible & Attachable & Attributable & ChildEntity & CommonModel & CommonPermissions & Contributable & Entity & EntityBase & EntityContextualPermissions & EntityPermissions & ExposesPermissions & HarvestTarget & HasDOI & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & ReferencesEntityVisibility & ReferencesGlobalEntityDates & SchemaInstance & Searchable & Sluggable & Submittable { accessGrants( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -2095,7 +2462,10 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity ): Entity """Look up an announcement for this entity by slug""" announcement(slug: Slug!): Announcement - """Announcements for a specific entity""" + """ + A list of announcements associated with this entity. + + """ announcements( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -2216,6 +2586,72 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity """Previous entries in the hierarchy""" breadcrumbs: [EntityBreadcrumb!]! """ + Whether the current user has permission to alter the schema version of this entity. + + Submission drafts will be denied, even if the user would otherwise have permission. + + """ + canAlterSchemaVersion: AuthorizationResult! + """ + Whether the current user has permission to create assets under this entity. + + """ + canCreateAssets: AuthorizationResult! + """ + Whether the current user has permission to create collections under this entity. + + """ + canCreateCollections: AuthorizationResult! + """ + Whether the current user has permission to create items under this entity. + + """ + canCreateItems: AuthorizationResult! + """ + Whether the current user has permission to deposit a new entity into this one. + + """ + canDeposit: AuthorizationResult! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to manage access to this entity. + + This opens up `grantAccess` and `revokeAccess` mutations. + + """ + canManageAccess: AuthorizationResult! + """ + Whether the current user has permission to purge this entity. + + """ + canPurge: AuthorizationResult! + """ + Whether the current user has permission to reparent this entity. + + Submission drafts will be denied, even if the user would otherwise have permission. + + """ + canReparent: AuthorizationResult! + """ + Whether the current user has permission to revalidate this entity. + + """ + canRevalidate: AuthorizationResult! + """ + Whether the current user has permission to review deposits to this entity. + + """ + canReview: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """ The canonical permalink for this resource, if one is set. """ @@ -2287,11 +2723,24 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity Returns the elements in the list that come before the specified cursor. """ before: String + """ + Filters that **must** match. + + """ + filters: ContributorFilterInput = {} """Returns the first _n_ elements from the list.""" first: Int kind: ContributorFilterKind = ALL """Returns the last _n_ elements from the list.""" last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ContributorFilterInput!] = [] order: ContributorOrder = NAME_ASCENDING """The page of edges/nodes to fetch""" page: Int @@ -2302,11 +2751,15 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity """ Search for contributors with names that start with the provided text. + **Deprecated**: Use the `nameSearch` filter instead. + """ prefix: String ): AnyContributorConnection! - """The date this entity was added to the WDP""" + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ Whether the entity is _currently_ hidden, based on the server's time zone. @@ -2318,7 +2771,9 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity """ currentlyVisible: Boolean! """ - Search and retrieve *all* descendants of this `Entity`, regardless of type. + All descendants of this entity, regardless of type. + + Communities and collections can both contain collections and items. Items will only contain items. """ descendants( @@ -2445,7 +2900,8 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity """If present, this is the timestamp the entity was hidden at""" hiddenAt: ISO8601DateTime """ - The depth of the hierarchical entity, taking into account any parent types + The depth of the hierarchical entity, taking into account any parent types. + """ hierarchicalDepth: Int! id: ID! @@ -2461,6 +2917,11 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity Returns the elements in the list that come before the specified cursor. """ before: String + """ + Filters that **must** match. + + """ + filters: ItemFilterInput = {includeDrafts: false} """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" @@ -2469,6 +2930,14 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity Select the classification of nodes to retrieve: see TreeNodeFilter for a more thorough explanation """ nodeFilter: TreeNodeFilter = ROOTS_ONLY + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ItemFilterInput!] = [] order: EntityOrder = PUBLISHED_DESCENDING """The page of edges/nodes to fetch""" page: Int @@ -2485,7 +2954,10 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity """ layouts: EntityLayouts! leaf: Boolean! - """Available link targets for this entity""" + """ + Available link targets for this entity. + + """ linkTargetCandidates( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -2506,6 +2978,10 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity perPage: Int title: String = "" ): LinkTargetCandidateConnection! + """ + Links from this entity to other entities, along with metadata about those links. + + """ links( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -2547,7 +3023,7 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity slug: Slug! ): Ordering """ - Retrieve a connection of orderings for the parent object. + A list of orderings associated with this entity. """ orderings( @@ -2583,6 +3059,10 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity """ slug: String! ): Page + """ + A list of pages associated with this entity. + + """ pages( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -2639,6 +3119,10 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity perPage: Int ): CollectionConnection! root: Boolean! + """ + The schema definition that this entity conforms to. + + """ schemaDefinition: SchemaDefinition! """ The context for our schema instance. Includes form values and necessary referents. @@ -2661,7 +3145,16 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity """ fullPath: String! ): SchemaProperty + """ + The hierarchical schema ranks for this entity, which compute the overall structure + of its descendants by schema definition. + + """ schemaRanks: [HierarchicalSchemaRank!]! + """ + The schema version that this entity conforms to. + + """ schemaVersion: SchemaVersion! """Search from this level of the API using it as the origin""" search( @@ -2679,8 +3172,22 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity """ visibility: EntityVisibilityFilter = VISIBLE ): SearchScope! + """ + The encoded slug for this record. + + """ slug: Slug! """ + THe current submission status of this entity. Is it a draft, published, or unrelated? + + """ + submissionStatus: EntitySubmissionStatus! + """ + The submission target that this entity can be submitted to, if any. + + """ + submissionTarget: SubmissionTarget + """ A human-readable subtitle for the entity. """ @@ -2701,8 +3208,10 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity """ title: String! - """The date this entity was last updated within the WDP""" + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """Access grants for specific users""" userAccessGrants( """Returns the elements in the list that come after the specified cursor.""" @@ -2771,17 +3280,37 @@ type Collection implements Accessible & Attachable & Attributable & ChildEntity Attributions for collections. """ -type CollectionAttribution implements Attribution & Node & Sluggable { +type CollectionAttribution implements Attribution & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! contributor: ContributorBase! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! id: ID! """ A priority-ordered list of the roles the associated contributor had. """ roles: [ControlledVocabularyItem!]! + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """The connection type for Collection.""" @@ -2795,15 +3324,28 @@ type CollectionConnection implements Paginated { } """A contribution to a collection""" -type CollectionContribution implements Contribution & ContributionBase & Node & Sluggable { +type CollectionContribution implements CommonModel & CommonPermissions & Contribution & ContributionBase & HasDefaultTimestamps & Node & Sluggable { """A potentially-overridden value from person contributors""" affiliation: String + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! collection: Collection! """The actual role""" contributionRole: ControlledVocabularyItem! contributor: Contributor! contributorKind: ContributorKind! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """A potentially-overridden display name value for all contributor types""" displayName: String! id: ID! @@ -2828,10 +3370,17 @@ type CollectionContribution implements Contribution & ContributionBase & Node & role: String @deprecated(reason: "Use `roleLabel` instead.") """An arbitrary text value describing the role the contributor had""" roleLabel: String + """ + The encoded slug for this record. + + """ slug: Slug! """A potentially-overridden value from person contributors""" title: String + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """The connection type for CollectionContribution.""" @@ -2860,12 +3409,84 @@ type CollectionEdge { node: Collection! } +""" +The parent of a collection, which can be either a community or another collection. + +""" union CollectionParent = Collection | Community +""" +Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + +""" +interface CommonModel implements CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ID of the object.""" + id: ID! + """ + The encoded slug for this record. + + """ + slug: Slug! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Common permissions shared on most models. + +""" +interface CommonPermissions { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! +} + +""" +A common interface for transition models, which represent state changes in a state machine. +These models have `from_state`, `to_state`, and `most_recent` fields, as well as an optional +association to a `User` who performed the transition. + +""" +interface CommonTransition { + """ + Whether this is the most recent transition. + + """ + mostRecent: Boolean! + """ + The user who performed the transition, if available. + + Some transitions may happen through automated processes, so the user will not always be set. + + """ + user: User +} + """A community of users""" -type Community implements Accessible & Attachable & Entity & EntityBase & ExposesPermissions & HarvestTarget & HasEntityAnalytics & HasEntityBreadcrumbs & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & SchemaInstance & Searchable & Sluggable { - """Derived access control list""" - accessControlList: AccessControlList +type Community implements Accessible & Attachable & CommonModel & CommonPermissions & Entity & EntityBase & EntityContextualPermissions & EntityPermissions & ExposesPermissions & HarvestTarget & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & SchemaInstance & Searchable & Sluggable & Submittable { accessGrants( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -2913,7 +3534,10 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose allowedActions: [String!]! """Look up an announcement for this entity by slug""" announcement(slug: Slug!): Announcement - """Announcements for a specific entity""" + """ + A list of announcements associated with this entity. + + """ announcements( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -3032,6 +3656,72 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose """Previous entries in the hierarchy""" breadcrumbs: [EntityBreadcrumb!]! """ + Whether the current user has permission to alter the schema version of this entity. + + Submission drafts will be denied, even if the user would otherwise have permission. + + """ + canAlterSchemaVersion: AuthorizationResult! + """ + Whether the current user has permission to create assets under this entity. + + """ + canCreateAssets: AuthorizationResult! + """ + Whether the current user has permission to create collections under this entity. + + """ + canCreateCollections: AuthorizationResult! + """ + Whether the current user has permission to create items under this entity. + + """ + canCreateItems: AuthorizationResult! + """ + Whether the current user has permission to deposit a new entity into this one. + + """ + canDeposit: AuthorizationResult! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to manage access to this entity. + + This opens up `grantAccess` and `revokeAccess` mutations. + + """ + canManageAccess: AuthorizationResult! + """ + Whether the current user has permission to purge this entity. + + """ + canPurge: AuthorizationResult! + """ + Whether the current user has permission to reparent this entity. + + Submission drafts will be denied, even if the user would otherwise have permission. + + """ + canReparent: AuthorizationResult! + """ + Whether the current user has permission to revalidate this entity. + + """ + canRevalidate: AuthorizationResult! + """ + Whether the current user has permission to review deposits to this entity. + + """ + canReview: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """ The canonical permalink for this resource, if one is set. """ @@ -3062,9 +3752,14 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose """Filter by a namespace.name schema identifier""" schema: [String!] ): CollectionConnection! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - Search and retrieve *all* descendants of this `Entity`, regardless of type. + All descendants of this entity, regardless of type. + + Communities and collections can both contain collections and items. Items will only contain items. """ descendants( @@ -3142,7 +3837,8 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose """Configurable metadata for the hero_image attachment""" heroImageMetadata: ImageMetadata """ - The depth of the hierarchical entity, taking into account any parent types + The depth of the hierarchical entity, taking into account any parent types. + """ hierarchicalDepth: Int! id: ID! @@ -3151,7 +3847,10 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose """ layouts: EntityLayouts! - """Available link targets for this entity""" + """ + Available link targets for this entity. + + """ linkTargetCandidates( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -3172,6 +3871,10 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose perPage: Int title: String = "" ): LinkTargetCandidateConnection! + """ + Links from this entity to other entities, along with metadata about those links. + + """ links( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -3210,7 +3913,7 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose slug: Slug! ): Ordering """ - Retrieve a connection of orderings for the parent object. + A list of orderings associated with this entity. """ orderings( @@ -3246,6 +3949,10 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose """ slug: String! ): Page + """ + A list of pages associated with this entity. + + """ pages( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -3272,6 +3979,10 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose """An array of hashes that can be requested to load in a context""" permissions: [PermissionGrant!]! position: Int + """ + The schema definition that this entity conforms to. + + """ schemaDefinition: SchemaDefinition! """ The context for our schema instance. Includes form values and necessary referents. @@ -3294,7 +4005,16 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose """ fullPath: String! ): SchemaProperty + """ + The hierarchical schema ranks for this entity, which compute the overall structure + of its descendants by schema definition. + + """ schemaRanks: [HierarchicalSchemaRank!]! + """ + The schema version that this entity conforms to. + + """ schemaVersion: SchemaVersion! """Search from this level of the API using it as the origin""" search( @@ -3312,8 +4032,22 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose """ visibility: EntityVisibilityFilter = VISIBLE ): SearchScope! + """ + The encoded slug for this record. + + """ slug: Slug! """ + THe current submission status of this entity. Is it a draft, published, or unrelated? + + """ + submissionStatus: EntitySubmissionStatus! + """ + The submission target that this entity can be submitted to, if any. + + """ + submissionTarget: SubmissionTarget + """ A human-readable subtitle for the entity. """ @@ -3335,7 +4069,10 @@ type Community implements Accessible & Attachable & Entity & EntityBase & Expose """ title: String! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """Access grants for specific users""" userAccessGrants( """Returns the elements in the list that come after the specified cursor.""" @@ -3397,7 +4134,7 @@ type CommunityEdge { } """A contextual permission for a user, role, and entity""" -type ContextualPermission implements ExposesPermissions & Node & Sluggable { +type ContextualPermission implements CommonModel & CommonPermissions & ExposesPermissions & HasDefaultTimestamps & Node & Sluggable { """ The derived access control list for this user and entity. @@ -3412,7 +4149,20 @@ type ContextualPermission implements ExposesPermissions & Node & Sluggable { A list of allowed actions for the given user on this entity (and its descendants). """ allowedActions: [String!]! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! id: ID! """An array of hashes that can be requested to load in a context""" permissions: [PermissionGrant!]! @@ -3421,8 +4171,15 @@ type ContextualPermission implements ExposesPermissions & Node & Sluggable { """ roles: [Role!]! + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ The user that has the contextual permission. @@ -3474,11 +4231,24 @@ interface Contributable { Returns the elements in the list that come before the specified cursor. """ before: String + """ + Filters that **must** match. + + """ + filters: ContributorFilterInput = {} """Returns the first _n_ elements from the list.""" first: Int kind: ContributorFilterKind = ALL """Returns the last _n_ elements from the list.""" last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ContributorFilterInput!] = [] order: ContributorOrder = NAME_ASCENDING """The page of edges/nodes to fetch""" page: Int @@ -3489,6 +4259,8 @@ interface Contributable { """ Search for contributors with names that start with the provided text. + **Deprecated**: Use the `nameSearch` filter instead. + """ prefix: String ): AnyContributorConnection! @@ -3625,13 +4397,26 @@ enum ContributionOrder { Configuration for the controlled vocabulary used for contribution roles on a given `source`. """ -type ContributionRoleConfiguration implements Node & Sluggable { +type ContributionRoleConfiguration implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """ The set of items to use for contribution roles for this source. """ controlledVocabulary: ControlledVocabulary! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ The default item to use when a contribution is created but no role is provided. This is necessary as a fallback for harvesting and other use cases. @@ -3644,8 +4429,15 @@ type ContributionRoleConfiguration implements Node & Sluggable { """ otherItem: ControlledVocabularyItem + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ @@ -3672,9 +4464,10 @@ input ContributionRoleConfigurationInput { } """ -Objects have a serialized slug for looking them up in the system and generating links without UUIDs +Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + """ -interface Contributor implements ContributorBase & HasHarvestModificationStatus & Sluggable { +interface Contributor implements CommonPermissions & ContributorBase & HasHarvestModificationStatus & Sluggable { """ Only applicable when `kind` = `PERSON`. @@ -3701,6 +4494,53 @@ interface Contributor implements ContributorBase & HasHarvestModificationStatus ): ContributorAttributionConnection! bio: String """ + Whether the current user has the ability to claim this contributor profile as their own. + + This requires both that the user has permission to manage the system broadly, + and that they do not already have a contributor profile linked to their account. + + It also requires the contributor to be unclaimed. + + It is associated with the `contributorClaim` mutation. + + """ + canClaim: AuthorizationResult! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has the ability to link this contributor profile to any user account. + + This differs from `canClaim` in that it does not require the contributor to be unclaimed, + and can specify the user account to link to. + + It is associated with the `contributorUserLinkUpsert` mutation. + + """ + canLinkUser: AuthorizationResult! + """ + Whether the current user has the ability to use this contributor profile as a source in a merge operation. + + """ + canMergeSource: AuthorizationResult! + """ + Whether the current user has the ability to use this contributor profile as a target in a merge operation. + + """ + canMergeTarget: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """ + Whether this contributor has been claimed by a user. + + """ + claimed: Boolean! + """ The total number of collection contributions from this contributor. """ @@ -3788,6 +4628,26 @@ interface Contributor implements ContributorBase & HasHarvestModificationStatus """ location: String """ + Whether this contributor is currently involved in an active merge as either a source or target. + + """ + mergeBusy: Boolean! + """ + The status of this contributor in the context of being a merge source. + + """ + mergeSourceStatus: ContributorMergeSourceStatus! + """ + The target of the merge, if available. + + """ + mergeTarget: ContributorBase + """ + The status of this contributor in the context of being a merge target. + + """ + mergeTargetStatus: ContributorMergeTargetStatus! + """ A display name, independent of the type of contributor. """ @@ -3798,6 +4658,10 @@ interface Contributor implements ContributorBase & HasHarvestModificationStatus """ orcid: String prefix: String + """ + The encoded slug for this record. + + """ slug: Slug! suffix: String """ @@ -3806,6 +4670,11 @@ interface Contributor implements ContributorBase & HasHarvestModificationStatus """ title: String url: String + """ + The link between this contributor and a user, if any exists. + + """ + userLink: ContributorUserLink } """ @@ -3885,9 +4754,10 @@ enum ContributorAttributionOrder { } """ -Objects have a serialized slug for looking them up in the system and generating links without UUIDs +Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + """ -interface ContributorBase implements HasHarvestModificationStatus & Sluggable { +interface ContributorBase implements CommonPermissions & HasHarvestModificationStatus & Sluggable { """ Only applicable when `kind` = `PERSON`. @@ -3895,12 +4765,59 @@ interface ContributorBase implements HasHarvestModificationStatus & Sluggable { affiliation: String bio: String """ - The total number of collection contributions from this contributor. + Whether the current user has the ability to claim this contributor profile as their own. + + This requires both that the user has permission to manage the system broadly, + and that they do not already have a contributor profile linked to their account. + + It also requires the contributor to be unclaimed. + + It is associated with the `contributorClaim` mutation. """ - collectionContributionCount: Int! + canClaim: AuthorizationResult! """ - The total number of contributions (item + collection) from this contributor. + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has the ability to link this contributor profile to any user account. + + This differs from `canClaim` in that it does not require the contributor to be unclaimed, + and can specify the user account to link to. + + It is associated with the `contributorUserLinkUpsert` mutation. + + """ + canLinkUser: AuthorizationResult! + """ + Whether the current user has the ability to use this contributor profile as a source in a merge operation. + + """ + canMergeSource: AuthorizationResult! + """ + Whether the current user has the ability to use this contributor profile as a target in a merge operation. + + """ + canMergeTarget: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """ + Whether this contributor has been claimed by a user. + + """ + claimed: Boolean! + """ + The total number of collection contributions from this contributor. + + """ + collectionContributionCount: Int! + """ + The total number of contributions (item + collection) from this contributor. """ contributionCount: Int! @@ -3944,6 +4861,26 @@ interface ContributorBase implements HasHarvestModificationStatus & Sluggable { """ location: String """ + Whether this contributor is currently involved in an active merge as either a source or target. + + """ + mergeBusy: Boolean! + """ + The status of this contributor in the context of being a merge source. + + """ + mergeSourceStatus: ContributorMergeSourceStatus! + """ + The target of the merge, if available. + + """ + mergeTarget: ContributorBase + """ + The status of this contributor in the context of being a merge target. + + """ + mergeTargetStatus: ContributorMergeTargetStatus! + """ A display name, independent of the type of contributor. """ @@ -3954,6 +4891,10 @@ interface ContributorBase implements HasHarvestModificationStatus & Sluggable { """ orcid: String prefix: String + """ + The encoded slug for this record. + + """ slug: Slug! suffix: String """ @@ -3962,16 +4903,71 @@ interface ContributorBase implements HasHarvestModificationStatus & Sluggable { """ title: String url: String + """ + The link between this contributor and a user, if any exists. + + """ + userLink: ContributorUserLink +} + +"""Autogenerated input type of ContributorClaim""" +input ContributorClaimInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The ID of the contributor to claim. This should be a contributor that has already been harvested for the current user. + + """ + contributorId: ID! +} + +"""Autogenerated return type of ContributorClaim.""" +type ContributorClaimPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The contributor that was claimed by the current user, if successful. + + """ + contributor: Contributor + """ + The link between the claimed contributor and the current user, if the claim was successful. + + """ + contributorUserLink: ContributorUserLink + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The current user, if the claim was successful. + + """ + user: User } """ A specific attribution on a `Collection`. """ -type ContributorCollectionAttribution implements ContributorAttribution & Node & Sluggable { +type ContributorCollectionAttribution implements CommonModel & CommonPermissions & ContributorAttribution & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """The collection the contributor has an attribution on.""" collection: Collection! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ The slug for the entity. @@ -3998,13 +4994,47 @@ type ContributorCollectionAttribution implements ContributorAttribution & Node & """ roles: [ControlledVocabularyItem!]! + """ + The encoded slug for this record. + + """ slug: Slug! """ The title of the entity. """ title: String! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Filtering options for `Contributor` records. + +""" +input ContributorFilterInput { + """ + Filter the model's `created_at` with time constraints. + + """ + createdAt: FilterMatchTimeInput + """ + Perform a full-text search with the provided query. + + """ + nameSearch: FullTextSearchQueryInput + """ + Whether to include only contributors that have not been claimed by a user. + + """ + unclaimed: Boolean + """ + Filter the model's `updated_at` with time constraints. + + """ + updatedAt: FilterMatchTimeInput } enum ContributorFilterKind { @@ -4017,8 +5047,21 @@ enum ContributorFilterKind { A specific attribution on a `Item`. """ -type ContributorItemAttribution implements ContributorAttribution & Node & Sluggable { +type ContributorItemAttribution implements CommonModel & CommonPermissions & ContributorAttribution & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ The slug for the entity. @@ -4047,13 +5090,20 @@ type ContributorItemAttribution implements ContributorAttribution & Node & Slugg """ roles: [ControlledVocabularyItem!]! + """ + The encoded slug for this record. + + """ slug: Slug! """ The title of the entity. """ title: String! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } enum ContributorKind { @@ -4112,13 +5162,26 @@ enum ContributorListFilter { AUTHORS } -type ContributorListTemplateDefinition implements Node & Sluggable & TemplateDefinition { +type ContributorListTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { """ The background gradient to use for this template. Affects presentation. """ background: ContributorListBackground + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ Filter which contributors may appear based on their contribution role. @@ -4136,9 +5199,16 @@ type ContributorListTemplateDefinition implements Node & Sluggable & TemplateDef """ slots: ContributorListTemplateDefinitionSlots! + """ + The encoded slug for this record. + + """ slug: Slug! templateKind: TemplateKind! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ This controls how wide the template should render. @@ -4157,18 +5227,31 @@ type ContributorListTemplateDefinitionSlots { header: TemplateSlotInlineDefinition } -type ContributorListTemplateInstance implements Node & Renderable & Sluggable & TemplateHasContributionList & TemplateInstance { +type ContributorListTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasContributionList & TemplateInstance { """ Whether all slots in this template are empty. """ allSlotsEmpty: Boolean! """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """ The list of contributions to render as part of this template's content. """ contributionList: TemplateContributionList! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ Load the associated definition for this template. @@ -4212,9 +5295,16 @@ type ContributorListTemplateInstance implements Node & Renderable & Sluggable & """ slots: ContributorListTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ slug: Slug! templateKind: TemplateKind! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ @@ -4231,6 +5321,87 @@ enum ContributorLookupField { ORCID } +"""Autogenerated input type of ContributorMerge""" +input ContributorMergeInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The ID of the contributor to merge. + + """ + sourceId: ID! + """ + The ID of the contributor to merge into. + + """ + targetId: ID! +} + +"""Autogenerated return type of ContributorMerge.""" +type ContributorMergePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The contributor being merged, if successful. + + """ + source: Contributor + """ + The contributor being merged into, if successful. + + """ + target: Contributor +} + +""" +The merge status of a `Contributor` in the context of being a merge source. + +Merging contributors happens in the background, so this +is useful to display when a contributor is in the process of being merged, +or if a merge has been completed but the source contributor has not yet been +deleted. + +""" +enum ContributorMergeSourceStatus { + """ + The contributor has been merged and is awaiting deletion. + + """ + MERGED + """ + The contributor is in the process of being merged to another. + + """ + MERGING + """ + The contributor is not currently being merged to another. + + """ + UNMERGED +} + +""" +The merge status of a `Contributor` in the context of being a merge target. + +""" +enum ContributorMergeTargetStatus { + """ + The contributor is currently the target of one or more merge(s). + + """ + ACTIVE + """ + The contributor is not currently the target of a merge. + + """ + INACTIVE +} + """Sort contributors by various properties and directions""" enum ContributorOrder { """Sort contributors by affiliation A-Z, then fall back to name A-Z""" @@ -4255,6 +5426,50 @@ enum ContributorOrder { RECENT } +""" +A grid of permissions for managing contributors in Meru. + +Contributors are a "global" record, in that they exist +outside of the entity hierarchy. + +`update` permissions for contributors can also be granted +by assigning that contributor to a user. + +""" +type ContributorPermissionGrid implements CRUDPermissionGrid & ExposesPermissions & PermissionGrid { + """ + A list of allowed actions for the given user on this entity (and its descendants). + """ + allowedActions: [String!]! + """ + Whether or not a user with this permission can claim a contributor. + + This is distinct from creating or updating in that it only + applies to unclaimed contributors contributes the following auth results: + + - `Contributor.canClaim` + - `User.canClaimContributor` + + See `Mutations.contributorClaim` for more details. + + """ + claim: Boolean! + create: Boolean! + delete: Boolean! + """ + Whether or not a user with this permission can merge contributor records together. + + This is distinct from `update` in that it only applies to the `contributorMerge` permission, + and feeds into the `canMergeSource` and `canMergeTarget` permissions on `Contributor`. + + """ + merge: Boolean! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! + read: Boolean! + update: Boolean! +} + type ContributorProperty implements ScalarProperty & SchemaProperty { """ Provided for introspection. This describes whether or not the property's value @@ -4287,6 +5502,11 @@ type ContributorProperty implements ScalarProperty & SchemaProperty { """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -4327,6 +5547,11 @@ type ContributorProperty implements ScalarProperty & SchemaProperty { """ required: Boolean! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -4346,56 +5571,211 @@ type ContributorSelectOption { value: String! } -type ContributorsProperty implements ScalarProperty & SchemaProperty { +""" +A link between a `Contributor` and a `User`, indicating that the user +is represented within Meru as that record. + +""" +type ContributorUserLink implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + Whether the current user has permission to destroy this record. """ - array: Boolean! - contributors: [Contributor!]! + canDestroy: AuthorizationResult! """ - A human-readable description for the property. It should describe the purpose of the - property as well as some details about the types of values it looks for. - - It can be rendered as help text, hints, etc. + Whether the current user has permission to update this record. """ - description: String + canUpdate: AuthorizationResult! """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + The contributor associated with this link. """ - fullPath: String! + contributor: Contributor! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! """ - The purpose or intent of this property relative to its entity, parents, and others. + The type of link between the contributor and user. """ - function: SchemaPropertyFunction! + linkage: ContributorUserLinkage! """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + The encoded slug for this record. """ - isWide: Boolean! + slug: Slug! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - Provided for introspection. This describes the underlying structure of the data type. + The user associated with this link. + + If the current viewer cannot see the user record, this will be null. """ - kind: SchemaPropertyKind! + user: User +} + +"""Autogenerated input type of ContributorUserLinkDestroy""" +input ContributorUserLinkDestroyInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - A human-readable label for the schema property. + The contributor user link to destroy. """ - label: String! - """ + contributorUserLinkId: ID! +} + +"""Autogenerated return type of ContributorUserLinkDestroy.""" +type ContributorUserLinkDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + Whether or not the model was successfully destroyed. If false, check globalErrors + """ + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""Autogenerated input type of ContributorUserLinkUpsert""" +input ContributorUserLinkUpsertInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The contributor to update. + + """ + contributorId: ID! + """ + The type of link to create or update between the contributor and user. + + Setting `PRIMARY` will override any other primary set for the associated user. + + """ + linkage: ContributorUserLinkage! + """ + The user to link to the contributor. + + """ + userId: ID! +} + +"""Autogenerated return type of ContributorUserLinkUpsert.""" +type ContributorUserLinkUpsertPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The newly-linked contributor, if successful. + + """ + contributor: Contributor + """ + The newly-created or updated link, if successful. + + """ + contributorUserLink: ContributorUserLink + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The user linked to the contributor, if successful. + + """ + user: User +} + +""" +The type of link between a `Contributor` and a `User` in a `ContributorUserLink`. + +""" +enum ContributorUserLinkage { + """ + An auxiliary link indicates that the `Contributor` is an additional identity for the user. + + This may be the case for users who've published under different names, or are being managed + by a user account representing a team or organization, etc. + + A user may have multiple auxiliary links. Setting a new auxiliary link does not affect existing ones. + + """ + AUXILIARY + """ + A primary link indicates that the `Contributor` is the primary identity for the user. + + A user may only have one primary link. Setting a new primary link will invalidate the previous. + + """ + PRIMARY +} + +type ContributorsProperty implements ScalarProperty & SchemaProperty { + """ + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. + + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. + + """ + array: Boolean! + contributors: [Contributor!]! + """ + A human-readable description for the property. It should describe the purpose of the + property as well as some details about the types of values it looks for. + + It can be rendered as help text, hints, etc. + + """ + description: String + """ + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. + + """ + fullPath: String! + """ + The purpose or intent of this property relative to its entity, parents, and others. + + """ + function: SchemaPropertyFunction! + """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. + + """ + isWide: Boolean! + """ + Provided for introspection. This describes the underlying structure of the data type. + + """ + kind: SchemaPropertyKind! + """ + A human-readable label for the schema property. + + """ + label: String! + """ Provided for introspection. Whether this property can be used to order entities. For certain data types, there's no sensible way to order properties. @@ -4418,6 +5798,11 @@ type ContributorsProperty implements ScalarProperty & SchemaProperty { """ required: Boolean! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -4430,6 +5815,42 @@ type ContributorsProperty implements ScalarProperty & SchemaProperty { type: SchemaPropertyType! } +""" +Settings related to how contributors are handled in this installation. + +""" +type ContributorsSettings { + """ + Whether users can claim ownership of an unclaimed contributor in this installation. + + """ + claimable: Boolean! + """ + Whether users who have claimed a contributor can manage that contributor + without needing to be an admin or anything else. + + """ + ownerUpdatable: Boolean! +} + +""" +Settings related to how contributors are handled in this installation. + +""" +input ContributorsSettingsInput { + """ + Whether users can claim ownership of an unclaimed contributor in this installation. + + """ + claimable: Boolean = true + """ + Whether users who have claimed a contributor can manage that contributor + without needing to be an admin or anything else. + + """ + ownerUpdatable: Boolean = true +} + type ControlledVocabulariesProperty implements HasControlledVocabulary & ScalarProperty & SchemaProperty { """ Provided for introspection. This describes whether or not the property's value @@ -4468,6 +5889,11 @@ type ControlledVocabulariesProperty implements HasControlledVocabulary & ScalarP """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -4508,6 +5934,11 @@ type ControlledVocabulariesProperty implements HasControlledVocabulary & ScalarP """ required: Boolean! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -4533,8 +5964,21 @@ A set of terms that can be selected in schemas. See also `ControlledVocabularyItem` and `ControlledVocabularySource`. """ -type ControlledVocabulary implements Node & Sluggable { +type ControlledVocabulary implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ An optional internal description of the purpose/values contained within. @@ -4577,8 +6021,15 @@ type ControlledVocabulary implements Node & Sluggable { """ provides: String! + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ A unique version for the controlled vocabulary (within the namespace/identifier). @@ -4633,12 +6084,24 @@ type ControlledVocabularyEdge { } """ -Filters for ControlledVocabulary. +Filtering options for `ControlledVocabulary` records. """ input ControlledVocabularyFilterInput { + """ + Filter by identifier. + + """ identifier: String + """ + Filter by namespace. + + """ namespace: String + """ + Filter by provides. + + """ provides: String } @@ -4646,13 +6109,26 @@ input ControlledVocabularyFilterInput { An individual term within a `ControlledVocabulary`. """ -type ControlledVocabularyItem implements Node & Sluggable { +type ControlledVocabularyItem implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """ Any children for this vocab item. Starting from a depth of 0 at the top level, items cannot nest any deeper than 2. """ children: [ControlledVocabularyItem!]! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ An optional, internal description for this specific term. @@ -4674,6 +6150,10 @@ type ControlledVocabularyItem implements Node & Sluggable { """ priority: Int + """ + The encoded slug for this record. + + """ slug: Slug! """ Optional tags used for certain programmatic tasks within Meru API. @@ -4685,7 +6165,10 @@ type ControlledVocabularyItem implements Node & Sluggable { """ unselectable: Boolean! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ An optional URL that should be linked to if present, using the `label` as link text, when displaying. @@ -4754,6 +6237,11 @@ type ControlledVocabularyProperty implements HasControlledVocabulary & ScalarPro """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -4794,6 +6282,11 @@ type ControlledVocabularyProperty implements HasControlledVocabulary & ScalarPro """ required: Boolean! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -4818,7 +6311,17 @@ A system-wide configuration that determines which `ControlledVocabulary` satisfi a desired `provides` value in schemas. """ -type ControlledVocabularySource implements Node & Sluggable { +type ControlledVocabularySource implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """ The controlled vocabulary that provides terms, if selected / available. @@ -4826,15 +6329,25 @@ type ControlledVocabularySource implements Node & Sluggable { """ controlledVocabulary: ControlledVocabulary + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! id: ID! """ This conforms to the `wants` attribute in CV schema properties. """ provides: String! + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """The connection type for ControlledVocabularySource.""" @@ -4856,11 +6369,14 @@ type ControlledVocabularySourceEdge { } """ -Filters for ControlledVocabularySource. +Filtering options for `ControlledVocabularySource` records. """ input ControlledVocabularySourceFilterInput { - """Fetch only sources that remain unsatisfied.""" + """ + Fetch only sources that remain unsatisfied. + + """ unsatisfied: Boolean } @@ -5495,6 +7011,11 @@ type DateProperty implements ScalarProperty & SchemaProperty & SearchablePropert """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -5533,6 +7054,11 @@ type DateProperty implements ScalarProperty & SchemaProperty & SearchablePropert searchOperators: [SearchOperator!]! searchPath: String! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -5546,1618 +7072,1554 @@ type DateProperty implements ScalarProperty & SchemaProperty & SearchablePropert } """ -An enumerated value associated with the templating subsystem. +Settings for depositing to this installation. """ -enum DescendantListBackground { - """ - A dark gradient is applied to the background of this template. - - """ - DARK +type DepositingSettings { """ - A light gradient is applied to the background of this template. + The agreement that users must accept before depositing. """ - LIGHT + agreement: String! """ - No background is applied to this template. + Whether depositing is enabled for this installation. """ - NONE + enabled: Boolean! } """ -An enum used to control the mode of selection for a descendant list template. +Settings for depositing to this installation. """ -enum DescendantListSelectionMode { +input DepositingSettingsInput { """ - Render descendants from a dynamic ordering, determined at query time. + The agreement that users must accept before depositing. """ - DYNAMIC + agreement: String = "" """ - Render descendants from a manual ordering set on each individual entity. See `manualListName` for how this works. + Whether depositing is enabled for this installation. """ - MANUAL + enabled: Boolean = false +} + +""" +The record of an agreement accepted by a depositor for a given submission target. + +""" +type DepositorAgreement implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Render descendants from a named ordering that exists on the source entity. + Whether the current user can accept this agreement. """ - NAMED + canAccept: AuthorizationResult! """ - Render entities from a schema property on the source entity. + Whether the current user has permission to destroy this record. """ - PROPERTY -} - -type DescendantListTemplateDefinition implements Node & Sluggable & TemplateDefinition { + canDestroy: AuthorizationResult! """ - The background gradient to use for this template. Affects presentation. + Whether the current user can reset this agreement. """ - background: DescendantListBackground + canReset: AuthorizationResult! """ - A boolean used to describe list templates that should match browse style as close as possible. + Whether the current user has permission to update this record. """ - browseStyle: Boolean + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! """ - When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure - as schemas to define a dynamic ordering that is resolved at runtime and based - on the `selectionSource`. + The timestamp of the most recent time the agreement was accepted by the depositor. """ - dynamicOrderingDefinition: OrderingDefinition + lastAcceptedAt: ISO8601DateTime """ - Enumerate how much context to show when listing entities. - - Replaces `showEntityContext`. + The encoded slug for this record. """ - entityContext: ListEntityContext - id: ID! - layoutKind: LayoutKind! + slug: Slug! """ - When `selectionMode` is set to `MANUAL`, the purpose of this property - is to specify a name under which all the manual selections (per entity) - will be stored. This allows a layout to have multiple templates of the - same type using different lists, that will persist across rearrangements - of the layout _without_ losing connections between entities. + The current state of the agreement. """ - manualListName: SchemaComponent + state: DepositorAgreementState! """ - When `selectionMode` is set to `NAMED`, this will look up the named ordering - on the resolved `selectionSource` and render up to `selectionLimit` entities. + The submission target associated with this agreement. """ - orderingIdentifier: SchemaComponent - seeAllButtonLabel: String + submissionTarget: SubmissionTarget! """ - If provided, this will expose an ordering on the template instance that can - be used to generate a link to the ordering in the frontend. - - """ - seeAllOrderingIdentifier: SchemaComponent - """ - The fallback mode to use when rendering a list of entities, when the list from - `selectionMode` is empty and `useSelectionFallback` has been set to true. + The state transitions for this agreement. """ - selectionFallbackMode: DescendantListSelectionMode - """ - Regardless of `selectionMode`, this limit will be applied on whatever resulting - list of entities are produced, so that only up to that amount of entities are - rendered in the template proper. - - """ - selectionLimit: Int + transitions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): DepositorAgreementTransitionConnection! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - The default mode to use when rendering a list of entities. - - See also `selectionFallbackMode` and `useSelectionFallback`. + The user who accepted the agreement. """ - selectionMode: DescendantListSelectionMode + user: User +} + +"""Autogenerated input type of DepositorAgreementAccept""" +input DepositorAgreementAcceptInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """The ID of the submission target that the agreement belongs to.""" + submissionTargetId: ID! +} + +"""Autogenerated return type of DepositorAgreementAccept.""" +type DepositorAgreementAcceptPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """The depositor agreement that was accepted.""" + depositorAgreement: DepositorAgreement + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""Autogenerated input type of DepositorAgreementResetAll""" +input DepositorAgreementResetAllInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - When `selectionMode` is set to `PROPERTY`, this should be set to the full path - for a given schema property on the associated `selectionSource` - + The ID of the submission target for which to reset depositor agreements. """ - selectionPropertyPath: SchemaPropertyPath + submissionTargetId: ID! +} + +"""Autogenerated return type of DepositorAgreementResetAll.""" +type DepositorAgreementResetAllPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """The submission target for which depositor agreements were reset.""" + submissionTarget: SubmissionTarget +} + +"""Autogenerated input type of DepositorAgreementReset""" +input DepositorAgreementResetInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - When selecting entities based on `selectionMode`, this property determines - which entity (relevant to the rendering entity) should be used for lookups. - - By default, it is `self`, which means the rendering entity itself. - - It can also support things like `ancestor.journal`, `ancestor.issue`, etc., - in order to render a list of values in its parent. - + The ID of the submission target for which to reset a depositor agreement. """ - selectionSource: TemplateSelectionSource + submissionTargetId: ID! + """The ID of the user for which to reset a depositor agreement.""" + userId: ID! +} + +"""Autogenerated return type of DepositorAgreementReset.""" +type DepositorAgreementResetPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """The depositor agreement that was reset.""" + depositorAgreement: DepositorAgreement + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +""" +The state of a user's acceptance of a given `SubmissionTarget`'s agreement requirements. + +""" +enum DepositorAgreementState { """ - The derived name of the ancestor used for the `selectionSource`. - - Exposed for introspection only. + The user has accepted the agreement for the submission target. """ - selectionSourceAncestorName: SchemaComponent + ACCEPTED """ - An enum representing what mode `selectionSource` is in. Not directly set, - it is used internally for lookups. + The user has not yet accepted the agreement for the submission target. """ - selectionSourceMode: SelectionSourceMode + PENDING +} + +""" +A transition for a `DepositorAgreement`. + +""" +type DepositorAgreementTransition implements CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable { """ - When true, this takes priority over `selectionLimit`. It allows an entire - matching list of records to be retrieved. It should be used with caution, - since very large entity trees could cause responses to be slow. + Whether the current user has permission to destroy this record. """ - selectionUnbounded: Boolean + canDestroy: AuthorizationResult! """ - Show contributors when listing entities. + Whether the current user has permission to update this record. """ - showContributors: Boolean + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - Show additional context about each entity in the selection. + The state that the depositor agreement is transitioning from. This will be null if the submission target is being created. """ - showEntityContext: Boolean @deprecated(reason: "Use entity_context enum instead") - showHeroImage: Boolean + fromState: DepositorAgreementState + id: ID! """ - Show nested items from the associated listItemLayouts in order to generate - a two-tier list. + Whether this is the most recent transition. """ - showNestedEntities: Boolean - showSeeAllButton: Boolean @deprecated(reason: "Use seeAllOrdering on the instance instead.") + mostRecent: Boolean! """ - Slot definitions for this template. + The encoded slug for this record. """ - slots: DescendantListTemplateDefinitionSlots! slug: Slug! - templateKind: TemplateKind! - title: String - updatedAt: ISO8601DateTime! - """ - Controls whether or not to use `selectionFallbackMode` if the entity list returned - via `selectionMode` turns out to be empty at runtime. - - """ - useSelectionFallback: Boolean """ - The variant rendering mode to use for this template. Affects presentation. + The state that the depositor agreement is transitioning to. """ - variant: DescendantListVariant + toState: DepositorAgreementState! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - This controls how wide the template should render. + The user who performed the transition, if available. - **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - template that also uses `HALF`. + Some transitions may happen through automated processes, so the user will not always be set. """ - width: TemplateWidth + user: User +} + +"""The connection type for DepositorAgreementTransition.""" +type DepositorAgreementTransitionConnection implements Paginated { + """A list of edges.""" + edges: [DepositorAgreementTransitionEdge!]! + """A list of nodes.""" + nodes: [DepositorAgreementTransition!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } """ -Slot definitions for the associated template. +An edge in a connection for `DepositorAgreementTransition`. """ -type DescendantListTemplateDefinitionSlots { - blockHeader: TemplateSlotInlineDefinition - blockHeaderFallback: TemplateSlotInlineDefinition - header: TemplateSlotInlineDefinition - headerAside: TemplateSlotInlineDefinition - headerFallback: TemplateSlotInlineDefinition - listContext: TemplateSlotInlineDefinition - metadata: TemplateSlotInlineDefinition - subtitle: TemplateSlotInlineDefinition +type DepositorAgreementTransitionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: DepositorAgreementTransition! } -type DescendantListTemplateInstance implements Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance { - """ - Whether all slots in this template are empty. - - """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! +""" +A request for depositor access to a given submission target. + +""" +type DepositorRequest implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Load the associated definition for this template. + Whether the current user has permission to destroy this record. """ - definition: DescendantListTemplateDefinition! + canDestroy: AuthorizationResult! """ - The associated entity for this template instance. + Whether the current user can approve or reject the request. """ - entity: Entity! + canTransition: AuthorizationResult! """ - The list of entities to render as part of this template's content. + Whether the current user has permission to update this record. """ - entityList: TemplateEntityList! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! """ - Whether this template instance should be hidden based on some logic. - - At present, this only occurs if certain slots are empty. + An optional message from the requester, which may be provided when making the depositor request and may be visible to management. """ - hidden: Boolean! - id: ID! + message: String """ - The time this object was last rendered. + The encoded slug for this record. """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! + slug: Slug! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + The current state of this depositor request. """ - nextSiblings: [TemplateInstanceSibling!]! + state: DepositorRequestState! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + The submission target that this depositor request is for. """ - prevSiblings: [TemplateInstanceSibling!]! + submissionTarget: SubmissionTarget! """ - The ordering to render for a "see all" link. + The state transitions for this depositor request. """ - seeAllOrdering: Ordering + transitions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): DepositorRequestTransitionConnection! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - Rendered slots for this template. + The user that made this depositor request. """ - slots: DescendantListTemplateInstanceSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Rendered slots for the associated template. - -""" -type DescendantListTemplateInstanceSlots { - blockHeader: TemplateSlotInlineInstance - blockHeaderFallback: TemplateSlotInlineInstance - header: TemplateSlotInlineInstance - headerAside: TemplateSlotInlineInstance - headerFallback: TemplateSlotInlineInstance - listContext: TemplateSlotInlineInstance - metadata: TemplateSlotInlineInstance - subtitle: TemplateSlotInlineInstance + user: User! } -""" -An enum used to control how a descendant list template should be rendered. - -""" -enum DescendantListVariant { +"""Autogenerated input type of DepositorRequestChangeState""" +input DepositorRequestChangeStateInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - A card list of entities. + The depositor request to update. """ - CARDS + depositorRequestId: ID! """ - A compact list of entities. + The state to transition the depositor request to. Valid states are `approved` and `rejected`. """ - COMPACT + toState: DepositorRequestState! +} + +"""Autogenerated return type of DepositorRequestChangeState.""" +type DepositorRequestChangeStatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - A grid of entities + The newly-modified depositor request, if successful. """ - GRID - """ - A horizontal list of entities with promotional header. + depositorRequest: DepositorRequest + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""The connection type for DepositorRequest.""" +type DepositorRequestConnection implements Paginated { + """A list of edges.""" + edges: [DepositorRequestEdge!]! + """A list of nodes.""" + nodes: [DepositorRequest!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""Autogenerated input type of DepositorRequestCreate""" +input DepositorRequestCreateInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + An optional message to include with the depositor request. """ - PROMOS + message: String """ - A vertical, summarized list of entities. + The ID of the submission target for which to create the depositor request. """ - SUMMARY + submissionTargetId: ID! +} + +"""Autogenerated return type of DepositorRequestCreate.""" +type DepositorRequestCreatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - A tree structure. + The newly-modified depositor request, if successful. """ - TREE + depositorRequest: DepositorRequest + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String } """ -The most basic shared properties for a single schema, whether a definition, -a version, or an aggregate based on the former types. +An edge in a connection for `DepositorRequest`. """ -interface DescribesSchema { +type DepositorRequestEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: DepositorRequest! +} + +""" +Filtering options for `DepositorRequest` records. + +""" +input DepositorRequestFilterInput { """ - The full declaration for this schema, including namespace, identifier, and version (if available). + Filter the model's `created_at` with time constraints. """ - declaration: String! + createdAt: FilterMatchTimeInput """ - A unique (per-namespace) value that names the schema within the system. + Filter by in state. """ - identifier: String! + inState: [DepositorRequestState!] """ - The kind of entity this schema applies to. + Filter the model's `updated_at` with time constraints. """ - kind: SchemaKind! + updatedAt: FilterMatchTimeInput +} + +""" +Sort a collection of `DepositorRequest` records by specific properties and directions. + +""" +enum DepositorRequestOrder { + """Sort depositor requests by their default order.""" + DEFAULT + """Sort depositor requests by oldest created date.""" + OLDEST + """Sort depositor requests by newest created date.""" + RECENT +} + +""" +Depositor request state enum + +""" +enum DepositorRequestState { + APPROVED + PENDING + REJECTED +} + +""" +A transition for a `DepositorRequest`. + +""" +type DepositorRequestTransition implements CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable { """ - A human-readable name for the schema. + Whether the current user has permission to destroy this record. """ - name: String! + canDestroy: AuthorizationResult! """ - A unique namespace the schema lives in. + Whether the current user has permission to update this record. """ - namespace: String! -} - -"""Autogenerated input type of DestroyAnnouncement""" -input DestroyAnnouncementInput { - announcementId: ID! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} - -"""Autogenerated return type of DestroyAnnouncement.""" -type DestroyAnnouncementPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - Whether or not the model was successfully destroyed. If false, check globalErrors + The state that the submission target is transitioning from. This will be null if the submission target is being created. + """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String -} - -"""Autogenerated input type of DestroyAsset""" -input DestroyAssetInput { - """The ID for the asset to destroy""" - assetId: ID! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} - -"""Autogenerated return type of DestroyAsset.""" -type DestroyAssetPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + fromState: DepositorRequestState + id: ID! """ - Whether or not the model was successfully destroyed. If false, check globalErrors + Whether this is the most recent transition. + """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + mostRecent: Boolean! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + The state that the submission target is transitioning to. + + """ + toState: DepositorRequestState! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + The user who performed the transition, if available. + + Some transitions may happen through automated processes, so the user will not always be set. + + """ + user: User } -"""Autogenerated input type of DestroyCollection""" -input DestroyCollectionInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """The ID for the collection to destroy""" - collectionId: ID! +"""The connection type for DepositorRequestTransition.""" +type DepositorRequestTransitionConnection implements Paginated { + """A list of edges.""" + edges: [DepositorRequestTransitionEdge!]! + """A list of nodes.""" + nodes: [DepositorRequestTransition!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } -"""Autogenerated return type of DestroyCollection.""" -type DestroyCollectionPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """ - Whether or not the model was successfully destroyed. If false, check globalErrors - """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String -} +""" +An edge in a connection for `DepositorRequestTransition`. -"""Autogenerated input type of DestroyCommunity""" -input DestroyCommunityInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """The ID for the community to destroy""" - communityId: ID! +""" +type DepositorRequestTransitionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: DepositorRequestTransition! } -"""Autogenerated return type of DestroyCommunity.""" -type DestroyCommunityPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +""" +An enumerated value associated with the templating subsystem. + +""" +enum DescendantListBackground { """ - Whether or not the model was successfully destroyed. If false, check globalErrors + A dark gradient is applied to the background of this template. + """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + DARK + """ + A light gradient is applied to the background of this template. + + """ + LIGHT + """ + No background is applied to this template. + + """ + NONE } -"""Autogenerated input type of DestroyContribution""" -input DestroyContributionInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - contributionId: ID! -} +""" +An enum used to control the mode of selection for a descendant list template. -"""Autogenerated return type of DestroyContribution.""" -type DestroyContributionPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +""" +enum DescendantListSelectionMode { """ - Whether or not the model was successfully destroyed. If false, check globalErrors + Render descendants from a dynamic ordering, determined at query time. + """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String -} - -"""Autogenerated input type of DestroyContributor""" -input DestroyContributorInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - contributorId: ID! + DYNAMIC + """ + Render descendants from a manual ordering set on each individual entity. See `manualListName` for how this works. + + """ + MANUAL + """ + Render descendants from a named ordering that exists on the source entity. + + """ + NAMED + """ + Render entities from a schema property on the source entity. + + """ + PROPERTY } -"""Autogenerated return type of DestroyContributor.""" -type DestroyContributorPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """ - Whether or not the model was successfully destroyed. If false, check globalErrors +type DescendantListTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String -} - -"""Autogenerated input type of DestroyEntityLink""" -input DestroyEntityLinkInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """The ID for the EntityLink to destroy""" - entityLinkId: ID! -} - -"""Autogenerated return type of DestroyEntityLink.""" -type DestroyEntityLinkPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """ - Whether or not the model was successfully destroyed. If false, check globalErrors - """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String -} - -"""Autogenerated input type of DestroyItem""" -input DestroyItemInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """The ID for the item to destroy""" - itemId: ID! -} - -"""Autogenerated return type of DestroyItem.""" -type DestroyItemPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """ - Whether or not the model was successfully destroyed. If false, check globalErrors - """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String -} - -"""This mutation destroys a model""" -interface DestroyMutationPayload { - attributeErrors: [MutationAttributeError!]! - """ - Whether or not the model was successfully destroyed. If false, check globalErrors - """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String -} - -"""Autogenerated input type of DestroyOrdering""" -input DestroyOrderingInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - orderingId: ID! -} - -"""Autogenerated return type of DestroyOrdering.""" -type DestroyOrderingPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """ - Whether or not the model was successfully destroyed. If false, check globalErrors + The background gradient to use for this template. Affects presentation. + """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - disabled: Boolean - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String -} - -"""Autogenerated input type of DestroyPage""" -input DestroyPageInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - pageId: ID! -} - -"""Autogenerated return type of DestroyPage.""" -type DestroyPagePayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + background: DescendantListBackground """ - Whether or not the model was successfully destroyed. If false, check globalErrors + A boolean used to describe list templates that should match browse style as close as possible. + """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String -} - -""" -An enumerated value associated with the templating subsystem. - -""" -enum DetailBackground { + browseStyle: Boolean """ - A dark gradient is applied to the background of this template. + Whether the current user has permission to destroy this record. """ - DARK + canDestroy: AuthorizationResult! """ - A light gradient is applied to the background of this template. + Whether the current user has permission to update this record. """ - LIGHT + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - No background is applied to this template. + When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure + as schemas to define a dynamic ordering that is resolved at runtime and based + on the `selectionSource`. """ - NONE -} - -type DetailTemplateDefinition implements Node & Sluggable & TemplateDefinition { + dynamicOrderingDefinition: OrderingDefinition """ - The background gradient to use for this template. Affects presentation. + Enumerate how much context to show when listing entities. + + Replaces `showEntityContext`. """ - background: DetailBackground - createdAt: ISO8601DateTime! + entityContext: ListEntityContext id: ID! layoutKind: LayoutKind! - showAnnouncements: Boolean """ - Whether to show and use the 'body' slot on a detail view. - Primarily intended for items with copious text to display. + When `selectionMode` is set to `MANUAL`, the purpose of this property + is to specify a name under which all the manual selections (per entity) + will be stored. This allows a layout to have multiple templates of the + same type using different lists, that will persist across rearrangements + of the layout _without_ losing connections between entities. """ - showBody: Boolean - showHeroImage: Boolean + manualListName: SchemaComponent """ - Slot definitions for this template. + When `selectionMode` is set to `NAMED`, this will look up the named ordering + on the resolved `selectionSource` and render up to `selectionLimit` entities. """ - slots: DetailTemplateDefinitionSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! + orderingIdentifier: SchemaComponent + seeAllButtonLabel: String """ - The variant rendering mode to use for this template. Affects presentation. + If provided, this will expose an ordering on the template instance that can + be used to generate a link to the ordering in the frontend. """ - variant: DetailVariant + seeAllOrderingIdentifier: SchemaComponent """ - This controls how wide the template should render. - - **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - template that also uses `HALF`. + The fallback mode to use when rendering a list of entities, when the list from + `selectionMode` is empty and `useSelectionFallback` has been set to true. """ - width: TemplateWidth -} - -""" -Slot definitions for the associated template. - -""" -type DetailTemplateDefinitionSlots { - body: TemplateSlotBlockDefinition - header: TemplateSlotInlineDefinition - itemsA: TemplateSlotBlockDefinition - itemsB: TemplateSlotBlockDefinition - itemsC: TemplateSlotBlockDefinition - itemsD: TemplateSlotBlockDefinition - subheader: TemplateSlotInlineDefinition - summary: TemplateSlotBlockDefinition -} - -type DetailTemplateInstance implements Node & Renderable & Sluggable & TemplateInstance { + selectionFallbackMode: DescendantListSelectionMode """ - Whether all slots in this template are empty. + Regardless of `selectionMode`, this limit will be applied on whatever resulting + list of entities are produced, so that only up to that amount of entities are + rendered in the template proper. """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! + selectionLimit: Int """ - Load the associated definition for this template. + The default mode to use when rendering a list of entities. + + See also `selectionFallbackMode` and `useSelectionFallback`. """ - definition: DetailTemplateDefinition! + selectionMode: DescendantListSelectionMode """ - The associated entity for this template instance. + When `selectionMode` is set to `PROPERTY`, this should be set to the full path + for a given schema property on the associated `selectionSource` """ - entity: Entity! + selectionPropertyPath: SchemaPropertyPath """ - Whether this template instance should be hidden based on some logic. + When selecting entities based on `selectionMode`, this property determines + which entity (relevant to the rendering entity) should be used for lookups. - At present, this only occurs if certain slots are empty. + By default, it is `self`, which means the rendering entity itself. - """ - hidden: Boolean! - id: ID! - """ - The time this object was last rendered. + It can also support things like `ancestor.journal`, `ancestor.issue`, etc., + in order to render a list of values in its parent. """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! + selectionSource: TemplateSelectionSource """ - Return all preceding siblings to the current template in order of proximity. + The derived name of the ancestor used for the `selectionSource`. - If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + Exposed for introspection only. """ - nextSiblings: [TemplateInstanceSibling!]! + selectionSourceAncestorName: SchemaComponent """ - Return all preceding siblings to the current template in order of proximity. + An enum representing what mode `selectionSource` is in. Not directly set, + it is used internally for lookups. - If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + """ + selectionSourceMode: SelectionSourceMode + """ + When true, this takes priority over `selectionLimit`. It allows an entire + matching list of records to be retrieved. It should be used with caution, + since very large entity trees could cause responses to be slow. """ - prevSiblings: [TemplateInstanceSibling!]! + selectionUnbounded: Boolean """ - Rendered slots for this template. + Show contributors when listing entities. """ - slots: DetailTemplateInstanceSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Rendered slots for the associated template. - -""" -type DetailTemplateInstanceSlots { - body: TemplateSlotBlockInstance - header: TemplateSlotInlineInstance - itemsA: TemplateSlotBlockInstance - itemsB: TemplateSlotBlockInstance - itemsC: TemplateSlotBlockInstance - itemsD: TemplateSlotBlockInstance - subheader: TemplateSlotInlineInstance - summary: TemplateSlotBlockInstance -} - -""" -An enum used to control how a detail template should be rendered. - -""" -enum DetailVariant { + showContributors: Boolean """ - A columnar display format for entity details, similar to metadata. + Show additional context about each entity in the selection. - It will make use of the `items*` slots in order to render the content. + """ + showEntityContext: Boolean @deprecated(reason: "Use entity_context enum instead") + showHeroImage: Boolean + """ + Show nested items from the associated listItemLayouts in order to generate + a two-tier list. - See the `hideMetadata` property on the navigation template for an - optimal use case with moving metadata from its own tab over to the - main layout. + """ + showNestedEntities: Boolean + showSeeAllButton: Boolean @deprecated(reason: "Use seeAllOrdering on the instance instead.") + """ + Slot definitions for this template. """ - COLUMNS + slots: DescendantListTemplateDefinitionSlots! """ - Display 'full' detail about the entity. + The encoded slug for this record. """ - FULL + slug: Slug! + templateKind: TemplateKind! + title: String + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - Display detail about the entity in a summarized fashion. + Controls whether or not to use `selectionFallbackMode` if the entity list returned + via `selectionMode` turns out to be empty at runtime. """ - SUMMARY -} - -enum Direction { - ASCENDING - DESCENDING + useSelectionFallback: Boolean + """ + The variant rendering mode to use for this template. Affects presentation. + + """ + variant: DescendantListVariant + """ + This controls how wide the template should render. + + **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + template that also uses `HALF`. + + """ + width: TemplateWidth } """ -User-specific access permissions for non-hierarchical records. +Slot definitions for the associated template. """ -type EffectiveAccess implements ExposesPermissions { +type DescendantListTemplateDefinitionSlots { + blockHeader: TemplateSlotInlineDefinition + blockHeaderFallback: TemplateSlotInlineDefinition + header: TemplateSlotInlineDefinition + headerAside: TemplateSlotInlineDefinition + headerFallback: TemplateSlotInlineDefinition + listContext: TemplateSlotInlineDefinition + metadata: TemplateSlotInlineDefinition + subtitle: TemplateSlotInlineDefinition +} + +type DescendantListTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance { """ - A list of allowed actions for the given user on this entity (and its descendants). + Whether all slots in this template are empty. + """ - allowedActions: [String!]! + allSlotsEmpty: Boolean! """ - The values that may appear in `allowed_actions`. This is for introspection - and type-checking: the presence of a string here does _not_ mean the user - has the effective capability. + Whether the current user has permission to destroy this record. """ - availableActions: [String!]! - """An array of hashes that can be requested to load in a context""" - permissions: [PermissionGrant!]! -} - -type EmailProperty implements ScalarProperty & SchemaProperty { - address: String + canDestroy: AuthorizationResult! """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + Whether the current user has permission to update this record. """ - array: Boolean! - defaultAddress: String + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - A human-readable description for the property. It should describe the purpose of the - property as well as some details about the types of values it looks for. - - It can be rendered as help text, hints, etc. + Load the associated definition for this template. """ - description: String + definition: DescendantListTemplateDefinition! """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + The associated entity for this template instance. """ - fullPath: String! + entity: Entity! """ - The purpose or intent of this property relative to its entity, parents, and others. + The list of entities to render as part of this template's content. """ - function: SchemaPropertyFunction! + entityList: TemplateEntityList! """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + Whether this template instance should be hidden based on some logic. + + At present, this only occurs if certain slots are empty. """ - isWide: Boolean! + hidden: Boolean! + id: ID! """ - Provided for introspection. This describes the underlying structure of the data type. + The time this object was last rendered. """ - kind: SchemaPropertyKind! + lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! """ - A human-readable label for the schema property. + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. """ - label: String! + nextSiblings: [TemplateInstanceSibling!]! """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. """ - orderable: Boolean! + prevSiblings: [TemplateInstanceSibling!]! """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + The ordering to render for a "see all" link. """ - path: String! + seeAllOrdering: Ordering """ - Whether or not this property is required in order for the schema instance - to be considered valid. - - Note: invalid data provided to a schema property will still invalidate - the instance as a whole—the required trait only determines whether a value - **must** be set. + Rendered slots for this template. """ - required: Boolean! + slots: DescendantListTemplateInstanceSlots! """ - Provided for introspection. This represents the actual data type this property - uses. - - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. + The encoded slug for this record. """ - type: SchemaPropertyType! + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ -A property that references a deterministically-ordered list of entities. +Rendered slots for the associated template. """ -type EntitiesProperty implements HasAvailableEntities & ScalarProperty & SchemaProperty { +type DescendantListTemplateInstanceSlots { + blockHeader: TemplateSlotInlineInstance + blockHeaderFallback: TemplateSlotInlineInstance + header: TemplateSlotInlineInstance + headerAside: TemplateSlotInlineInstance + headerFallback: TemplateSlotInlineInstance + listContext: TemplateSlotInlineInstance + metadata: TemplateSlotInlineInstance + subtitle: TemplateSlotInlineInstance +} + +""" +An enum used to control how a descendant list template should be rendered. + +""" +enum DescendantListVariant { """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + A card list of entities. """ - array: Boolean! + CARDS """ - Expose all available entities for this schema property. + A compact list of entities. """ - availableEntities: [EntitySelectOption!]! + COMPACT """ - A human-readable description for the property. It should describe the purpose of the - property as well as some details about the types of values it looks for. - - It can be rendered as help text, hints, etc. + A grid of entities """ - description: String + GRID """ - A deterministically-ordered list of entities. - - Given the same input, this array will always be returned in the same order. + A horizontal list of entities with promotional header. """ - entities: [Entity!]! + PROMOS """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + A vertical, summarized list of entities. """ - fullPath: String! + SUMMARY """ - The purpose or intent of this property relative to its entity, parents, and others. + A tree structure. """ - function: SchemaPropertyFunction! + TREE +} + +""" +The most basic shared properties for a single schema, whether a definition, +a version, or an aggregate based on the former types. + +""" +interface DescribesSchema { """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + The full declaration for this schema, including namespace, identifier, and version (if available). """ - isWide: Boolean! + declaration: String! """ - Provided for introspection. This describes the underlying structure of the data type. + A unique (per-namespace) value that names the schema within the system. """ - kind: SchemaPropertyKind! + identifier: String! """ - A human-readable label for the schema property. + The kind of entity this schema applies to. """ - label: String! + kind: SchemaKind! """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + A human-readable name for the schema. """ - orderable: Boolean! + name: String! """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + A unique namespace the schema lives in. """ - path: String! + namespace: String! +} + +"""Autogenerated input type of DestroyAnnouncement""" +input DestroyAnnouncementInput { + announcementId: ID! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DestroyAnnouncement.""" +type DestroyAnnouncementPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Whether or not this property is required in order for the schema instance - to be considered valid. - - Note: invalid data provided to a schema property will still invalidate - the instance as a whole—the required trait only determines whether a value - **must** be set. - + Whether or not the model was successfully destroyed. If false, check globalErrors """ - required: Boolean! + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""Autogenerated input type of DestroyAsset""" +input DestroyAssetInput { + """The ID for the asset to destroy""" + assetId: ID! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DestroyAsset.""" +type DestroyAssetPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Provided for introspection. This represents the actual data type this property - uses. - - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. - + Whether or not the model was successfully destroyed. If false, check globalErrors """ - type: SchemaPropertyType! + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String } -"""Settings specific to how entities should behave on this installation.""" -type EntitiesSettings { +"""Autogenerated input type of DestroyCollection""" +input DestroyCollectionInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """The ID for the collection to destroy""" + collectionId: ID! +} + +"""Autogenerated return type of DestroyCollection.""" +type DestroyCollectionPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Whether external links should be suppressed in certain schema field types. + Whether or not the model was successfully destroyed. If false, check globalErrors """ - suppressExternalLinks: Boolean! + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String } -"""An object for updating EntitiesSettings""" -input EntitiesSettingsInput { +"""Autogenerated input type of DestroyCommunity""" +input DestroyCommunityInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """The ID for the community to destroy""" + communityId: ID! +} + +"""Autogenerated return type of DestroyCommunity.""" +type DestroyCommunityPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Whether external links should be suppressed in certain schema field types. + Whether or not the model was successfully destroyed. If false, check globalErrors """ - suppressExternalLinks: Boolean = false + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String } -"""An entity that exists in the hierarchy.""" -interface Entity implements Accessible & EntityBase & ExposesPermissions & HasEntityBreadcrumbs & HasSchemaProperties & Searchable & Sluggable { - """Derived access control list""" - accessControlList: AccessControlList - """A polymorphic connection for access grants from an entity""" - allAccessGrants( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: SimpleOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - subject: AccessGrantSubjectFilter = ALL - ): AnyAccessGrantConnection! +"""Autogenerated input type of DestroyContribution""" +input DestroyContributionInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + contributionId: ID! +} + +"""Autogenerated return type of DestroyContribution.""" +type DestroyContributionPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - A list of allowed actions for the given user on this entity (and its descendants). + Whether or not the model was successfully destroyed. If false, check globalErrors """ - allowedActions: [String!]! - """Look up an announcement for this entity by slug""" - announcement(slug: Slug!): Announcement - """Announcements for a specific entity""" - announcements( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: AnnouncementOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): AnnouncementConnection! - """The role(s) that gave the permissions to access this resource, if any.""" - applicableRoles: [Role!]! + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""Autogenerated input type of DestroyContributor""" +input DestroyContributorInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + contributorId: ID! +} + +"""Autogenerated return type of DestroyContributor.""" +type DestroyContributorPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - The role(s) that the current user could assign to other users on this entity, if applicable. + Whether or not the model was successfully destroyed. If false, check globalErrors """ - assignableRoles: [Role!]! - """Retrieve a list of user & role assignments for this entity""" - assignedUsers( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: ContextualPermissionOrder = USER_NAME_ASC - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ContextualPermissionConnection! - """Previous entries in the hierarchy""" - breadcrumbs: [EntityBreadcrumb!]! + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""Autogenerated input type of DestroyEntityLink""" +input DestroyEntityLinkInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """The ID for the EntityLink to destroy""" + entityLinkId: ID! +} + +"""Autogenerated return type of DestroyEntityLink.""" +type DestroyEntityLinkPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Search and retrieve *all* descendants of this `Entity`, regardless of type. - + Whether or not the model was successfully destroyed. If false, check globalErrors """ - descendants( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - maxDepth: Int - order: EntityDescendantOrder! = PUBLISHED_DESCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - """Filter by a namespace.name schema identifier""" - schema: [String!] - scope: EntityDescendantScopeFilter = ALL - ): EntityDescendantConnection! - """A hero image for the entity, suitable for displaying in page headers""" - heroImage: ImageAttachment! - """Configurable metadata for the hero_image attachment""" - heroImageMetadata: ImageMetadata + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""Autogenerated input type of DestroyItem""" +input DestroyItemInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """The ID for the item to destroy""" + itemId: ID! +} + +"""Autogenerated return type of DestroyItem.""" +type DestroyItemPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - The depth of the hierarchical entity, taking into account any parent types + Whether or not the model was successfully destroyed. If false, check globalErrors """ - hierarchicalDepth: Int! + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""This mutation destroys a model""" +interface DestroyMutationPayload { + attributeErrors: [MutationAttributeError!]! """ - Access layouts for this entity. - + Whether or not the model was successfully destroyed. If false, check globalErrors """ - layouts: EntityLayouts! - """Available link targets for this entity""" - linkTargetCandidates( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - kind: LinkTargetCandidateFilter = ALL - """Returns the last _n_ elements from the list.""" - last: Int - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - title: String = "" - ): LinkTargetCandidateConnection! - links( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: SimpleOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): EntityLinkConnection! + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""Autogenerated input type of DestroyOrdering""" +input DestroyOrderingInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + orderingId: ID! +} + +"""Autogenerated return type of DestroyOrdering.""" +type DestroyOrderingPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. + Whether or not the model was successfully destroyed. If false, check globalErrors + """ + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + disabled: Boolean + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""Autogenerated input type of DestroyPage""" +input DestroyPageInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + pageId: ID! +} + +"""Autogenerated return type of DestroyPage.""" +type DestroyPagePayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + Whether or not the model was successfully destroyed. If false, check globalErrors + """ + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +""" +An enumerated value associated with the templating subsystem. + +""" +enum DetailBackground { + """ + A dark gradient is applied to the background of this template. """ - markedForPurge: Boolean! - """Look up an ordering for this entity by identifier""" - ordering(identifier: String!): Ordering - """Look up an ordering that is set up to handle a specific schema.""" - orderingForSchema( - """This should be of the `namespace:identifier` format.""" - slug: Slug! - ): Ordering + DARK """ - Retrieve a connection of orderings for the parent object. + A light gradient is applied to the background of this template. """ - orderings( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """Optionally filter orderings by whether they are enabled or disabled.""" - availability: OrderingAvailabilityFilter = ALL - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: OrderingOrder = DETERMINISTIC - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - """Optionally filter orderings by whether they are visible or hidden.""" - visibility: OrderingVisibilityFilter = ALL - ): OrderingConnection! - """Look up a page for this entity by slug""" - page( - """ - **Note**: Unlike most other model types, a page's slug is just a string - as opposed to our custom `Slug` type. They are not designed to be - opaque, but instead be something human-readable that can appear in URIs. - - """ - slug: String! - ): Page - pages( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): PageConnection! - """An array of hashes that can be requested to load in a context""" - permissions: [PermissionGrant!]! - schemaDefinition: SchemaDefinition! + LIGHT """ - A list of schema properties associated with this instance or version. + No background is applied to this template. """ - schemaProperties: [SchemaProperty!]! - schemaRanks: [HierarchicalSchemaRank!]! - schemaVersion: SchemaVersion! - """Search from this level of the API using it as the origin""" - search( - """ - When searching from a scoped entity, sometimes you want to limit the depth of the search. - - `maxDepth: 1` will restrict to just the entity's direct children (or direct links). - - """ - maxDepth: Int - """ - Restrict the results by a certain level of visibility. This requires an authenticated user - for anything but `VISIBLE`: any other option will be silently discarded when anonymous. - - """ - visibility: EntityVisibilityFilter = VISIBLE - ): SearchScope! - slug: Slug! + NONE +} + +type DetailTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { """ - A human-readable subtitle for the entity. + The background gradient to use for this template. Affects presentation. """ - subtitle: String + background: DetailBackground """ - A description of the contents of the entity. + Whether the current user has permission to destroy this record. """ - summary: String + canDestroy: AuthorizationResult! """ - A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc. + Whether the current user has permission to update this record. + """ - thumbnail: ImageAttachment! - """Configurable metadata for the thumbnail attachment""" - thumbnailMetadata: ImageMetadata + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + layoutKind: LayoutKind! + showAnnouncements: Boolean """ - A human-readable title for the entity. + Whether to show and use the 'body' slot on a detail view. + Primarily intended for items with copious text to display. """ - title: String! -} - -""" -Objects have a serialized slug for looking them up in the system and generating links without UUIDs -""" -interface EntityBase implements Sluggable { - slug: Slug! + showBody: Boolean + showHeroImage: Boolean """ - A human-readable subtitle for the entity. + Slot definitions for this template. """ - subtitle: String + slots: DetailTemplateDefinitionSlots! """ - A description of the contents of the entity. + The encoded slug for this record. """ - summary: String + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - A human-readable title for the entity. + The variant rendering mode to use for this template. Affects presentation. """ - title: String! -} - -type EntityBreadcrumb implements Node { - crumb: Entity! - depth: Int! - id: ID! - kind: EntityKind! - label: String! - slug: String! -} - -"""A descendant of an `Entity`.""" -type EntityDescendant { - """The actual descendant entity""" - descendant: Entity! - """The relative depth of this entity from its ancestor""" - relativeDepth: Int! - """The scope of this entity relative to its ancestor""" - scope: EntityScope! -} - -"""The connection type for EntityDescendant.""" -type EntityDescendantConnection implements Paginated { - """A list of edges.""" - edges: [EntityDescendantEdge!]! - """A list of nodes.""" - nodes: [EntityDescendant!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} - -"""An edge in a connection.""" -type EntityDescendantEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: EntityDescendant! -} - -"""Sort entity descendants by specific attributes and order""" -enum EntityDescendantOrder { - """Sort descendants by oldest published date (or OLDEST for communities)""" - PUBLISHED_ASCENDING - """Sort descendants by newest published date (or RECENT for communities)""" - PUBLISHED_DESCENDING - """Sort descendants by title A-Z""" - TITLE_ASCENDING - """Sort descendants by title Z-A""" - TITLE_DESCENDING + variant: DetailVariant + """ + This controls how wide the template should render. + + **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + template that also uses `HALF`. + + """ + width: TemplateWidth } """ -This enum is used to filter the type(s) of descendants to include -in a set of results. +Slot definitions for the associated template. """ -enum EntityDescendantScopeFilter { +type DetailTemplateDefinitionSlots { + body: TemplateSlotBlockDefinition + header: TemplateSlotInlineDefinition + itemsA: TemplateSlotBlockDefinition + itemsB: TemplateSlotBlockDefinition + itemsC: TemplateSlotBlockDefinition + itemsD: TemplateSlotBlockDefinition + subheader: TemplateSlotInlineDefinition + summary: TemplateSlotBlockDefinition +} + +type DetailTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance { """ - This will include anything regardless of type. + Whether all slots in this template are empty. """ - ALL + allSlotsEmpty: Boolean! """ - This will include all `Collection`s and `Item`s that are direct descendants and not linked. + Whether the current user has permission to destroy this record. """ - ANY_ENTITY + canDestroy: AuthorizationResult! """ - This will include any _linked_ `Collection`s or `Item`s. + Whether the current user has permission to update this record. """ - ANY_LINK + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - This will include only directly descending `Collection`s, no links. + Load the associated definition for this template. """ - COLLECTION + definition: DetailTemplateDefinition! """ - This will include any descendant `Collection`s, whether or not it is a link. + The associated entity for this template instance. """ - COLLECTION_OR_LINK + entity: Entity! """ - This will include only directly descending `Item`s, no links. + Whether this template instance should be hidden based on some logic. + + At present, this only occurs if certain slots are empty. """ - ITEM + hidden: Boolean! + id: ID! """ - This will include any descendant `Item`s, whether or not it is a link. + The time this object was last rendered. """ - ITEM_OR_LINK + lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! """ - This will only descendant `Collection`s that are linked. + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. """ - LINKED_COLLECTION + nextSiblings: [TemplateInstanceSibling!]! """ - This will only descendant `Item`s that are linked. + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. """ - LINKED_ITEM + prevSiblings: [TemplateInstanceSibling!]! + """ + Rendered slots for this template. + + """ + slots: DetailTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -"""An enumeration of the different kinds of hierarchical entities""" -enum EntityKind { - COLLECTION - COMMUNITY - ITEM +""" +Rendered slots for the associated template. + +""" +type DetailTemplateInstanceSlots { + body: TemplateSlotBlockInstance + header: TemplateSlotInlineInstance + itemsA: TemplateSlotBlockInstance + itemsB: TemplateSlotBlockInstance + itemsC: TemplateSlotBlockInstance + itemsD: TemplateSlotBlockInstance + subheader: TemplateSlotInlineInstance + summary: TemplateSlotBlockInstance } """ -An accessor for pulling up layout instances for a given entity. +An enum used to control how a detail template should be rendered. """ -type EntityLayouts { +enum DetailVariant { """ - The `HERO` layout instance for this entity. + A columnar display format for entity details, similar to metadata. + + It will make use of the `items*` slots in order to render the content. + + See the `hideMetadata` property on the navigation template for an + optimal use case with moving metadata from its own tab over to the + main layout. """ - hero: HeroLayoutInstance + COLUMNS """ - The `LIST_ITEM` layout instance for this entity. + Display 'full' detail about the entity. """ - listItem: ListItemLayoutInstance + FULL """ - The `MAIN` layout instance for this entity. + Display detail about the entity in a summarized fashion. """ - main: MainLayoutInstance + SUMMARY +} + +enum Direction { + ASCENDING + DESCENDING +} + +type EmailProperty implements ScalarProperty & SchemaProperty { + address: String """ - The `METADATA` layout instance for this entity. + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. + + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. """ - metadata: MetadataLayoutInstance + array: Boolean! + defaultAddress: String """ - The `NAVIGATION` layout instance for this entity. + A human-readable description for the property. It should describe the purpose of the + property as well as some details about the types of values it looks for. + + It can be rendered as help text, hints, etc. """ - navigation: NavigationLayoutInstance + description: String """ - Whether the render happened inline when requesting this entity. + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. """ - renderedInline: Boolean! + fullPath: String! """ - The `SUPPLEMENTARY` layout instance for this entity. + The purpose or intent of this property relative to its entity, parents, and others. """ - supplementary: SupplementaryLayoutInstance -} - -"""A link between different entities""" -type EntityLink implements Node & OrderingEntryable & Sluggable { - createdAt: ISO8601DateTime! - id: ID! - operator: EntityLinkOperator! - scope: EntityLinkScope! - slug: Slug! - source: Entity! - sourceCollection: Collection - sourceCommunity: Community - sourceItem: Item - target: Entity! - targetCollection: Collection - targetCommunity: Community - targetItem: Item - updatedAt: ISO8601DateTime! -} - -"""The connection type for EntityLink.""" -type EntityLinkConnection implements Paginated { - """A list of edges.""" - edges: [EntityLinkEdge!]! - """A list of nodes.""" - nodes: [EntityLink!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} - -"""An edge in a connection.""" -type EntityLinkEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: EntityLink! -} - -"""A link operator describes how a source is linked to its target""" -enum EntityLinkOperator { - CONTAINS - REFERENCES -} - -"""A link scope succinctly describes the source and target types""" -enum EntityLinkScope { - """A link to a collection from another collection""" - COLLECTION_LINKED_COLLECTION - """A link to a community from a collection""" - COLLECTION_LINKED_COMMUNITY - """A link to an item from a community""" - COLLECTION_LINKED_ITEM - """A link to a collection not directly owned by a community""" - COMMUNITY_LINKED_COLLECTION - """A link to a community from another community""" - COMMUNITY_LINKED_COMMUNITY - """A link to an item from a community""" - COMMUNITY_LINKED_ITEM - """A link to a collection from an item""" - ITEM_LINKED_COLLECTION - """A link to a community from an item""" - ITEM_LINKED_COMMUNITY - """A link to an item from another item""" - ITEM_LINKED_ITEM -} - -"""Sort entities by a specific property and order""" -enum EntityOrder { - """Sort entities by oldest created date""" - OLDEST - """Sort communities by position 0-9; other entities by RECENT""" - POSITION_ASCENDING - """Sort communities by position 9-0; other entities by OLDEST""" - POSITION_DESCENDING - """Sort entities by oldest published date (or OLDEST for communities)""" - PUBLISHED_ASCENDING - """Sort entities by newest published date (or RECENT for communities)""" - PUBLISHED_DESCENDING - """Sort entities by newest created date""" - RECENT - """Sort entities by the name of their schema A-Z""" - SCHEMA_NAME_ASCENDING - """Sort entities by the name of their schema Z-A""" - SCHEMA_NAME_DESCENDING - """Sort entities by title A-Z""" - TITLE_ASCENDING - """Sort entities by title Z-A""" - TITLE_DESCENDING -} - -""" -When retrieving lists of entities, sometimes it is helpful to only show -entities that the current user (or related user) has access to. - -""" -enum EntityPermissionFilter { + function: SchemaPropertyFunction! """ - Show only the entities that a user has specific read access for—this allows - them to view the full record as opposed to just what appears in the frontend. + Instructions for filling out this property during submission, if applicable. """ - READ_ONLY + instructions: String """ - A default value that skips checking for access. It will retrieve every - entity visible to the current user. + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. """ - SKIP + isWide: Boolean! """ - Show entities that a user has the ability to update. + Provided for introspection. This describes the underlying structure of the data type. """ - UPDATE -} - -"""A grid of permissions for various hierarchical entity scopes.""" -type EntityPermissionGrid implements CRUDPermissionGrid & ExposesPermissions & PermissionGrid { + kind: SchemaPropertyKind! """ - A list of allowed actions for the given user on this entity (and its descendants). + A human-readable label for the schema property. + """ - allowedActions: [String!]! - assets: AssetPermissionGrid! - create: Boolean! - delete: Boolean! - manageAccess: Boolean! - """An array of hashes that can be requested to load in a context""" - permissions: [PermissionGrant!]! - read: Boolean! - update: Boolean! + label: String! + """ + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. + + """ + orderable: Boolean! + """ + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. + + """ + path: String! + """ + Whether or not this property is required in order for the schema instance + to be considered valid. + + Note: invalid data provided to a schema property will still invalidate + the instance as a whole—the required trait only determines whether a value + **must** be set. + + """ + required: Boolean! + """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. + + """ + type: SchemaPropertyType! } """ -A property that references another entity within the system. +A property that references a deterministically-ordered list of entities. """ -type EntityProperty implements HasAvailableEntities & ScalarProperty & SchemaProperty { +type EntitiesProperty implements HasAvailableEntities & ScalarProperty & SchemaProperty { """ Provided for introspection. This describes whether or not the property's value comes in an array rather than representing a discrete piece of information. @@ -7181,10 +8643,12 @@ type EntityProperty implements HasAvailableEntities & ScalarProperty & SchemaPro """ description: String """ - A single reference to another entity within the system. + A deterministically-ordered list of entities. + + Given the same input, this array will always be returned in the same order. """ - entity: Entity + entities: [Entity!]! """ The full path that represents the property on the schema instance. It is guaranteed to be unique for the instance, and can be used to grab a property directly, as well as @@ -7198,6 +8662,11 @@ type EntityProperty implements HasAvailableEntities & ScalarProperty & SchemaPro """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -7238,6 +8707,11 @@ type EntityProperty implements HasAvailableEntities & ScalarProperty & SchemaPro """ required: Boolean! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -7250,1550 +8724,1657 @@ type EntityProperty implements HasAvailableEntities & ScalarProperty & SchemaPro type: SchemaPropertyType! } -"""Autogenerated input type of EntityPurge""" -input EntityPurgeInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +""" +Settings specific to how entities should behave on this installation. + +""" +type EntitiesSettings { """ - The entity to destroy. - + Whether external links should be suppressed in certain schema field types. """ - entityId: ID! + suppressExternalLinks: Boolean! } -"""Autogenerated return type of EntityPurge.""" -type EntityPurgePayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """ - Whether or not the model was successfully destroyed. If false, check globalErrors - """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - """ - The root entity that is to be purged. - - Note that it may not exist for very long. - - """ - entity: Entity - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String +""" +An object for updating EntitiesSettings. + +""" +input EntitiesSettingsInput { """ - Whether or not a job was enqueued. + Whether external links should be suppressed in certain schema field types. """ - jobEnqueued: Boolean + suppressExternalLinks: Boolean = false } """ -This type is used for authorization and filtering, and can -distinguish an entity that has been linked to another from -one that exists directly in a hierarchy. +An entity that exists in the hierarchy. """ -enum EntityScope { +interface Entity implements Accessible & CommonPermissions & EntityBase & EntityContextualPermissions & EntityPermissions & ExposesPermissions & HasEntityBreadcrumbs & HasSchemaProperties & Node & Searchable & Sluggable & Submittable { + """A polymorphic connection for access grants from an entity""" + allAccessGrants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + subject: AccessGrantSubjectFilter = ALL + ): AnyAccessGrantConnection! """ - A `Collection` that is an actual descendant at this point in the hierarchy. - + A list of allowed actions for the given user on this entity (and its descendants). """ - COLLECTION + allowedActions: [String!]! + """Look up an announcement for this entity by slug""" + announcement(slug: Slug!): Announcement """ - A `Collection` that was linked from another `Collection`. + A list of announcements associated with this entity. """ - COLLECTION_LINKED_COLLECTION + announcements( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: AnnouncementOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): AnnouncementConnection! + """The role(s) that gave the permissions to access this resource, if any.""" + applicableRoles: [Role!]! """ - A `Community` that was linked from a `Collection`. - + The role(s) that the current user could assign to other users on this entity, if applicable. """ - COLLECTION_LINKED_COMMUNITY + assignableRoles: [Role!]! + """Retrieve a list of user & role assignments for this entity""" + assignedUsers( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: ContextualPermissionOrder = USER_NAME_ASC + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ContextualPermissionConnection! + """Previous entries in the hierarchy""" + breadcrumbs: [EntityBreadcrumb!]! """ - An `Item` that was linked from a `Collection`. + Whether the current user has permission to alter the schema version of this entity. - """ - COLLECTION_LINKED_ITEM - """ - A `Community` that is an actual descendant at this point in the hierarchy. + Submission drafts will be denied, even if the user would otherwise have permission. """ - COMMUNITY + canAlterSchemaVersion: AuthorizationResult! """ - A `Collection` that was linked from a `Community`. + Whether the current user has permission to create assets under this entity. """ - COMMUNITY_LINKED_COLLECTION + canCreateAssets: AuthorizationResult! """ - A `Community` that was linked from another `Community`. + Whether the current user has permission to create collections under this entity. """ - COMMUNITY_LINKED_COMMUNITY + canCreateCollections: AuthorizationResult! """ - An `Item` that was linked from a `Community`. + Whether the current user has permission to create items under this entity. """ - COMMUNITY_LINKED_ITEM + canCreateItems: AuthorizationResult! """ - An `Item` that is an actual descendant at this point in the hierarchy. + Whether the current user has permission to deposit a new entity into this one. """ - ITEM + canDeposit: AuthorizationResult! """ - A `Collection` that was linked from an `Item`. + Whether the current user has permission to destroy this record. """ - ITEM_LINKED_COLLECTION + canDestroy: AuthorizationResult! """ - A `Community` that was linked from an `Item`. + Whether the current user has permission to manage access to this entity. - """ - ITEM_LINKED_COMMUNITY - """ - An `Item` that was linked from another `Item`. + This opens up `grantAccess` and `revokeAccess` mutations. """ - ITEM_LINKED_ITEM -} - -"""A select option for a single entity""" -type EntitySelectOption implements HasEntityBreadcrumbs { - """Previous entries in the hierarchy""" - breadcrumbs: [EntityBreadcrumb!]! - entity: Entity! - kind: EntityKind! - label: String! - schemaVersion: SchemaVersion! - slug: Slug! - value: ID! -} - -"""The level of visibility an entity can have""" -enum EntityVisibility { - HIDDEN - LIMITED - VISIBLE -} - -""" -Filter entities by their visibility. - -`VISIBLE` is the default in most cases. Any other option requires special privileges. - -""" -enum EntityVisibilityFilter { - """Do not filter entities by their visibility at all.""" - ALL - """Fetch only *currently hidden* entities.""" - HIDDEN - """Fetch only *currently visible* entities.""" - VISIBLE -} - -""" -Require that `path = value`. - -""" -input EqualsOperatorInput { - path: String! - value: JSON! -} - -interface ExposesEffectiveAccess { + canManageAccess: AuthorizationResult! """ - User-specific access permissions for this object. + Whether the current user has permission to purge this entity. """ - effectiveAccess: EffectiveAccess! -} - -interface ExposesPermissions { - """ - A list of allowed actions for the given user on this entity (and its descendants). - """ - allowedActions: [String!]! - """An array of hashes that can be requested to load in a context""" - permissions: [PermissionGrant!]! -} - -type FloatProperty implements ScalarProperty & SchemaProperty & SearchableProperty { + canPurge: AuthorizationResult! """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. + Whether the current user has permission to reparent this entity. - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + Submission drafts will be denied, even if the user would otherwise have permission. """ - array: Boolean! - defaultFloat: Float - description: String - floatValue: Float + canReparent: AuthorizationResult! """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + Whether the current user has permission to revalidate this entity. """ - fullPath: String! + canRevalidate: AuthorizationResult! """ - The purpose or intent of this property relative to its entity, parents, and others. + Whether the current user has permission to review deposits to this entity. """ - function: SchemaPropertyFunction! + canReview: AuthorizationResult! """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + Whether the current user has permission to update this record. """ - isWide: Boolean! + canUpdate: AuthorizationResult! """ - Provided for introspection. This describes the underlying structure of the data type. + All descendants of this entity, regardless of type. + + Communities and collections can both contain collections and items. Items will only contain items. """ - kind: SchemaPropertyKind! - label: String! + descendants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + maxDepth: Int + order: EntityDescendantOrder! = PUBLISHED_DESCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """Filter by a namespace.name schema identifier""" + schema: [String!] + scope: EntityDescendantScopeFilter = ALL + ): EntityDescendantConnection! + """A hero image for the entity, suitable for displaying in page headers""" + heroImage: ImageAttachment! + """Configurable metadata for the hero_image attachment""" + heroImageMetadata: ImageMetadata """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + The depth of the hierarchical entity, taking into account any parent types. """ - orderable: Boolean! + hierarchicalDepth: Int! + """ID of the object.""" + id: ID! """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + Access layouts for this entity. """ - path: String! + layouts: EntityLayouts! """ - Whether or not this property is required in order for the schema instance - to be considered valid. - - Note: invalid data provided to a schema property will still invalidate - the instance as a whole—the required trait only determines whether a value - **must** be set. + Available link targets for this entity. """ - required: Boolean! - searchOperators: [SearchOperator!]! - searchPath: String! + linkTargetCandidates( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + kind: LinkTargetCandidateFilter = ALL + """Returns the last _n_ elements from the list.""" + last: Int + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + title: String = "" + ): LinkTargetCandidateConnection! """ - Provided for introspection. This represents the actual data type this property - uses. - - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. + Links from this entity to other entities, along with metadata about those links. """ - type: SchemaPropertyType! -} - -"""Autogenerated input type of FrontendCacheRevalidateEntity""" -input FrontendCacheRevalidateEntityInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + links( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): EntityLinkConnection! """ - The entity to update. + Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. """ - entityId: ID! -} - -"""Autogenerated return type of FrontendCacheRevalidateEntity.""" -type FrontendCacheRevalidateEntityPayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + markedForPurge: Boolean! + """Look up an ordering for this entity by identifier""" + ordering(identifier: String!): Ordering + """Look up an ordering that is set up to handle a specific schema.""" + orderingForSchema( + """This should be of the `namespace:identifier` format.""" + slug: Slug! + ): Ordering """ - Whether the revalidation request was successfully performed. + A list of orderings associated with this entity. """ - revalidated: Boolean -} - -"""Autogenerated input type of FrontendCacheRevalidateInstance""" -input FrontendCacheRevalidateInstanceInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} - -"""Autogenerated return type of FrontendCacheRevalidateInstance.""" -type FrontendCacheRevalidateInstancePayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + orderings( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """Optionally filter orderings by whether they are enabled or disabled.""" + availability: OrderingAvailabilityFilter = ALL + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: OrderingOrder = DETERMINISTIC + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """Optionally filter orderings by whether they are visible or hidden.""" + visibility: OrderingVisibilityFilter = ALL + ): OrderingConnection! + """Look up a page for this entity by slug""" + page( + """ + **Note**: Unlike most other model types, a page's slug is just a string + as opposed to our custom `Slug` type. They are not designed to be + opaque, but instead be something human-readable that can appear in URIs. + + """ + slug: String! + ): Page """ - Whether the revalidation request was successfully performed. + A list of pages associated with this entity. """ - revalidated: Boolean -} - -"""A full-text searchable value for an entity""" -type FullText { - """The full-text searchable value itself""" - content: String - """The content type for the text, if any""" - kind: FullTextKind - """The ISO-639 language code of this content, if any""" - lang: String -} - -""" -It is necessary for the system to know what kind the content is in order to properly index it -""" -enum FullTextKind { - HTML - MARKDOWN - TEXT -} - -type FullTextProperty implements ScalarProperty & SchemaProperty & SearchableProperty { + pages( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): PageConnection! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + The schema definition that this entity conforms to. """ - array: Boolean! - description: String + schemaDefinition: SchemaDefinition! """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + A list of schema properties associated with this instance or version. """ - fullPath: String! - fullText: FullText + schemaProperties: [SchemaProperty!]! """ - The purpose or intent of this property relative to its entity, parents, and others. + The hierarchical schema ranks for this entity, which compute the overall structure + of its descendants by schema definition. """ - function: SchemaPropertyFunction! + schemaRanks: [HierarchicalSchemaRank!]! """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + The schema version that this entity conforms to. """ - isWide: Boolean! + schemaVersion: SchemaVersion! + """Search from this level of the API using it as the origin""" + search( + """ + When searching from a scoped entity, sometimes you want to limit the depth of the search. + + `maxDepth: 1` will restrict to just the entity's direct children (or direct links). + + """ + maxDepth: Int + """ + Restrict the results by a certain level of visibility. This requires an authenticated user + for anything but `VISIBLE`: any other option will be silently discarded when anonymous. + + """ + visibility: EntityVisibilityFilter = VISIBLE + ): SearchScope! """ - Provided for introspection. This describes the underlying structure of the data type. + The encoded slug for this record. """ - kind: SchemaPropertyKind! - label: String! + slug: Slug! """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + THe current submission status of this entity. Is it a draft, published, or unrelated? """ - orderable: Boolean! + submissionStatus: EntitySubmissionStatus! """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + The submission target that this entity can be submitted to, if any. """ - path: String! + submissionTarget: SubmissionTarget """ - Whether or not this property is required in order for the schema instance - to be considered valid. - - Note: invalid data provided to a schema property will still invalidate - the instance as a whole—the required trait only determines whether a value - **must** be set. + A human-readable subtitle for the entity. """ - required: Boolean! - searchOperators: [SearchOperator!]! - searchPath: String! + subtitle: String """ - Provided for introspection. This represents the actual data type this property - uses. - - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. + A description of the contents of the entity. """ - type: SchemaPropertyType! -} - -"""A global ACL""" -type GlobalAccessControlList implements ExposesPermissions { + summary: String """ - A list of allowed actions for the given user on this entity (and its descendants). + A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc. """ - allowedActions: [String!]! - """An array of hashes that can be requested to load in a context""" - permissions: [PermissionGrant!]! -} - -"""The global configuration for this installation of Meru.""" -type GlobalConfiguration implements Node { + thumbnail: ImageAttachment! + """Configurable metadata for the thumbnail attachment""" + thumbnailMetadata: ImageMetadata """ - Global configuration for contribution roles. + A human-readable title for the entity. """ - contributionRoles: ContributionRoleConfiguration! - """Settings specific to how entities should behave on this installation.""" - entities: EntitiesSettings! - id: ID! - """Settings specific to this institution.""" - institution: InstitutionSettings! - """The logo attachment. It may not always be present.""" - logo: SiteLogoAttachment! - """Configurable metadata for the logo attachment.""" - logoMetadata: ImageMetadata - """Settings specific to this site""" - site: SiteSettings! - """Settings specific to the site's theme""" - theme: ThemeSettings! -} - -"""Autogenerated input type of GrantAccess""" -input GrantAccessInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - entityId: ID! - roleId: ID! - userId: ID! -} - -"""Autogenerated return type of GrantAccess.""" -type GrantAccessPayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - entity: AnyEntity - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Whether or not access was granted""" - granted: Boolean - """Not presently used""" - haltCode: String + title: String! } """ -A schema property that groups other schema properties together underneath a `path`. +Objects have a serialized slug for looking them up in the system and generating links without UUIDs. """ -type GroupProperty implements SchemaProperty { - """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. - - """ - array: Boolean! - """ - A human-readable description for the property. It should describe the purpose of the - property as well as some details about the types of values it looks for. - - It can be rendered as help text, hints, etc. - - """ - description: String +interface EntityBase implements Sluggable { """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + The encoded slug for this record. """ - fullPath: String! + slug: Slug! """ - Provided for introspection. This describes the underlying structure of the data type. + A human-readable subtitle for the entity. """ - kind: SchemaPropertyKind! - """The legend / label for this group property.""" - legend: String + subtitle: String """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + A description of the contents of the entity. """ - orderable: Boolean! + summary: String """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + A human-readable title for the entity. """ - path: String! - """The list of (scalar) schema properties contained within this group.""" - properties: [ScalarProperty!]! - """Whether this property is required to have a value.""" - required: Boolean! + title: String! +} + +type EntityBreadcrumb implements Node { + crumb: Entity! + depth: Int! + id: ID! + kind: EntityKind! + label: String! + slug: String! +} + +""" +A common interface for something that exposes contextual permissions. + +""" +interface EntityContextualPermissions implements ExposesPermissions { """ - Provided for introspection. This represents the actual data type this property - uses. - - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. - + A list of allowed actions for the given user on this entity (and its descendants). """ - type: SchemaPropertyType! + allowedActions: [String!]! + """The role(s) that gave the permissions to access this resource, if any.""" + applicableRoles: [Role!]! + """ + The role(s) that the current user could assign to other users on this entity, if applicable. + """ + assignableRoles: [Role!]! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! +} + +"""A descendant of an `Entity`.""" +type EntityDescendant { + """The actual descendant entity""" + descendant: Entity! + """The relative depth of this entity from its ancestor""" + relativeDepth: Int! + """The scope of this entity relative to its ancestor""" + scope: EntityScope! +} + +"""The connection type for EntityDescendant.""" +type EntityDescendantConnection implements Paginated { + """A list of edges.""" + edges: [EntityDescendantEdge!]! + """A list of nodes.""" + nodes: [EntityDescendant!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""An edge in a connection.""" +type EntityDescendantEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: EntityDescendant! +} + +"""Sort entity descendants by specific attributes and order""" +enum EntityDescendantOrder { + """Sort descendants by oldest published date (or OLDEST for communities)""" + PUBLISHED_ASCENDING + """Sort descendants by newest published date (or RECENT for communities)""" + PUBLISHED_DESCENDING + """Sort descendants by title A-Z""" + TITLE_ASCENDING + """Sort descendants by title Z-A""" + TITLE_DESCENDING } """ -A record of a single attempt at harvesting. +This enum is used to filter the type(s) of descendants to include +in a set of results. """ -type HarvestAttempt implements HasHarvestErrors & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & Node & QueriesHarvestMessage & Sluggable { +enum EntityDescendantScopeFilter { """ - The time the attempt began. + This will include anything regardless of type. """ - beganAt: ISO8601DateTime - createdAt: ISO8601DateTime! + ALL """ - The current state of the attempt. + This will include all `Collection`s and `Item`s that are direct descendants and not linked. """ - currentState: HarvestAttemptState! + ANY_ENTITY """ - The time the attempt ended. + This will include any _linked_ `Collection`s or `Item`s. """ - endedAt: ISO8601DateTime + ANY_LINK """ - A progress report for entity data during a harvest attempt. + This will include only directly descending `Collection`s, no links. """ - entityStatus: HarvestAttemptEntityStatus + COLLECTION """ - The extraction mapping template used for this harvesting-related record - at its place in the hierarchy. It is an XML document that describes how - to map various types of metadata from the harvested records and transform - that data into entities in Meru. - - For harvest sources, it can be considered the default mapping template - for any record in the system, and should be used to pre-populate - attempts that are created by the source, as well as future plans to - allow for extracting a single record by external ID that may not have - yet been fetched by an extract records process. - - For harvest mappings, it can be considered the default mapping template - for any attempt created by the mapping. - - For any harvesting data that exists prior to the harvesting refactor - completed during March of 2025, it's possible for this value to be - an empty string. Any modifications to mappings and sources from that - time will need to add a valid mapping template in order to succeed. - - See `Query.harvestExamples` for examples of valid mapping templates. + This will include any descendant `Collection`s, whether or not it is a link. """ - extractionMappingTemplate: String! + COLLECTION_OR_LINK """ - A list of errors that are associated with this harvesting type. + This will include only directly descending `Item`s, no links. """ - harvestErrors: [HarvestError!]! + ITEM """ - An optional mapping that may have constrained the harvest attempt. + This will include any descendant `Item`s, whether or not it is a link. """ - harvestMapping: HarvestMapping - harvestMessages( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: HarvestMessageFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [HarvestMessageFilterInput!] = [] - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestMessageConnection! + ITEM_OR_LINK """ - Records associated with this attempt specifically. + This will only descendant `Collection`s that are linked. """ - harvestRecords( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestRecordOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestRecordConnection! + LINKED_COLLECTION """ - An optional set that may have constrained the harvest attempt. + This will only descendant `Item`s that are linked. """ - harvestSet: HarvestSet + LINKED_ITEM +} + +"""An enumeration of the different kinds of hierarchical entities""" +enum EntityKind { + COLLECTION + COMMUNITY + ITEM +} + +""" +An accessor for pulling up layout instances for a given entity. + +""" +type EntityLayouts { """ - The source associated with the attempt. + The `HERO` layout instance for this entity. """ - harvestSource: HarvestSource! - id: ID! + hero: HeroLayoutInstance """ - The metadata format used by this source / mapping. + The `LIST_ITEM` layout instance for this entity. - Fixed at creation time for now. + """ + listItem: ListItemLayoutInstance + """ + The `MAIN` layout instance for this entity. """ - metadataFormat: HarvestMetadataFormat! + main: MainLayoutInstance """ - Whether this attempt is `MANUAL` or `SCHEDULED`. This field is not set - through the admin section, but derived from how the attempt was created. + The `METADATA` layout instance for this entity. - `SCHEDULED` attempts are created by Meru internally - based on their `harvestMapping`'s configuration. + """ + metadata: MetadataLayoutInstance + """ + The `NAVIGATION` layout instance for this entity. """ - mode: HarvestScheduleMode! + navigation: NavigationLayoutInstance """ - An optional note for this harvesting attempt. + Whether the render happened inline when requesting this entity. """ - note: String + renderedInline: Boolean! """ - The number of records (if available). + The `SUPPLEMENTARY` layout instance for this entity. """ - recordCount: Int + supplementary: SupplementaryLayoutInstance +} + +"""A link between different entities""" +type EntityLink implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & OrderingEntryable & Sluggable { """ - A progress report for record data during a harvest attempt. + Whether the current user has permission to destroy this record. """ - recordStatus: HarvestAttemptRecordStatus + canDestroy: AuthorizationResult! """ - This specifies the time the attempt is scheduled to run at, if the `mode` is `SCHEDULED`. + Whether the current user has permission to update this record. """ - scheduledAt: ISO8601DateTime - slug: Slug! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + operator: EntityLinkOperator! + scope: EntityLinkScope! """ - The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified. + The encoded slug for this record. """ - targetEntity: HarvestTarget! + slug: Slug! + source: Entity! + sourceCollection: Collection + sourceCommunity: Community + sourceItem: Item + target: Entity! + targetCollection: Collection + targetCommunity: Community + targetItem: Item + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -"""The connection type for HarvestAttempt.""" -type HarvestAttemptConnection implements Paginated { +"""The connection type for EntityLink.""" +type EntityLinkConnection implements Paginated { """A list of edges.""" - edges: [HarvestAttemptEdge!]! + edges: [EntityLinkEdge!]! """A list of nodes.""" - nodes: [HarvestAttempt!]! + nodes: [EntityLink!]! """Information to aid in pagination.""" pageInfo: PageInfo! } """An edge in a connection.""" -type HarvestAttemptEdge { +type EntityLinkEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: HarvestAttempt! + node: EntityLink! +} + +"""A link operator describes how a source is linked to its target""" +enum EntityLinkOperator { + CONTAINS + REFERENCES +} + +"""A link scope succinctly describes the source and target types""" +enum EntityLinkScope { + """A link to a collection from another collection""" + COLLECTION_LINKED_COLLECTION + """A link to a community from a collection""" + COLLECTION_LINKED_COMMUNITY + """A link to an item from a community""" + COLLECTION_LINKED_ITEM + """A link to a collection not directly owned by a community""" + COMMUNITY_LINKED_COLLECTION + """A link to a community from another community""" + COMMUNITY_LINKED_COMMUNITY + """A link to an item from a community""" + COMMUNITY_LINKED_ITEM + """A link to a collection from an item""" + ITEM_LINKED_COLLECTION + """A link to a community from an item""" + ITEM_LINKED_COMMUNITY + """A link to an item from another item""" + ITEM_LINKED_ITEM +} + +"""Sort entities by a specific property and order""" +enum EntityOrder { + """Sort entities by oldest created date""" + OLDEST + """Sort communities by position 0-9; other entities by RECENT""" + POSITION_ASCENDING + """Sort communities by position 9-0; other entities by OLDEST""" + POSITION_DESCENDING + """Sort entities by oldest published date (or OLDEST for communities)""" + PUBLISHED_ASCENDING + """Sort entities by newest published date (or RECENT for communities)""" + PUBLISHED_DESCENDING + """Sort entities by newest created date""" + RECENT + """Sort entities by the name of their schema A-Z""" + SCHEMA_NAME_ASCENDING + """Sort entities by the name of their schema Z-A""" + SCHEMA_NAME_DESCENDING + """Sort entities by title A-Z""" + TITLE_ASCENDING + """Sort entities by title Z-A""" + TITLE_DESCENDING } """ -A progress report for entity data during a harvest attempt. +When retrieving lists of entities, sometimes it is helpful to only show +entities that the current user (or related user) has access to. """ -type HarvestAttemptEntityStatus implements Node & Sluggable { +enum EntityPermissionFilter { """ - Average time to fetch assets for a given entity in seconds (may be used in ETA calculations in the future). + Show only the entities that a user has specific read access for—this allows + them to view the full record as opposed to just what appears in the frontend. """ - assetsDurationAverage: Float + READ_ONLY """ - A (very) rough estimate of when the assets might be fully extracted. + A default value that skips checking for access. It will retrieve every + entity visible to the current user. """ - assetsEta: ISO8601DateTime + SKIP """ - The percentage of completion based on current data expressed as a float between 0.0 and 1.0. + Show entities that a user has the ability to update. """ - completion: Float - createdAt: ISO8601DateTime! - id: ID! - slug: Slug! + UPDATE +} + +"""A grid of permissions for various hierarchical entity scopes.""" +type EntityPermissionGrid implements CRUDPermissionGrid & ExposesPermissions & PermissionGrid { """ - Total number of entities extracted for this attempt. + A list of allowed actions for the given user on this entity (and its descendants). + """ + allowedActions: [String!]! + """ + Permissions related to managing assets associated with the attached entity. + + This is slated for deprecation in a future release. Instead, permissions for + assets will be determined by the `update` permission on the entity. """ - totalEntities: Int + assets: AssetPermissionGrid! + create: Boolean! + delete: Boolean! """ - Total number of entities that have been successfully extracted. + Whether the user can manage access to entities at this scope. """ - totalEntitiesSuccess: Int + manageAccess: Boolean! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! + read: Boolean! + update: Boolean! +} + +""" +Entities can optionally be submitted to. + +""" +interface EntityPermissions implements Submittable { """ - Total number of entities that are waiting for assets to be fetched. + Whether the current user has permission to alter the schema version of this entity. + + Submission drafts will be denied, even if the user would otherwise have permission. """ - totalEntitiesWaitingForAssets: Int + canAlterSchemaVersion: AuthorizationResult! """ - Total number of entities that are pending upsert. + Whether the current user has permission to create assets under this entity. """ - totalEntitiesWaitingForUpsert: Int + canCreateAssets: AuthorizationResult! """ - Total number of entities extracted for this attempt that have 1 or more assets attached. + Whether the current user has permission to create collections under this entity. """ - totalEntitiesWithAssets: Int - updatedAt: ISO8601DateTime! + canCreateCollections: AuthorizationResult! """ - Average time to upsert a given entity in seconds (may be used in ETA calculations in the future). + Whether the current user has permission to create items under this entity. """ - upsertDurationAverage: Float + canCreateItems: AuthorizationResult! """ - A (very) rough estimate of when the entities might be fully upserted. + Whether the current user has permission to deposit a new entity into this one. """ - upsertEta: ISO8601DateTime -} - -"""Autogenerated input type of HarvestAttemptFromMapping""" -input HarvestAttemptFromMappingInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + canDeposit: AuthorizationResult! """ - The extraction mapping template used for this harvesting-related record - at its place in the hierarchy. It is an XML document that describes how - to map various types of metadata from the harvested records and transform - that data into entities in Meru. + Whether the current user has permission to manage access to this entity. - For harvest sources, it can be considered the default mapping template - for any record in the system, and should be used to pre-populate - attempts that are created by the source, as well as future plans to - allow for extracting a single record by external ID that may not have - yet been fetched by an extract records process. + This opens up `grantAccess` and `revokeAccess` mutations. - For harvest mappings, it can be considered the default mapping template - for any attempt created by the mapping. + """ + canManageAccess: AuthorizationResult! + """ + Whether the current user has permission to purge this entity. - For any harvesting data that exists prior to the harvesting refactor - completed during March of 2025, it's possible for this value to be - an empty string. Any modifications to mappings and sources from that - time will need to add a valid mapping template in order to succeed. + """ + canPurge: AuthorizationResult! + """ + Whether the current user has permission to reparent this entity. - See `Query.harvestExamples` for examples of valid mapping templates. + Submission drafts will be denied, even if the user would otherwise have permission. """ - extractionMappingTemplate: String! + canReparent: AuthorizationResult! """ - The harvest mapping to update. + Whether the current user has permission to revalidate this entity. """ - harvestMappingId: ID! + canRevalidate: AuthorizationResult! """ - An optional note for this harvesting attempt. + Whether the current user has permission to review deposits to this entity. """ - note: String -} - -"""Autogenerated return type of HarvestAttemptFromMapping.""" -type HarvestAttemptFromMappingPayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + canReview: AuthorizationResult! """ - The newly-modified harvest mapping, if successful. + THe current submission status of this entity. Is it a draft, published, or unrelated? """ - harvestAttempt: HarvestAttempt + submissionStatus: EntitySubmissionStatus! + """ + The submission target that this entity can be submitted to, if any. + + """ + submissionTarget: SubmissionTarget } -"""Autogenerated input type of HarvestAttemptFromSource""" -input HarvestAttemptFromSourceInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +""" +A property that references another entity within the system. + +""" +type EntityProperty implements HasAvailableEntities & ScalarProperty & SchemaProperty { """ - The extraction mapping template used for this harvesting-related record - at its place in the hierarchy. It is an XML document that describes how - to map various types of metadata from the harvested records and transform - that data into entities in Meru. + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. - For harvest sources, it can be considered the default mapping template - for any record in the system, and should be used to pre-populate - attempts that are created by the source, as well as future plans to - allow for extracting a single record by external ID that may not have - yet been fetched by an extract records process. + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. - For harvest mappings, it can be considered the default mapping template - for any attempt created by the mapping. + """ + array: Boolean! + """ + Expose all available entities for this schema property. - For any harvesting data that exists prior to the harvesting refactor - completed during March of 2025, it's possible for this value to be - an empty string. Any modifications to mappings and sources from that - time will need to add a valid mapping template in order to succeed. + """ + availableEntities: [EntitySelectOption!]! + """ + A human-readable description for the property. It should describe the purpose of the + property as well as some details about the types of values it looks for. - See `Query.harvestExamples` for examples of valid mapping templates. + It can be rendered as help text, hints, etc. """ - extractionMappingTemplate: String! + description: String """ - An optional set to restrict the attempt to. + A single reference to another entity within the system. """ - harvestSetId: ID + entity: Entity """ - The harvest source to use as the base. + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. """ - harvestSourceId: ID! + fullPath: String! """ - An optional note for this harvesting attempt. + The purpose or intent of this property relative to its entity, parents, and others. """ - note: String + function: SchemaPropertyFunction! """ - The community or collection to target for the harvest. + Instructions for filling out this property during submission, if applicable. """ - targetEntityId: ID! -} - -"""Autogenerated return type of HarvestAttemptFromSource.""" -type HarvestAttemptFromSourcePayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + instructions: String """ - The newly created harvest attempt record, if successful. + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. """ - harvestAttempt: HarvestAttempt + isWide: Boolean! """ - The newly-modified harvest source, if successful. + Provided for introspection. This describes the underlying structure of the data type. """ - harvestSource: HarvestSource -} - -""" -Sort a collection of `HarvestAttempt` records by specific properties and directions. - -""" -enum HarvestAttemptOrder { - """Sort harvest attempts by their default order.""" - DEFAULT - """Sort harvest attempts by oldest created date.""" - OLDEST - """Sort harvest attempts by newest created date.""" - RECENT -} - -"""Autogenerated input type of HarvestAttemptPruneEntities""" -input HarvestAttemptPruneEntitiesInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + kind: SchemaPropertyKind! """ - The harvest attempt to update. + A human-readable label for the schema property. """ - harvestAttemptId: ID! + label: String! """ - Whether to prune `PRISTINE` or **all** harvested entities. + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. """ - mode: HarvestPruneMode! -} - -"""Autogenerated return type of HarvestAttemptPruneEntities.""" -type HarvestAttemptPruneEntitiesPayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + orderable: Boolean! """ - The harvest attempt, if successful. + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. """ - harvestAttempt: HarvestAttempt -} - -""" -A progress report for record data during a harvest attempt. - -""" -type HarvestAttemptRecordStatus implements Node & Sluggable { + path: String! """ - The percentage of completion based on current data expressed as a float between 0.0 and 1.0. + Whether or not this property is required in order for the schema instance + to be considered valid. + + Note: invalid data provided to a schema property will still invalidate + the instance as a whole—the required trait only determines whether a value + **must** be set. """ - completion: Float - createdAt: ISO8601DateTime! + required: Boolean! """ - Average time to extract a given record in seconds (may be used in ETA calculations in the future). + Whether or not this property should be displayed as part of the submission process for this schema. """ - extractionDurationAverage: Float - id: ID! - slug: Slug! + submittable: Boolean! """ - Total number of records extracted for this attempt. + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. """ - totalRecords: Int + type: SchemaPropertyType! +} + +"""Autogenerated input type of EntityPurge""" +input EntityPurgeInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Total number of records that have been successfully extracted. + The entity to destroy. """ - totalRecordsSuccess: Int + entityId: ID! +} + +"""Autogenerated return type of EntityPurge.""" +type EntityPurgePayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Total number of records that are pending extraction (which will then be harvest entities). + Whether or not the model was successfully destroyed. If false, check globalErrors + """ + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + """ + The root entity that is to be purged. + + Note that it may not exist for very long. """ - totalRecordsWaitingForExtraction: Int + entity: Entity + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String """ - Total number of records that are waiting on their entities to be complete. - This could include waiting for assets to be fetched. + Whether or not a job was enqueued. """ - totalRecordsWaitingForUpsert: Int - updatedAt: ISO8601DateTime! + jobEnqueued: Boolean } """ -The state that an attempt is in. +This type is used for authorization and filtering, and can +distinguish an entity that has been linked to another from +one that exists directly in a hierarchy. """ -enum HarvestAttemptState { - """ - A scheduled attempt that was cancelled. - - """ - CANCELLED +enum EntityScope { """ - An attempt that is in the process of extracting records. - - A failed extraction may linger in this state. + A `Collection` that is an actual descendant at this point in the hierarchy. """ - EXECUTING + COLLECTION """ - An attempt whose entities have all been extracted from the source. + A `Collection` that was linked from another `Collection`. """ - EXTRACTED + COLLECTION_LINKED_COLLECTION """ - An attempt that has not yet extracted anything. + A `Community` that was linked from a `Collection`. """ - PENDING + COLLECTION_LINKED_COMMUNITY """ - A scheduled attempt for a specific mapping that has not yet ran. + An `Item` that was linked from a `Collection`. """ - SCHEDULED -} - -""" -A record that can be used to trigger a run of the harvesting -subsystem via `harvestStart`. - -""" -interface HarvestAttemptable { + COLLECTION_LINKED_ITEM """ - Harvest attempts associated with this record. + A `Community` that is an actual descendant at this point in the hierarchy. """ - harvestAttempts( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestAttemptOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestAttemptConnection! -} - -""" -A staged entity extracted from a `HarvestRecord`, that -can then be associated to an actual entity by the -harvesting process. - -""" -type HarvestEntity implements Node & QueriesHarvestMessage & Sluggable { - createdAt: ISO8601DateTime! + COMMUNITY """ - The real entity this is associated with (if available). + A `Collection` that was linked from a `Community`. """ - entity: Entity - harvestMessages( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: HarvestMessageFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [HarvestMessageFilterInput!] = [] - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestMessageConnection! - id: ID! + COMMUNITY_LINKED_COLLECTION """ - A unique identifier for the staged entity within the context of its `HarvestRecord`. + A `Community` that was linked from another `Community`. """ - identifier: String! + COMMUNITY_LINKED_COMMUNITY """ - Whether this staged entity is a leaf (has no children). + An `Item` that was linked from a `Community`. """ - leaf: Boolean! + COMMUNITY_LINKED_ITEM """ - The parent staged entity (if applicable). + An `Item` that is an actual descendant at this point in the hierarchy. """ - parent: HarvestEntity + ITEM """ - The relative depth of the staged entity (based on the attempt's `targetEntity`). + A `Collection` that was linked from an `Item`. """ - relativeDepth: Int! + ITEM_LINKED_COLLECTION """ - Whether this staged entity is a root (has no parent). + A `Community` that was linked from an `Item`. """ - root: Boolean! + ITEM_LINKED_COMMUNITY """ - The schema version that this will use (if available). + An `Item` that was linked from another `Item`. """ - schemaVersion: SchemaVersion + ITEM_LINKED_ITEM +} + +"""A select option for a single entity""" +type EntitySelectOption implements HasEntityBreadcrumbs { + """Previous entries in the hierarchy""" + breadcrumbs: [EntityBreadcrumb!]! + entity: Entity! + kind: EntityKind! + label: String! + schemaVersion: SchemaVersion! slug: Slug! - updatedAt: ISO8601DateTime! + value: ID! } """ -An error that may occur during the harvesting process. +An enum describing the submission state of an actual entity record. + +It can have an effect on the visibility and available of records from the frontend. """ -type HarvestError implements Node & Sluggable { +enum EntitySubmissionStatus { """ - A machine code that identifies the error for reprocessing and debugging. + This entity has a submission in draft state. + + It will not be visible nor available from the frontend until it is published. """ - code: String - createdAt: ISO8601DateTime! - id: ID! + SUBMISSION_DRAFT """ - A more descriptive issue of the message, if available. + This entity has a submission in published state. + + It will be visible and available from the frontend. """ - message: String + SUBMISSION_PUBLISHED """ - Raw metadata for the error. Should be displayed as inspectable JSON. + This entity has no submission associated with it. + + Its submission state has no effect on the visibility nor availability of the entity from the frontend. """ - metadata: JSON! - slug: Slug! - updatedAt: ISO8601DateTime! + UNSUBMITTED +} + +"""The level of visibility an entity can have""" +enum EntityVisibility { + HIDDEN + LIMITED + VISIBLE } """ -An example of various harvesting configurations, particularly extraction mapping templates. +Filter entities by their visibility. + +`VISIBLE` is the default in most cases. Any other option requires special privileges. """ -type HarvestExample { +enum EntityVisibilityFilter { + """Do not filter entities by their visibility at all.""" + ALL + """Fetch only *currently hidden* entities.""" + HIDDEN + """Fetch only *currently visible* entities.""" + VISIBLE +} + +""" +Require that `path = value`. + +""" +input EqualsOperatorInput { + path: String! + value: JSON! +} + +""" +A common interface for something that exposes contextual permissions. + +""" +interface ExposesPermissions { """ - Whether this should be considered a "default" example - for a given metadata / protocol combination. - + A list of allowed actions for the given user on this entity (and its descendants). """ - default: Boolean! + allowedActions: [String!]! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! +} + +type FailureReasons { + """JSON-encoded map of reasons""" + details: String! + """Human-readable errors""" + fullMessages: [String!]! +} + +""" +Filter a value with various constraints. If no values are provided to any +operator, this filter will be ignored. + +**Note**: The server will _not_ try to check for logical impossibilities, +e.g. `{ lt: 5, gteq: 10 }`. Input like this will match nothing. + +""" +input FilterMatchTimeInput { + """Value to compare with using the `eq` operator.""" + eq: ISO8601DateTime + """Value to compare with using the `gt` operator.""" + gt: ISO8601DateTime + """Value to compare with using the `gteq` operator.""" + gteq: ISO8601DateTime + """Value to compare with using the `lt` operator.""" + lt: ISO8601DateTime + """Value to compare with using the `lteq` operator.""" + lteq: ISO8601DateTime + """Value to compare with using the `not_eq` operator.""" + notEq: ISO8601DateTime +} + +type FloatProperty implements ScalarProperty & SchemaProperty & SearchableProperty { """ - A description about the example, if available. + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. + + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. """ + array: Boolean! + defaultFloat: Float description: String + floatValue: Float """ - The example's extraction mapping template which can be applied to harvest sources, mappings, and attempts. + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. """ - extractionMappingTemplate: String! + fullPath: String! """ - Whether this is a generic example that is not tied - to any specific protocol nor metadata format. + The purpose or intent of this property relative to its entity, parents, and others. """ - generic: Boolean! + function: SchemaPropertyFunction! """ - The ID for the example. + Instructions for filling out this property during submission, if applicable. """ - id: ID! + instructions: String """ - The metadata format this example applies to. + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. - It can be blank if the example is not metadata-specific. + """ + isWide: Boolean! + """ + Provided for introspection. This describes the underlying structure of the data type. """ - metadataFormatName: HarvestMetadataFormat + kind: SchemaPropertyKind! + label: String! """ - The human-readable name for the example. + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. """ - name: String! + orderable: Boolean! """ - The protocol this example applies to. + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. - It can be blank if the example is not protocol-specific. + """ + path: String! + """ + Whether or not this property is required in order for the schema instance + to be considered valid. + + Note: invalid data provided to a schema property will still invalidate + the instance as a whole—the required trait only determines whether a value + **must** be set. """ - protocolName: HarvestProtocol + required: Boolean! + searchOperators: [SearchOperator!]! + searchPath: String! """ - A list of schema declarations that the mapping template can generate. + Whether or not this property should be displayed as part of the submission process for this schema. """ - schemaDeclarations: [String!]! + submittable: Boolean! """ - A list of schema versions that the mapping template can generate. + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. """ - schemaVersions: [SchemaVersion!]! + type: SchemaPropertyType! } -""" -A specific mapping to be used by a `HarvestSource`, -possibly an optional `HarvestSet`, and other options -in order to harvest records from the source and produce -entities. +"""Autogenerated input type of FrontendCacheRevalidateEntity""" +input FrontendCacheRevalidateEntityInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The entity to update. + + """ + entityId: ID! +} -It can produce a `HarvestAttempt`. +"""Autogenerated return type of FrontendCacheRevalidateEntity.""" +type FrontendCacheRevalidateEntityPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + Whether the revalidation request was successfully performed. + + """ + revalidated: Boolean +} + +"""Autogenerated input type of FrontendCacheRevalidateInstance""" +input FrontendCacheRevalidateInstanceInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of FrontendCacheRevalidateInstance.""" +type FrontendCacheRevalidateInstancePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + Whether the revalidation request was successfully performed. + + """ + revalidated: Boolean +} + +"""A full-text searchable value for an entity""" +type FullText { + """The full-text searchable value itself""" + content: String + """The content type for the text, if any""" + kind: FullTextKind + """The ISO-639 language code of this content, if any""" + lang: String +} """ -type HarvestMapping implements HarvestAttemptable & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & HasHarvestOptions & Node & QueriesHarvestMessage & Sluggable { - createdAt: ISO8601DateTime! +It is necessary for the system to know what kind the content is in order to properly index it +""" +enum FullTextKind { + HTML + MARKDOWN + TEXT +} + +type FullTextProperty implements ScalarProperty & SchemaProperty & SearchableProperty { """ - The extraction mapping template used for this harvesting-related record - at its place in the hierarchy. It is an XML document that describes how - to map various types of metadata from the harvested records and transform - that data into entities in Meru. + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. - For harvest sources, it can be considered the default mapping template - for any record in the system, and should be used to pre-populate - attempts that are created by the source, as well as future plans to - allow for extracting a single record by external ID that may not have - yet been fetched by an extract records process. + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. - For harvest mappings, it can be considered the default mapping template - for any attempt created by the mapping. + """ + array: Boolean! + description: String + """ + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. - For any harvesting data that exists prior to the harvesting refactor - completed during March of 2025, it's possible for this value to be - an empty string. Any modifications to mappings and sources from that - time will need to add a valid mapping template in order to succeed. + """ + fullPath: String! + fullText: FullText + """ + The purpose or intent of this property relative to its entity, parents, and others. - See `Query.harvestExamples` for examples of valid mapping templates. + """ + function: SchemaPropertyFunction! + """ + Instructions for filling out this property during submission, if applicable. """ - extractionMappingTemplate: String! + instructions: String """ - This can be a cron expression as well as a human-readable expression like - `"every sunday at 5 am America/Los_Angeles"`. - The system will attempt to validate and parse the expression when setting - it in order to make sure it is something that Meru can handle. + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. """ - frequencyExpression: String + isWide: Boolean! """ - Attempts produced by this mapping. + Provided for introspection. This describes the underlying structure of the data type. """ - harvestAttempts( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestAttemptOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestAttemptConnection! - harvestMessages( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: HarvestMessageFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [HarvestMessageFilterInput!] = [] - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestMessageConnection! + kind: SchemaPropertyKind! + label: String! """ - Records associated with this mapping. + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. """ - harvestRecords( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestRecordOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestRecordConnection! + orderable: Boolean! """ - The optionally-associated harvest set for this mapping. + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. """ - harvestSet: HarvestSet + path: String! """ - The harvest source this belongs to. + Whether or not this property is required in order for the schema instance + to be considered valid. - """ - harvestSource: HarvestSource! - id: ID! - """ - This timestamp signifies when the harvest mapping last tried to schedule its - attempts (if applicable). + Note: invalid data provided to a schema property will still invalidate + the instance as a whole—the required trait only determines whether a value + **must** be set. """ - lastScheduledAt: ISO8601DateTime + required: Boolean! + searchOperators: [SearchOperator!]! + searchPath: String! """ - Options that control mapping of entities during the harvesting process. + Whether or not this property should be displayed as part of the submission process for this schema. """ - mappingOptions: HarvestOptionsMapping! + submittable: Boolean! """ - The metadata format used by this source / mapping. + Provided for introspection. This represents the actual data type this property + uses. - Fixed at creation time for now. + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. """ - metadataFormat: HarvestMetadataFormat! + type: SchemaPropertyType! +} + +""" +An input object representing the parameters for a full-text search query. + +""" +input FullTextSearchQueryInput { """ - Whether this mapping is `MANUAL` or `SCHEDULED`. This field is not set - through the admin section, but derived from parsing the mapping's - `frequencyExpression`. - - `SCHEDULED` mappings will automatically create `HarvestAttempt`s - for the next several iterations of their `frequencyExpression`. + The query to search by. """ - mode: HarvestScheduleMode! + needle: String """ - Options that control reading from the source. + The search strategy to use, either "PREFIX" for prefix matching or "FUZZY" for fuzzy query matching. """ - readOptions: HarvestOptionsRead! + strategy: FullTextSearchStrategy = FUZZY +} + +""" +The strategy to use for full-text search queries. + +""" +enum FullTextSearchStrategy { """ - This timestamp signifies the last time the frequency expression, or any - of its derived fields, were changed. + This will look for an exact match of the provided needle. """ - scheduleChangedAt: ISO8601DateTime + EXACT """ - Derived information about the frequency expression (if valid and applicable), - to provide insight for introspection. + This uses a "fuzzy" full-text websearch strategy, + which supports using quotation marks and negation. """ - scheduleData: HarvestScheduleData! - slug: Slug! + FUZZY """ - The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified. + This will try to match beginnings of words in the provided needle. """ - targetEntity: HarvestTarget! - updatedAt: ISO8601DateTime! + PREFIX } -"""The connection type for HarvestMapping.""" -type HarvestMappingConnection implements Paginated { - """A list of edges.""" - edges: [HarvestMappingEdge!]! - """A list of nodes.""" - nodes: [HarvestMapping!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} +""" +A global ACL that applies to a given role. -"""Autogenerated input type of HarvestMappingCreate""" -input HarvestMappingCreateInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """ - The extraction mapping template used for this harvesting-related record - at its place in the hierarchy. It is an XML document that describes how - to map various types of metadata from the harvested records and transform - that data into entities in Meru. - - For harvest sources, it can be considered the default mapping template - for any record in the system, and should be used to pre-populate - attempts that are created by the source, as well as future plans to - allow for extracting a single record by external ID that may not have - yet been fetched by an extract records process. - - For harvest mappings, it can be considered the default mapping template - for any attempt created by the mapping. - - For any harvesting data that exists prior to the harvesting refactor - completed during March of 2025, it's possible for this value to be - an empty string. Any modifications to mappings and sources from that - time will need to add a valid mapping template in order to succeed. - - See `Query.harvestExamples` for examples of valid mapping templates. - - """ - extractionMappingTemplate: String! +Permissions defined in this ACL are not scoped to any particular entity. + +""" +type GlobalAccessControlList implements ExposesPermissions { """ - This can be a cron expression as well as a human-readable expression like - `"every sunday at 5 am America/Los_Angeles"`. - The system will attempt to validate and parse the expression when setting - it in order to make sure it is something that Meru can handle. + Permissions related to the admin section of Meru. """ - frequencyExpression: String + admin: AdminPermissionGrid! """ - An optional set to associate with the mapping. - - This cannot be changed since mappings are intricately tied to their set (if applicable). - + A list of allowed actions for the given user on this entity (and its descendants). """ - harvestSetId: ID + allowedActions: [String!]! """ - The harvest source to create the mapping for. - - This cannot be changed since mappings are intricately tied to sources. + Permissions related to communities, aka top-level entities. """ - harvestSourceId: ID! + communities: EntityPermissionGrid! """ - Options that control mapping of entities during the harvesting process. + Permissions related to contributors. """ - mappingOptions: HarvestOptionsMappingInput = {autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false} + contributors: ContributorPermissionGrid! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! """ - The metadata format for this mapping to use, which can be different from the Harvest Source. - - It should default to whatever the harvest source uses. + Permissions related to managing role records in Meru. """ - metadataFormat: HarvestMetadataFormat! + roles: RolePermissionGrid! """ - Options that control reading from the source. + Permissions related to managing global configuration settings in Meru. """ - readOptions: HarvestOptionsReadInput = {maxRecords: 80000} + settings: SettingsPermissionGrid! """ - The community or collection to target for this mapping. - - This can be changed if the mapping needs to be retargeted in the hierarchy. + Permissions related to managing user records in Meru. """ - targetEntityId: ID! + users: UserPermissionGrid! } -"""Autogenerated return type of HarvestMappingCreate.""" -type HarvestMappingCreatePayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String +"""The global configuration for this installation of Meru.""" +type GlobalConfiguration implements Node { """ - The newly-modified harvest mapping, if successful. + Global configuration for contribution roles. """ - harvestMapping: HarvestMapping + contributionRoles: ContributionRoleConfiguration! + """Settings specific to contributors on this installation.""" + contributors: ContributorsSettings! + """Settings specific to depositing to this installation.""" + depositing: DepositingSettings! + """Settings specific to how entities should behave on this installation.""" + entities: EntitiesSettings! + id: ID! + """Settings specific to this institution.""" + institution: InstitutionSettings! + """The logo attachment. It may not always be present.""" + logo: SiteLogoAttachment! + """Configurable metadata for the logo attachment.""" + logoMetadata: ImageMetadata + """Settings specific to this site""" + site: SiteSettings! + """Settings specific to the site's theme""" + theme: ThemeSettings! } -"""Autogenerated input type of HarvestMappingDestroy""" -input HarvestMappingDestroyInput { +"""Autogenerated input type of GrantAccess""" +input GrantAccessInput { """A unique identifier for the client performing the mutation.""" clientMutationId: String - """ - The harvest mapping to destroy. - - """ - harvestMappingId: ID! + entityId: ID! + roleId: ID! + userId: ID! } -"""Autogenerated return type of HarvestMappingDestroy.""" -type HarvestMappingDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { +"""Autogenerated return type of GrantAccess.""" +type GrantAccessPayload implements StandardMutationPayload { attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String - """ - Whether or not the model was successfully destroyed. If false, check globalErrors - """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID + entity: AnyEntity errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") globalErrors: [MutationGlobalError!]! + """Whether or not access was granted""" + granted: Boolean """Not presently used""" haltCode: String } -"""An edge in a connection.""" -type HarvestMappingEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: HarvestMapping! -} - """ -Sort a collection of `HarvestMapping` records by specific properties and directions. +A schema property that groups other schema properties together underneath a `path`. """ -enum HarvestMappingOrder { - """Sort harvest mappings by their default order.""" - DEFAULT - """Sort harvest mappings by oldest created date.""" - OLDEST - """Sort harvest mappings by newest created date.""" - RECENT +type GroupProperty implements SchemaProperty { + """ + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. + + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. + + """ + array: Boolean! + """ + A human-readable description for the property. It should describe the purpose of the + property as well as some details about the types of values it looks for. + + It can be rendered as help text, hints, etc. + + """ + description: String + """ + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. + + """ + fullPath: String! + """ + Provided for introspection. This describes the underlying structure of the data type. + + """ + kind: SchemaPropertyKind! + """The legend / label for this group property.""" + legend: String + """ + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. + + """ + orderable: Boolean! + """ + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. + + """ + path: String! + """The list of (scalar) schema properties contained within this group.""" + properties: [ScalarProperty!]! + """Whether this property is required to have a value.""" + required: Boolean! + """ + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. + + """ + type: SchemaPropertyType! } -"""Autogenerated input type of HarvestMappingUpdate""" -input HarvestMappingUpdateInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +""" +A record of a single attempt at harvesting. + +""" +type HarvestAttempt implements CommonModel & CommonPermissions & HasDefaultTimestamps & HasHarvestErrors & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & Node & QueriesHarvestMessage & Sluggable { + """ + The time the attempt began. + + """ + beganAt: ISO8601DateTime + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + The current state of the attempt. + + """ + currentState: HarvestAttemptState! + """ + The time the attempt ended. + + """ + endedAt: ISO8601DateTime + """ + A progress report for entity data during a harvest attempt. + + """ + entityStatus: HarvestAttemptEntityStatus """ The extraction mapping template used for this harvesting-related record at its place in the hierarchy. It is an XML document that describes how @@ -8819,291 +10400,339 @@ input HarvestMappingUpdateInput { """ extractionMappingTemplate: String! """ - This can be a cron expression as well as a human-readable expression like - `"every sunday at 5 am America/Los_Angeles"`. - The system will attempt to validate and parse the expression when setting - it in order to make sure it is something that Meru can handle. + A list of errors that are associated with this harvesting type. """ - frequencyExpression: String + harvestErrors: [HarvestError!]! @deprecated(reason: "Harvest errors are no longer returned nor generated. Check the harvest messages instead.\n") """ - The harvest mapping to update. + An optional mapping that may have constrained the harvest attempt. """ - harvestMappingId: ID! + harvestMapping: HarvestMapping + harvestMessages( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: HarvestMessageFilterInput = {severity: INFO} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [HarvestMessageFilterInput!] = [] + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestMessageConnection! """ - Options that control mapping of entities during the harvesting process. + Records associated with this attempt specifically. """ - mappingOptions: HarvestOptionsMappingInput = {autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false} + harvestRecords( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestRecordOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestRecordConnection! """ - Options that control reading from the source. + An optional set that may have constrained the harvest attempt. """ - readOptions: HarvestOptionsReadInput = {maxRecords: 80000} + harvestSet: HarvestSet """ - The community or collection to target for this mapping. - - This can be changed if the mapping needs to be retargeted in the hierarchy. + The source associated with the attempt. """ - targetEntityId: ID! -} - -"""Autogenerated return type of HarvestMappingUpdate.""" -type HarvestMappingUpdatePayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + harvestSource: HarvestSource! + id: ID! """ - The newly-modified harvest mapping, if successful. + The metadata format used by this source / mapping. - """ - harvestMapping: HarvestMapping -} - -""" -A single log message recorded during some aspect of harvesting. - -""" -type HarvestMessage implements Node & Sluggable { - """ - The time the message occurred. This field should be favored at - for display over the model's default `createdAt` field. + Fixed at creation time for now. """ - at: ISO8601DateTime! - createdAt: ISO8601DateTime! + metadataFormat: HarvestMetadataFormat! """ - The harvest attempt associatd with the message, if available. + Whether this attempt is `MANUAL` or `SCHEDULED`. This field is not set + through the admin section, but derived from how the attempt was created. - """ - harvestAttempt: HarvestAttempt - """ - The harvest entity associatd with the message, if available. + `SCHEDULED` attempts are created by Meru internally + based on their `harvestMapping`'s configuration. """ - harvestEntity: HarvestEntity + mode: HarvestScheduleMode! """ - The harvest mapping associatd with the message, if available. + An optional note for this harvesting attempt. """ - harvestMapping: HarvestMapping + note: String """ - The harvest record associatd with the message, if available. + The number of records (if available). """ - harvestRecord: HarvestRecord + recordCount: Int """ - The harvest source associated with the message. + A progress report for record data during a harvest attempt. """ - harvestSource: HarvestSource - id: ID! + recordStatus: HarvestAttemptRecordStatus """ - The level of severity of the message. + This specifies the time the attempt is scheduled to run at, if the `mode` is `SCHEDULED`. """ - level: HarvestMessageLevel! + scheduledAt: ISO8601DateTime """ - The message itself. + The encoded slug for this record. """ - message: String! slug: Slug! """ - Tags associated with the message. This may describe what section - of the harvesting system triggered the message, and may support - querying in the future. + The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified. """ - tags: [String!]! + targetEntity: HarvestTarget! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -"""The connection type for HarvestMessage.""" -type HarvestMessageConnection implements Paginated { +"""The connection type for HarvestAttempt.""" +type HarvestAttemptConnection implements Paginated { """A list of edges.""" - edges: [HarvestMessageEdge!]! + edges: [HarvestAttemptEdge!]! """A list of nodes.""" - nodes: [HarvestMessage!]! + nodes: [HarvestAttempt!]! """Information to aid in pagination.""" pageInfo: PageInfo! } """An edge in a connection.""" -type HarvestMessageEdge { +type HarvestAttemptEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: HarvestMessage! + node: HarvestAttempt! } """ -Filters for HarvestMessage. +A progress report for entity data during a harvest attempt. """ -input HarvestMessageFilterInput { - severity: HarvestMessageLevel -} - -""" -Levels of severity associated with `HarvestMessage`s. - -`FATAL` is the most severe, `TRACE` is the least. - -""" -enum HarvestMessageLevel { +type HarvestAttemptEntityStatus implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Debug information about the harvesting system. - - May be hidden by default when displaying. + Average time to fetch assets for a given entity in seconds (may be used in ETA calculations in the future). """ - DEBUG + assetsDurationAverage: Float """ - An error that may or may not have interrupted a harvesting operation, - but could, for instance, just indicate that a single record failed. + A (very) rough estimate of when the assets might be fully extracted. """ - ERROR + assetsEta: ISO8601DateTime """ - A fatal error which likely caused an entire harvesting operation to stop. + Whether the current user has permission to destroy this record. """ - FATAL + canDestroy: AuthorizationResult! """ - Informational messages that are higher priority than debug messages. + Whether the current user has permission to update this record. """ - INFO + canUpdate: AuthorizationResult! """ - Very low-level trace messages that may be used in the future - to narrow down specific / performance issues with harvesting, - but at present likely won't appear. + The percentage of completion based on current data expressed as a float between 0.0 and 1.0. - Should be hidden by default when displaying. + """ + completion: Float + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + """ + The encoded slug for this record. """ - TRACE + slug: Slug! """ - Warnings about validation failures and similar things. + Total number of entities extracted for this attempt. """ - WARN -} - -""" -Supported metadata formats for harvesting. - -`HarvestProtocol` describes the transport method for individual records to be harvested, -while `HarvestMetadataFormat` describes the structure of the data. - -""" -enum HarvestMetadataFormat { + totalEntities: Int """ - [Esploro Records](https://developers.exlibrisgroup.com/esploro/apis/xsd/esploro_record.xsd/) + Total number of entities that have been successfully extracted. """ - ESPLORO + totalEntitiesSuccess: Int """ - [Journal Article Tag Suite](https://jats.nlm.nih.gov/) + Total number of entities that are waiting for assets to be fetched. """ - JATS + totalEntitiesWaitingForAssets: Int """ - [Metadata Encoding and Transmission Standard](https://www.loc.gov/standards/mets/) + Total number of entities that are pending upsert. """ - METS + totalEntitiesWaitingForUpsert: Int """ - [Metadata Object Description Schema](https://www.loc.gov/standards/mods/) + Total number of entities extracted for this attempt that have 1 or more assets attached. """ - MODS + totalEntitiesWithAssets: Int + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - [OAI-PMH Dublin Core](https://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#dublincore) + Average time to upsert a given entity in seconds (may be used in ETA calculations in the future). """ - OAIDC + upsertDurationAverage: Float """ - Pressbooks 'Book' response + A (very) rough estimate of when the entities might be fully upserted. """ - PRESSBOOKS + upsertEta: ISO8601DateTime } -""" -An advanced definition that allows mapping specific existing entities to act as parents -for certain harvested entities, based on their metadata matching a specific mapping. - -""" -type HarvestMetadataMapping implements Node & Sluggable { - createdAt: ISO8601DateTime! +"""Autogenerated input type of HarvestAttemptFromMapping""" +input HarvestAttemptFromMappingInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Which "field" this should try to match its `pattern` against. + The extraction mapping template used for this harvesting-related record + at its place in the hierarchy. It is an XML document that describes how + to map various types of metadata from the harvested records and transform + that data into entities in Meru. + + For harvest sources, it can be considered the default mapping template + for any record in the system, and should be used to pre-populate + attempts that are created by the source, as well as future plans to + allow for extracting a single record by external ID that may not have + yet been fetched by an extract records process. + + For harvest mappings, it can be considered the default mapping template + for any attempt created by the mapping. + + For any harvesting data that exists prior to the harvesting refactor + completed during March of 2025, it's possible for this value to be + an empty string. Any modifications to mappings and sources from that + time will need to add a valid mapping template in order to succeed. + + See `Query.harvestExamples` for examples of valid mapping templates. """ - field: HarvestMetadataMappingField! - id: ID! + extractionMappingTemplate: String! """ - A regular expression / pattern to match against. Must be written to support postgres regular expressions, - which are more limited than most modern languages but follow the ANSI spec as much as possible. + The harvest mapping to update. """ - pattern: String! - slug: Slug! + harvestMappingId: ID! """ - The entity that will act as the parent when this metadata mapping is matched. + An optional note for this harvesting attempt. """ - targetEntity: HarvestTarget! - updatedAt: ISO8601DateTime! + note: String } -"""The connection type for HarvestMetadataMapping.""" -type HarvestMetadataMappingConnection implements Paginated { - """A list of edges.""" - edges: [HarvestMetadataMappingEdge!]! - """A list of nodes.""" - nodes: [HarvestMetadataMapping!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! +"""Autogenerated return type of HarvestAttemptFromMapping.""" +type HarvestAttemptFromMappingPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The newly-modified harvest mapping, if successful. + + """ + harvestAttempt: HarvestAttempt } -"""Autogenerated input type of HarvestMetadataMappingCreate""" -input HarvestMetadataMappingCreateInput { +"""Autogenerated input type of HarvestAttemptFromSource""" +input HarvestAttemptFromSourceInput { """A unique identifier for the client performing the mutation.""" clientMutationId: String """ - Which "field" this should try to match its `pattern` against. + The extraction mapping template used for this harvesting-related record + at its place in the hierarchy. It is an XML document that describes how + to map various types of metadata from the harvested records and transform + that data into entities in Meru. + + For harvest sources, it can be considered the default mapping template + for any record in the system, and should be used to pre-populate + attempts that are created by the source, as well as future plans to + allow for extracting a single record by external ID that may not have + yet been fetched by an extract records process. + + For harvest mappings, it can be considered the default mapping template + for any attempt created by the mapping. + + For any harvesting data that exists prior to the harvesting refactor + completed during March of 2025, it's possible for this value to be + an empty string. Any modifications to mappings and sources from that + time will need to add a valid mapping template in order to succeed. + + See `Query.harvestExamples` for examples of valid mapping templates. """ - field: HarvestMetadataMappingField! + extractionMappingTemplate: String! """ - The source to create the harvest metadata mapping for. + An optional set to restrict the attempt to. + + """ + harvestSetId: ID + """ + The harvest source to use as the base. """ harvestSourceId: ID! """ - A regular expression / pattern to match against. Must be written to support postgres regular expressions, - which are more limited than most modern languages but follow the ANSI spec as much as possible. + An optional note for this harvesting attempt. """ - pattern: String! + note: String """ - The entity that will act as the parent when this metadata mapping is matched. + The community or collection to target for the harvest. """ targetEntityId: ID! } -"""Autogenerated return type of HarvestMetadataMappingCreate.""" -type HarvestMetadataMappingCreatePayload implements StandardMutationPayload { +"""Autogenerated return type of HarvestAttemptFromSource.""" +type HarvestAttemptFromSourcePayload implements StandardMutationPayload { attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String @@ -9112,269 +10741,215 @@ type HarvestMetadataMappingCreatePayload implements StandardMutationPayload { """Not presently used""" haltCode: String """ - The newly-modified harvest metadata mapping, if successful. + The newly created harvest attempt record, if successful. """ - harvestMetadataMapping: HarvestMetadataMapping + harvestAttempt: HarvestAttempt + """ + The newly-modified harvest source, if successful. + + """ + harvestSource: HarvestSource } -"""Autogenerated input type of HarvestMetadataMappingDestroy""" -input HarvestMetadataMappingDestroyInput { +""" +Sort a collection of `HarvestAttempt` records by specific properties and directions. + +""" +enum HarvestAttemptOrder { + """Sort harvest attempts by their default order.""" + DEFAULT + """Sort harvest attempts by oldest created date.""" + OLDEST + """Sort harvest attempts by newest created date.""" + RECENT +} + +"""Autogenerated input type of HarvestAttemptPruneEntities""" +input HarvestAttemptPruneEntitiesInput { """A unique identifier for the client performing the mutation.""" clientMutationId: String """ - The harvest metadata mapping to destroy. + The harvest attempt to update. """ - harvestMetadataMappingId: ID! + harvestAttemptId: ID! + """ + Whether to prune `PRISTINE` or **all** harvested entities. + + """ + mode: HarvestPruneMode! } -"""Autogenerated return type of HarvestMetadataMappingDestroy.""" -type HarvestMetadataMappingDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { +"""Autogenerated return type of HarvestAttemptPruneEntities.""" +type HarvestAttemptPruneEntitiesPayload implements StandardMutationPayload { attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String - """ - Whether or not the model was successfully destroyed. If false, check globalErrors - """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") globalErrors: [MutationGlobalError!]! """Not presently used""" haltCode: String -} - -"""An edge in a connection.""" -type HarvestMetadataMappingEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: HarvestMetadataMapping! + """ + The harvest attempt, if successful. + + """ + harvestAttempt: HarvestAttempt } """ -An enum describing which "field" to match on. An individual record -can try to match any number of fields in order to satisfy its mappings. +A progress report for record data during a harvest attempt. """ -enum HarvestMetadataMappingField { +type HarvestAttemptRecordStatus implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Some sort of identifier for the record itself. + Whether the current user has permission to destroy this record. """ - IDENTIFIER + canDestroy: AuthorizationResult! """ - Some sort of relationship identifier for the record. + Whether the current user has permission to update this record. """ - RELATION + canUpdate: AuthorizationResult! """ - An attempt to map records based on their title value(s) to existing collections. + The percentage of completion based on current data expressed as a float between 0.0 and 1.0. """ - TITLE -} - -""" -Sort a collection of `HarvestMetadataMapping` records by specific properties and directions. - -""" -enum HarvestMetadataMappingOrder { - """Sort harvest metadata mappings by their default order.""" - DEFAULT - """Sort harvest metadata mappings by oldest created date.""" - OLDEST - """Sort harvest metadata mappings by newest created date.""" - RECENT -} - -""" -An enum which describes how harvesting actions will affect -a given record. - -""" -enum HarvestModificationStatus { + completion: Float + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - This record was created through harvesting actions and **has** - been modified in the admin section. Harvest - - Harvesting actions will leave this record alone. + Average time to extract a given record in seconds (may be used in ETA calculations in the future). """ - MODIFIED + extractionDurationAverage: Float + id: ID! """ - This record was created through harvesting actions and **has not** - been modified in the admin section. - - Harvesting actions will overwrite any data if they encounter this record again. + The encoded slug for this record. """ - PRISTINE + slug: Slug! """ - This record was not created through harvesting actions. - - Should harvesting actions end up matching an unharvested record, - it will change this value to `MODIFIED` and treat it as such. + Total number of records extracted for this attempt. """ - UNHARVESTED -} - -""" -Options that control mapping of entities during the harvesting process. - -""" -type HarvestOptionsMapping { + totalRecords: Int """ - Harvesting certain journals may require creating volumes/issues automatically. + Total number of records that have been successfully extracted. """ - autoCreateVolumesAndIssues: Boolean! + totalRecordsSuccess: Int """ - When linking to existing entities, it may be necessary to use global identifiers, - as there may be some entities that are created outside of a specific harvesting - attempt, or exist elsewhere in the hierarchy. - - This will look for a globally unique identifier for an entity, and fail if it finds - duplicates. + Total number of records that are pending extraction (which will then be harvest entities). """ - linkIdentifiersGlobally: Boolean! + totalRecordsWaitingForExtraction: Int """ - When resolving to existing entities, the system may rely on - metadata mappings to figure out where something should go based - on the presence of certain fields in the metadata. + Total number of records that are waiting on their entities to be complete. + This could include waiting for assets to be fetched. """ - useMetadataMappings: Boolean! + totalRecordsWaitingForUpsert: Int + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ -Options that control mapping of entities during the harvesting process. +The state that an attempt is in. """ -input HarvestOptionsMappingInput { +enum HarvestAttemptState { """ - Harvesting certain journals may require creating volumes/issues automatically. + A scheduled attempt that was cancelled. """ - autoCreateVolumesAndIssues: Boolean = false + CANCELLED """ - When linking to existing entities, it may be necessary to use global identifiers, - as there may be some entities that are created outside of a specific harvesting - attempt, or exist elsewhere in the hierarchy. + An attempt that is in the process of extracting records. - This will look for a globally unique identifier for an entity, and fail if it finds - duplicates. + A failed extraction may linger in this state. """ - linkIdentifiersGlobally: Boolean = false + EXECUTING """ - When resolving to existing entities, the system may rely on - metadata mappings to figure out where something should go based - on the presence of certain fields in the metadata. + An attempt whose entities have all been extracted from the source. """ - useMetadataMappings: Boolean = false -} - -""" -Options that control reading from the source. - -""" -type HarvestOptionsRead { + EXTRACTED """ - The maximum number of records to read from the source per attempt. - - The system will not paginate beyond this count. + An attempt that has not yet extracted anything. """ - maxRecords: Int! -} - -""" -Options that control reading from the source. - -""" -input HarvestOptionsReadInput { + PENDING """ - The maximum number of records to read from the source per attempt. - - The system will not paginate beyond this count. + A scheduled attempt for a specific mapping that has not yet ran. """ - maxRecords: Int = 80000 + SCHEDULED } """ -Protocols for harvesting. Only `OAI` is presently supported. - -`HarvestProtocol` describes the transport method for individual records to be harvested, -while `HarvestMetadataFormat` describes the structure of the data. +A record that can be used to trigger a run of the harvesting +subsystem via `harvestStart`. """ -enum HarvestProtocol { - """ - [OAI-PMH](https://www.openarchives.org/OAI/2.0/guidelines.htm) - - """ - OAI - """ - [Pressbooks API](https://pressbooks.org/dev-guides/rest-api/) - - """ - PRESSBOOKS +interface HarvestAttemptable { """ - A fallback value for protocols that should not appear under normal circumstances. + Harvest attempts associated with this record. """ - UNKNOWN + harvestAttempts( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestAttemptOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestAttemptConnection! } """ -The selection criteria for pruning entities from a harvest. +A staged entity extracted from a `HarvestRecord`, that +can then be associated to an actual entity by the +harvesting process. """ -enum HarvestPruneMode { +type HarvestEntity implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & QueriesHarvestMessage & Sluggable { """ - Prune **all** entities that have been harvested by the source or attempt. + Whether the current user has permission to destroy this record. """ - EVERYTHING + canDestroy: AuthorizationResult! """ - Prune **only** unmodified harvested entities. - - Note that unmodified entities _may_ be left behind - if one of their child entities has been modified. + Whether the current user has permission to update this record. """ - UNMODIFIED -} - -""" -An object representing a single record in the `HarvestSource`. -It can produce one or more harvest entities. - -""" -type HarvestRecord implements HasHarvestErrors & HasHarvestMetadataFormat & Node & QueriesHarvestMessage & Sluggable { + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - The number of entities this record can/will produce (if available). - - """ - entityCount: Int - """ - Staged entities that were extracted from this record. - - """ - harvestEntities: [HarvestEntity!]! - """ - A list of errors that are associated with this harvesting type. + The real entity this is associated with (if available). """ - harvestErrors: [HarvestError!]! + entity: Entity harvestMessages( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -9386,7 +10961,7 @@ type HarvestRecord implements HasHarvestErrors & HasHarvestMetadataFormat & Node Filters that **must** match. """ - filters: HarvestMessageFilterInput = null + filters: HarvestMessageFilterInput = {severity: INFO} """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" @@ -9406,241 +10981,181 @@ type HarvestRecord implements HasHarvestErrors & HasHarvestMetadataFormat & Node """The amount of edges / nodes to fetch per page""" perPage: Int ): HarvestMessageConnection! - """ - The harvest source this belongs to. - - """ - harvestSource: HarvestSource! id: ID! """ - A unique identifier for the record within the `HarvestSource`. + A unique identifier for the staged entity within the context of its `HarvestRecord`. """ identifier: String! - jsonMetadataSource: JSON """ - The metadata format used by this source / mapping. - - Fixed at creation time for now. + Whether this staged entity is a leaf (has no children). """ - metadataFormat: HarvestMetadataFormat! + leaf: Boolean! """ - The raw metadata extracted from `rawSource`, with minimal processing applied. - - When rendering in the frontend, this should be in some sort of fixed-width font / code view, - as it will be JSON, XML, or similar types of data. + The parent staged entity (if applicable). """ - rawMetadataSource: String + parent: HarvestEntity """ - The raw source extracted from the protocol. + The relative depth of the staged entity (based on the attempt's `targetEntity`). - When rendering in the frontend, this should be in some sort of fixed-width font / code view, - as it will be JSON, XML, or similar types of data. + """ + relativeDepth: Int! + """ + Whether this staged entity is a root (has no parent). """ - rawSource: String - slug: Slug! + root: Boolean! """ - The status of the record. + The schema version that this will use (if available). """ - status: HarvestRecordStatus! + schemaVersion: SchemaVersion """ - An enum describing how the `rawSource` / `rawMetadataSource` is encoded. + The encoded slug for this record. """ - underlyingDataFormat: UnderlyingDataFormat! + slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! -} - -"""The connection type for HarvestRecord.""" -type HarvestRecordConnection implements Paginated { - """A list of edges.""" - edges: [HarvestRecordEdge!]! - """A list of nodes.""" - nodes: [HarvestRecord!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} - -"""An edge in a connection.""" -type HarvestRecordEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: HarvestRecord! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ -Sort a collection of `HarvestRecord` records by specific properties and directions. +An error that may occur during the harvesting process. """ -enum HarvestRecordOrder { - """Sort harvest records by their default order.""" - DEFAULT - """Sort harvest records by oldest created date.""" - OLDEST - """Sort harvest records by newest created date.""" - RECENT -} - -""" -A harvested record can exist in a number of statuses. - -""" -enum HarvestRecordStatus { - """ - An record that is considered active and ready to be extracted into entities. - - """ - ACTIVE - """ - A record that was deleted in the upstream harvest source. - - """ - DELETED +type HarvestError implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - A brand new record that hasn't been processed yet. + Whether the current user has permission to destroy this record. """ - PENDING + canDestroy: AuthorizationResult! """ - A record that was skipped over for some validation reason. + Whether the current user has permission to update this record. """ - SKIPPED -} - -type HarvestScheduleData { + canUpdate: AuthorizationResult! """ - The frequency expression as a cron statement, regardless - of its original syntax. + A machine code that identifies the error for reprocessing and debugging. """ - cronExpression: String + code: String + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! """ - The maximum frequency between occurrences, expressed as a duration. + A more descriptive issue of the message, if available. """ - frequencyMax: ISO8601Duration + message: String """ - The minimum frequency between occurrences, expressed as a duration. + Raw metadata for the error. Should be displayed as inspectable JSON. """ - frequencyMin: ISO8601Duration + metadata: JSON! """ - If the frequency expression included time zone information, - this will expose which time zone is being used. Otherwise, - the frequency will use the Meru installation time zone. + The encoded slug for this record. """ - timeZone: String -} - -""" -Harvest schedule mode enum - -""" -enum HarvestScheduleMode { - MANUAL - SCHEDULED + slug: Slug! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ -The concept of a "set" within a given `HarvestSource`. It can be used in order to fetch -a subset of data with a `HarvestMapping`. These are not created directly in Meru, but -instead are fetched by the `HarvestSource` and internally managed based on its `protocol`. +An example of various harvesting configurations, particularly extraction mapping templates. """ -type HarvestSet implements Node & Sluggable { - createdAt: ISO8601DateTime! +type HarvestExample { """ - An optional description for the set (if available). + Whether this should be considered a "default" example + for a given metadata / protocol combination. + + """ + default: Boolean! + """ + A description about the example, if available. """ description: String """ - The source for the harvest set. + The example's extraction mapping template which can be applied to harvest sources, mappings, and attempts. + + """ + extractionMappingTemplate: String! + """ + Whether this is a generic example that is not tied + to any specific protocol nor metadata format. + + """ + generic: Boolean! + """ + The ID for the example. """ - harvestSource: HarvestSource! id: ID! """ - A unique, machine-readable string that identifies the set for the specific source. + The metadata format this example applies to. + + It can be blank if the example is not metadata-specific. """ - identifier: String! + metadataFormatName: HarvestMetadataFormat """ - A human-readable name that describes the set (if available). + The human-readable name for the example. """ name: String! - slug: Slug! - updatedAt: ISO8601DateTime! -} - -"""The connection type for HarvestSet.""" -type HarvestSetConnection implements Paginated { - """A list of edges.""" - edges: [HarvestSetEdge!]! - """A list of nodes.""" - nodes: [HarvestSet!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} - -"""An edge in a connection.""" -type HarvestSetEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: HarvestSet! -} - -""" -Filters for HarvestSet. - -""" -input HarvestSetFilterInput { - identifier: String - name: String - prefix: String -} - -""" -Sort a collection of `HarvestSet` records by specific properties and directions. - -""" -enum HarvestSetOrder { - """Sort harvest sets by their default order.""" - DEFAULT - """Sort harvest sets by oldest created date.""" - OLDEST - """Sort harvest sets by newest created date.""" - RECENT + """ + The protocol this example applies to. + + It can be blank if the example is not protocol-specific. + + """ + protocolName: HarvestProtocol + """ + A list of schema declarations that the mapping template can generate. + + """ + schemaDeclarations: [String!]! + """ + A list of schema versions that the mapping template can generate. + + """ + schemaVersions: [SchemaVersion!]! } """ -A source from which to harvest entities. +A specific mapping to be used by a `HarvestSource`, +possibly an optional `HarvestSet`, and other options +in order to harvest records from the source and produce +entities. It can produce a `HarvestAttempt`. """ -type HarvestSource implements HarvestAttemptable & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & HasHarvestOptions & Node & QueriesHarvestMessage & Sluggable { +type HarvestMapping implements CommonModel & CommonPermissions & HarvestAttemptable & HasDefaultTimestamps & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & HasHarvestOptions & Node & QueriesHarvestMessage & Sluggable { """ - The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. + Whether the current user has permission to destroy this record. """ - baseURL: String! - createdAt: ISO8601DateTime! + canDestroy: AuthorizationResult! """ - An optional, wordier description for the source that may offer insight as to its intended - purpose within the installation. + Whether the current user has permission to update this record. """ - description: String + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ The extraction mapping template used for this harvesting-related record at its place in the hierarchy. It is an XML document that describes how @@ -9666,33 +11181,18 @@ type HarvestSource implements HarvestAttemptable & HasHarvestExtractionMappingTe """ extractionMappingTemplate: String! """ - Attempts produced by this source. + This can be a cron expression as well as a human-readable expression like + `"every sunday at 5 am America/Los_Angeles"`. + The system will attempt to validate and parse the expression when setting + it in order to make sure it is something that Meru can handle. """ - harvestAttempts( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestAttemptOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestAttemptConnection! + frequencyExpression: String """ - Mappings associated with the harvest source. + Attempts produced by this mapping. """ - harvestMappings( + harvestAttempts( """Returns the elements in the list that come after the specified cursor.""" after: String """ @@ -9703,14 +11203,14 @@ type HarvestSource implements HarvestAttemptable & HasHarvestExtractionMappingTe first: Int """Returns the last _n_ elements from the list.""" last: Int - order: HarvestMappingOrder = DEFAULT + order: HarvestAttemptOrder = DEFAULT """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - ): HarvestMappingConnection! + ): HarvestAttemptConnection! harvestMessages( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -9722,7 +11222,7 @@ type HarvestSource implements HarvestAttemptable & HasHarvestExtractionMappingTe Filters that **must** match. """ - filters: HarvestMessageFilterInput = null + filters: HarvestMessageFilterInput = {severity: INFO} """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" @@ -9743,30 +11243,7 @@ type HarvestSource implements HarvestAttemptable & HasHarvestExtractionMappingTe perPage: Int ): HarvestMessageConnection! """ - Metadata mappings used for advanced features that allow matching patterns to existing harvest targets. - - """ - harvestMetadataMappings( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestMetadataMappingOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestMetadataMappingConnection! - """ - Records associated with this source. + Records associated with this mapping. """ harvestRecords( @@ -9789,58 +11266,22 @@ type HarvestSource implements HarvestAttemptable & HasHarvestExtractionMappingTe perPage: Int ): HarvestRecordConnection! """ - Sets associated with the harvest source. + The optionally-associated harvest set for this mapping. - A single source may have thousands of sets associated with it, - so it must be paginated. + """ + harvestSet: HarvestSet + """ + The harvest source this belongs to. """ - harvestSets( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: HarvestSetFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [HarvestSetFilterInput!] = [] - order: HarvestSetOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestSetConnection! + harvestSource: HarvestSource! id: ID! """ - A unique, machine-readable identifier. Requirements: - - * At least three characters: alphanumeric, hyphens, underscores - * All lowercase - * No whitespace - * No consecutive hyphens nor underscores. - - Cannot be changed once created. To reuse an identifier, the original source - must be destroyed. + This timestamp signifies when the harvest mapping last tried to schedule its + attempts (if applicable). """ - identifier: String! + lastScheduledAt: ISO8601DateTime """ Options that control mapping of entities during the harvesting process. @@ -9854,57 +11295,63 @@ type HarvestSource implements HarvestAttemptable & HasHarvestExtractionMappingTe """ metadataFormat: HarvestMetadataFormat! """ - A unique name for the source. Purely descriptive. + Whether this mapping is `MANUAL` or `SCHEDULED`. This field is not set + through the admin section, but derived from parsing the mapping's + `frequencyExpression`. + + `SCHEDULED` mappings will automatically create `HarvestAttempt`s + for the next several iterations of their `frequencyExpression`. """ - name: String! + mode: HarvestScheduleMode! """ - The protocol for this source. + Options that control reading from the source. - Cannot be changed once created. + """ + readOptions: HarvestOptionsRead! + """ + This timestamp signifies the last time the frequency expression, or any + of its derived fields, were changed. """ - protocol: HarvestProtocol! + scheduleChangedAt: ISO8601DateTime """ - Options that control reading from the source. + Derived information about the frequency expression (if valid and applicable), + to provide insight for introspection. + + """ + scheduleData: HarvestScheduleData! + """ + The encoded slug for this record. """ - readOptions: HarvestOptionsRead! slug: Slug! """ - An enum that describes the functional state for harvest sources. + The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified. """ - status: HarvestSourceStatus! + targetEntity: HarvestTarget! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -"""The connection type for HarvestSource.""" -type HarvestSourceConnection implements Paginated { +"""The connection type for HarvestMapping.""" +type HarvestMappingConnection implements Paginated { """A list of edges.""" - edges: [HarvestSourceEdge!]! + edges: [HarvestMappingEdge!]! """A list of nodes.""" - nodes: [HarvestSource!]! + nodes: [HarvestMapping!]! """Information to aid in pagination.""" pageInfo: PageInfo! } -"""Autogenerated input type of HarvestSourceCreate""" -input HarvestSourceCreateInput { - """ - The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. - - """ - baseURL: String! +"""Autogenerated input type of HarvestMappingCreate""" +input HarvestMappingCreateInput { """A unique identifier for the client performing the mutation.""" clientMutationId: String """ - An optional, wordier description for the source that may offer insight as to its intended - purpose within the installation. - - """ - description: String - """ The extraction mapping template used for this harvesting-related record at its place in the hierarchy. It is an XML document that describes how to map various types of metadata from the harvested records and transform @@ -9929,51 +11376,55 @@ input HarvestSourceCreateInput { """ extractionMappingTemplate: String! """ - A unique, machine-readable identifier. Requirements: - - * At least three characters: alphanumeric, hyphens, underscores - * All lowercase - * No whitespace - * No consecutive hyphens nor underscores. - - Cannot be changed once created. To reuse an identifier, the original source - must be destroyed. + This can be a cron expression as well as a human-readable expression like + `"every sunday at 5 am America/Los_Angeles"`. + The system will attempt to validate and parse the expression when setting + it in order to make sure it is something that Meru can handle. """ - identifier: String! + frequencyExpression: String """ - Options that control mapping of entities during the harvesting process. + An optional set to associate with the mapping. + + This cannot be changed since mappings are intricately tied to their set (if applicable). """ - mappingOptions: HarvestOptionsMappingInput = {autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false} + harvestSetId: ID """ - The metadata format for this source to use by default. + The harvest source to create the mapping for. - Mappings can override this, but it cannot be changed currently. + This cannot be changed since mappings are intricately tied to sources. """ - metadataFormat: HarvestMetadataFormat! + harvestSourceId: ID! """ - A unique name for the source. Purely descriptive. + Options that control mapping of entities during the harvesting process. """ - name: String! + mappingOptions: HarvestOptionsMappingInput = {autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false} """ - The protocol for this source. + The metadata format for this mapping to use, which can be different from the Harvest Source. - Cannot be changed once created. + It should default to whatever the harvest source uses. """ - protocol: HarvestProtocol! = OAI + metadataFormat: HarvestMetadataFormat! """ Options that control reading from the source. """ readOptions: HarvestOptionsReadInput = {maxRecords: 80000} + """ + The community or collection to target for this mapping. + + This can be changed if the mapping needs to be retargeted in the hierarchy. + + """ + targetEntityId: ID! } -"""Autogenerated return type of HarvestSourceCreate.""" -type HarvestSourceCreatePayload implements StandardMutationPayload { +"""Autogenerated return type of HarvestMappingCreate.""" +type HarvestMappingCreatePayload implements StandardMutationPayload { attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String @@ -9982,25 +11433,25 @@ type HarvestSourceCreatePayload implements StandardMutationPayload { """Not presently used""" haltCode: String """ - The newly-modified harvest source, if successful. + The newly-modified harvest mapping, if successful. """ - harvestSource: HarvestSource + harvestMapping: HarvestMapping } -"""Autogenerated input type of HarvestSourceDestroy""" -input HarvestSourceDestroyInput { +"""Autogenerated input type of HarvestMappingDestroy""" +input HarvestMappingDestroyInput { """A unique identifier for the client performing the mutation.""" clientMutationId: String """ - The harvest source to destroy. + The harvest mapping to destroy. """ - harvestSourceId: ID! + harvestMappingId: ID! } -"""Autogenerated return type of HarvestSourceDestroy.""" -type HarvestSourceDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { +"""Autogenerated return type of HarvestMappingDestroy.""" +type HarvestMappingDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String @@ -10017,96 +11468,31 @@ type HarvestSourceDestroyPayload implements DestroyMutationPayload & StandardMut } """An edge in a connection.""" -type HarvestSourceEdge { +type HarvestMappingEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: HarvestSource! + node: HarvestMapping! } """ -Sort a collection of `HarvestSource` records by specific properties and directions. +Sort a collection of `HarvestMapping` records by specific properties and directions. """ -enum HarvestSourceOrder { - """Sort harvest sources by their default order.""" +enum HarvestMappingOrder { + """Sort harvest mappings by their default order.""" DEFAULT - """Sort harvest sources by oldest created date.""" + """Sort harvest mappings by oldest created date.""" OLDEST - """Sort harvest sources by newest created date.""" + """Sort harvest mappings by newest created date.""" RECENT } -"""Autogenerated input type of HarvestSourcePruneEntities""" -input HarvestSourcePruneEntitiesInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """ - The harvest source to update. - - """ - harvestSourceId: ID! - """ - Whether to prune `PRISTINE` or **all** harvested entities. - - """ - mode: HarvestPruneMode! -} - -"""Autogenerated return type of HarvestSourcePruneEntities.""" -type HarvestSourcePruneEntitiesPayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String - """ - The harvest source, if successful. - - """ - harvestSource: HarvestSource -} - -""" -An enum that describes the functional state for harvest sources. - -Harvest sources are checked on a regular basis and can also be -manually rechecked with harvestSourceCheck - -""" -enum HarvestSourceStatus { - """ - An active harvest source has been recently validated as working - and thus can be used for harvesting. - - """ - ACTIVE - """ - An inactive harvest source has been recently validated as not working - and cannot be used for harvesting. - - """ - INACTIVE -} - -"""Autogenerated input type of HarvestSourceUpdate""" -input HarvestSourceUpdateInput { - """ - The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. - - """ - baseURL: String! +"""Autogenerated input type of HarvestMappingUpdate""" +input HarvestMappingUpdateInput { """A unique identifier for the client performing the mutation.""" clientMutationId: String """ - An optional, wordier description for the source that may offer insight as to its intended - purpose within the installation. - - """ - description: String - """ The extraction mapping template used for this harvesting-related record at its place in the hierarchy. It is an XML document that describes how to map various types of metadata from the harvested records and transform @@ -10131,29 +11517,39 @@ input HarvestSourceUpdateInput { """ extractionMappingTemplate: String! """ - The harvest source to update. + This can be a cron expression as well as a human-readable expression like + `"every sunday at 5 am America/Los_Angeles"`. + The system will attempt to validate and parse the expression when setting + it in order to make sure it is something that Meru can handle. """ - harvestSourceId: ID! + frequencyExpression: String """ - Options that control mapping of entities during the harvesting process. + The harvest mapping to update. """ - mappingOptions: HarvestOptionsMappingInput = {autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false} + harvestMappingId: ID! """ - A unique name for the source. Purely descriptive. + Options that control mapping of entities during the harvesting process. """ - name: String! + mappingOptions: HarvestOptionsMappingInput = {autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false} """ Options that control reading from the source. """ readOptions: HarvestOptionsReadInput = {maxRecords: 80000} + """ + The community or collection to target for this mapping. + + This can be changed if the mapping needs to be retargeted in the hierarchy. + + """ + targetEntityId: ID! } -"""Autogenerated return type of HarvestSourceUpdate.""" -type HarvestSourceUpdatePayload implements StandardMutationPayload { +"""Autogenerated return type of HarvestMappingUpdate.""" +type HarvestMappingUpdatePayload implements StandardMutationPayload { attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String @@ -10162,1028 +11558,948 @@ type HarvestSourceUpdatePayload implements StandardMutationPayload { """Not presently used""" haltCode: String """ - The newly-modified harvest source, if successful. + The newly-modified harvest mapping, if successful. """ - harvestSource: HarvestSource + harvestMapping: HarvestMapping } """ -Objects have a serialized slug for looking them up in the system and generating links without UUIDs +A single log message recorded during some aspect of harvesting. + """ -interface HarvestTarget implements EntityBase & Sluggable { +type HarvestMessage implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Whether this is a collection or a community. + The time the message occurred. This field should be favored at + for display over the model's default `createdAt` field. """ - harvestTargetKind: HarvestTargetKind! - slug: Slug! - """ - A human-readable subtitle for the entity. - - """ - subtitle: String - """ - A description of the contents of the entity. - - """ - summary: String + at: ISO8601DateTime! """ - A human-readable title for the entity. + Whether the current user has permission to destroy this record. """ - title: String! -} - -""" -The kind of entity that's being used as a Harvest Target. - -""" -enum HarvestTargetKind { + canDestroy: AuthorizationResult! """ - A branch or leaf in the hierarchy. + Whether the current user has permission to update this record. """ - COLLECTION + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - A root-level entity in the hierarchy. + The harvest attempt associatd with the message, if available. """ - COMMUNITY -} - -""" -Something which implements a #storage key that identifies where its attachment currently lives. -""" -interface HasAttachmentStorage { + harvestAttempt: HarvestAttempt """ - This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + The harvest entity associatd with the message, if available. """ - storage: AttachmentStorage -} - -interface HasAvailableEntities { + harvestEntity: HarvestEntity """ - Expose all available entities for this schema property. + The harvest mapping associatd with the message, if available. """ - availableEntities: [EntitySelectOption!]! -} - -interface HasControlledVocabulary { + harvestMapping: HarvestMapping """ - The vocabulary configured for this property, based on its `wants` value - and whatever is currently configured in `ControlledVocabularySource`. + The harvest record associatd with the message, if available. """ - controlledVocabulary: ControlledVocabulary + harvestRecord: HarvestRecord """ - The key used to determine which `ControlledVocabulary` to fetch. - - See `#controlledVocabulary`. + The harvest source associated with the message. """ - wants: String -} - -"""An entity that has a DOI""" -interface HasDOI { + harvestSource: HarvestSource + id: ID! """ - The Digital Object Identifier for this entity. See https://doi.org + The level of severity of the message. """ - doi: String + level: HarvestMessageLevel! """ - The data sanitized from `rawDOI`, including things like the URL and host. + The message itself. """ - doiData: DOIData! + message: String! """ - For use in the admin, something to signify that data has been set on `rawDOI` - that could not be properly assigned to `doi`. + The encoded slug for this record. """ - hasWeirdDOI: Boolean! + slug: Slug! """ - The value that was set on the entity. It will be validated and sanitized - and be set on `doi` if possible. + Tags associated with the message. This may describe what section + of the harvesting system triggered the message, and may support + querying in the future. """ - rawDOI: String -} - -""" -Automatically-set timestamps present on most real models in the system. - -""" -interface HasDefaultTimestamps { - """The date this entity was added to the WDP""" - createdAt: ISO8601DateTime! - """The date this entity was last updated within the WDP""" + tags: [String!]! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -""" -Entity models implement their own analytics views that come pre-filtered -""" -interface HasEntityAnalytics { - assetDownloads( - """ - An optional date filter to apply. - - """ - dateFilter: DateFilterInput = {} - """ - The precision to apply. - - """ - precision: AnalyticsPrecision = DAY - """ - Optionally filter by specific subjects. - - Presently this is just assets, but it may expand in the future. - - """ - subjectIds: [ID!] = [] - ): AnalyticsEventCountSummary! - assetDownloadsByRegion( - """ - An optional date filter to apply. - - """ - dateFilter: DateFilterInput = {} - """ - Optionally filter by specific subjects. - - Presently this is just assets, but it may expand in the future. - - """ - subjectIds: [ID!] = [] - """ - Filter by country_code = "US" only. - - """ - usOnly: Boolean = false - ): AnalyticsRegionCountSummary! - entityViews( - """ - An optional date filter to apply. - - """ - dateFilter: DateFilterInput = {} - """ - The precision to apply. - - """ - precision: AnalyticsPrecision = DAY - ): AnalyticsEventCountSummary! - entityViewsByRegion( - """ - An optional date filter to apply. - - """ - dateFilter: DateFilterInput = {} - """ - Filter by country_code = "US" only. - - """ - usOnly: Boolean = false - ): AnalyticsRegionCountSummary! -} - -interface HasEntityBreadcrumbs { - """Previous entries in the hierarchy""" - breadcrumbs: [EntityBreadcrumb!]! +"""The connection type for HarvestMessage.""" +type HarvestMessageConnection implements Paginated { + """A list of edges.""" + edges: [HarvestMessageEdge!]! + """A list of nodes.""" + nodes: [HarvestMessage!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } -interface HasHarvestErrors { - """ - A list of errors that are associated with this harvesting type. - - """ - harvestErrors: [HarvestError!]! +"""An edge in a connection.""" +type HarvestMessageEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: HarvestMessage! } """ -An interface for harvesting-related records that expose a mapping template -for handling extraction at their point in the hierarchy. +Filtering options for `HarvestMessage` records. """ -interface HasHarvestExtractionMappingTemplate { +input HarvestMessageFilterInput { """ - The extraction mapping template used for this harvesting-related record - at its place in the hierarchy. It is an XML document that describes how - to map various types of metadata from the harvested records and transform - that data into entities in Meru. - - For harvest sources, it can be considered the default mapping template - for any record in the system, and should be used to pre-populate - attempts that are created by the source, as well as future plans to - allow for extracting a single record by external ID that may not have - yet been fetched by an extract records process. - - For harvest mappings, it can be considered the default mapping template - for any attempt created by the mapping. - - For any harvesting data that exists prior to the harvesting refactor - completed during March of 2025, it's possible for this value to be - an empty string. Any modifications to mappings and sources from that - time will need to add a valid mapping template in order to succeed. - - See `Query.harvestExamples` for examples of valid mapping templates. + Filter by severity. """ - extractionMappingTemplate: String! + severity: HarvestMessageLevel = INFO } """ -A record that stores a metadata format it uses. +Levels of severity associated with `HarvestMessage`s. + +`FATAL` is the most severe, `TRACE` is the least. """ -interface HasHarvestMetadataFormat { +enum HarvestMessageLevel { """ - The metadata format used by this source / mapping. + Debug information about the harvesting system. - Fixed at creation time for now. + May be hidden by default when displaying. """ - metadataFormat: HarvestMetadataFormat! -} - -""" -An interface for records which can be created/updated through Harvesting -that includes an enum which can prevent harvesting actions from overwriting -any data that has been manually corrected. - -""" -interface HasHarvestModificationStatus { + DEBUG """ - The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have - no effect on this record. + An error that may or may not have interrupted a harvesting operation, + but could, for instance, just indicate that a single record failed. """ - harvestModificationStatus: HarvestModificationStatus! -} - -interface HasHarvestOptions { + ERROR """ - Options that control mapping of entities during the harvesting process. + A fatal error which likely caused an entire harvesting operation to stop. """ - mappingOptions: HarvestOptionsMapping! + FATAL """ - Options that control reading from the source. + Informational messages that are higher priority than debug messages. """ - readOptions: HarvestOptionsRead! -} - -interface HasSchemaProperties { + INFO """ - A list of schema properties associated with this instance or version. + Very low-level trace messages that may be used in the future + to narrow down specific / performance issues with harvesting, + but at present likely won't appear. + + Should be hidden by default when displaying. """ - schemaProperties: [SchemaProperty!]! -} + TRACE + """ + Warnings about validation failures and similar things. + + """ + WARN +} """ -An enumerated value associated with the templating subsystem. +Supported metadata formats for harvesting. + +`HarvestProtocol` describes the transport method for individual records to be harvested, +while `HarvestMetadataFormat` describes the structure of the data. """ -enum HeroBackground { +enum HarvestMetadataFormat { """ - A dark gradient is applied to the background of this template. + [Esploro Records](https://developers.exlibrisgroup.com/esploro/apis/xsd/esploro_record.xsd/) """ - DARK + ESPLORO """ - A light gradient is applied to the background of this template. + [Journal Article Tag Suite](https://jats.nlm.nih.gov/) """ - LIGHT + JATS """ - No background is applied to this template. + [Metadata Encoding and Transmission Standard](https://www.loc.gov/standards/mets/) """ - NONE -} - -"""The layout to use when rendering a Hero for an `Entity`.""" -enum HeroImageLayout { - ONE_COLUMN - TWO_COLUMN -} - -type HeroLayoutDefinition implements LayoutDefinition & Node & Sluggable { - createdAt: ISO8601DateTime! - id: ID! - layoutKind: LayoutKind! - slug: Slug! + METS """ - This layout will only ever have one template, so it can be fetched directly without needing the union. + [Metadata Object Description Schema](https://www.loc.gov/standards/mods/) """ - template: HeroTemplateDefinition + MODS """ - The ordered template definitions available for this layout. + [OAI-PMH Dublin Core](https://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#dublincore) """ - templates: [AnyHeroTemplateDefinition!]! - updatedAt: ISO8601DateTime! + OAIDC + """ + Pressbooks 'Book' response + + """ + PRESSBOOKS } -type HeroLayoutInstance implements LayoutInstance & Node & Renderable & Sluggable { +""" +An advanced definition that allows mapping specific existing entities to act as parents +for certain harvested entities, based on their metadata matching a specific mapping. + +""" +type HarvestMetadataMapping implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Whether all templates in this instance are hidden. + Whether the current user has permission to destroy this record. """ - allHidden: Boolean! + canDestroy: AuthorizationResult! """ - Whether all slots in all template instances in this layout are empty. + Whether the current user has permission to update this record. """ - allSlotsEmpty: Boolean! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - The associated entity for this layout instance. + Which "field" this should try to match its `pattern` against. """ - entity: Entity! + field: HarvestMetadataMappingField! id: ID! """ - The time this object was last rendered. + A regular expression / pattern to match against. Must be written to support postgres regular expressions, + which are more limited than most modern languages but follow the ANSI spec as much as possible. """ - lastRenderedAt: ISO8601DateTime + pattern: String! """ - The layout definition for this type. + The encoded slug for this record. """ - layoutDefinition: HeroLayoutDefinition! - layoutKind: LayoutKind! slug: Slug! """ - This layout will only ever have one template, so it can be fetched directly without needing the union. - - """ - template: HeroTemplateInstance - """ - The ordered template instances available for this layout. + The entity that will act as the parent when this metadata mapping is matched. """ - templates: [AnyHeroTemplateInstance!]! + targetEntity: HarvestTarget! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +"""The connection type for HarvestMetadataMapping.""" +type HarvestMetadataMappingConnection implements Paginated { + """A list of edges.""" + edges: [HarvestMetadataMappingEdge!]! + """A list of nodes.""" + nodes: [HarvestMetadataMapping!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } -type HeroTemplateDefinition implements Node & Sluggable & TemplateDefinition { +"""Autogenerated input type of HarvestMetadataMappingCreate""" +input HarvestMetadataMappingCreateInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - The background gradient to use for this template. Affects presentation. + Which "field" this should try to match its `pattern` against. """ - background: HeroBackground - createdAt: ISO8601DateTime! - descendantSearchPrompt: String @deprecated(reason: "This is a slot now.") - enableDescendantBrowsing: Boolean - enableDescendantSearch: Boolean - id: ID! - layoutKind: LayoutKind! - listContributors: Boolean - showBasicViewMetrics: Boolean - showBigSearchPrompt: Boolean - showBreadcrumbs: Boolean - showDOI: Boolean - showHeroImage: Boolean - showSharingLink: Boolean - showSplitDisplay: Boolean - showThumbnailImage: Boolean + field: HarvestMetadataMappingField! """ - Slot definitions for this template. + The source to create the harvest metadata mapping for. """ - slots: HeroTemplateDefinitionSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Slot definitions for the associated template. - -""" -type HeroTemplateDefinitionSlots { - bigSearchPrompt: TemplateSlotInlineDefinition - callToAction: TemplateSlotBlockDefinition - descendantSearchPrompt: TemplateSlotInlineDefinition - header: TemplateSlotInlineDefinition - headerAside: TemplateSlotInlineDefinition - headerParent: TemplateSlotInlineDefinition - headerSidebar: TemplateSlotBlockDefinition - headerSubtitle: TemplateSlotInlineDefinition - headerSummary: TemplateSlotBlockDefinition - metadata: TemplateSlotInlineDefinition - sidebar: TemplateSlotBlockDefinition - subheader: TemplateSlotInlineDefinition - subheaderAside: TemplateSlotInlineDefinition - subheaderSubtitle: TemplateSlotInlineDefinition - subheaderSummary: TemplateSlotBlockDefinition - summary: TemplateSlotBlockDefinition -} - -type HeroTemplateInstance implements Node & Renderable & Sluggable & TemplateInstance { + harvestSourceId: ID! """ - Whether all slots in this template are empty. + A regular expression / pattern to match against. Must be written to support postgres regular expressions, + which are more limited than most modern languages but follow the ANSI spec as much as possible. """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! + pattern: String! """ - Load the associated definition for this template. + The entity that will act as the parent when this metadata mapping is matched. """ - definition: HeroTemplateDefinition! + targetEntityId: ID! +} + +"""Autogenerated return type of HarvestMetadataMappingCreate.""" +type HarvestMetadataMappingCreatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String """ - The associated entity for this template instance. + The newly-modified harvest metadata mapping, if successful. """ - entity: Entity! + harvestMetadataMapping: HarvestMetadataMapping +} + +"""Autogenerated input type of HarvestMetadataMappingDestroy""" +input HarvestMetadataMappingDestroyInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Whether this template instance should be hidden based on some logic. - - At present, this only occurs if certain slots are empty. + The harvest metadata mapping to destroy. """ - hidden: Boolean! - id: ID! + harvestMetadataMappingId: ID! +} + +"""Autogenerated return type of HarvestMetadataMappingDestroy.""" +type HarvestMetadataMappingDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - The time this object was last rendered. - + Whether or not the model was successfully destroyed. If false, check globalErrors """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""An edge in a connection.""" +type HarvestMetadataMappingEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: HarvestMetadataMapping! +} + +""" +An enum describing which "field" to match on. An individual record +can try to match any number of fields in order to satisfy its mappings. + +""" +enum HarvestMetadataMappingField { """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + Some sort of identifier for the record itself. """ - nextSiblings: [TemplateInstanceSibling!]! + IDENTIFIER """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + Some sort of relationship identifier for the record. """ - prevSiblings: [TemplateInstanceSibling!]! + RELATION """ - Rendered slots for this template. + An attempt to map records based on their title value(s) to existing collections. """ - slots: HeroTemplateInstanceSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! + TITLE } """ -Rendered slots for the associated template. +Sort a collection of `HarvestMetadataMapping` records by specific properties and directions. """ -type HeroTemplateInstanceSlots { - bigSearchPrompt: TemplateSlotInlineInstance - callToAction: TemplateSlotBlockInstance - descendantSearchPrompt: TemplateSlotInlineInstance - header: TemplateSlotInlineInstance - headerAside: TemplateSlotInlineInstance - headerParent: TemplateSlotInlineInstance - headerSidebar: TemplateSlotBlockInstance - headerSubtitle: TemplateSlotInlineInstance - headerSummary: TemplateSlotBlockInstance - metadata: TemplateSlotInlineInstance - sidebar: TemplateSlotBlockInstance - subheader: TemplateSlotInlineInstance - subheaderAside: TemplateSlotInlineInstance - subheaderSubtitle: TemplateSlotInlineInstance - subheaderSummary: TemplateSlotBlockInstance - summary: TemplateSlotBlockInstance +enum HarvestMetadataMappingOrder { + """Sort harvest metadata mappings by their default order.""" + DEFAULT + """Sort harvest metadata mappings by oldest created date.""" + OLDEST + """Sort harvest metadata mappings by newest created date.""" + RECENT } """ -A ranking of a schema from a certain point in the hierarchy. This can be used to generate -navigation or calculate statistics about what various entities contain. +An enum which describes how harvesting actions will affect +a given record. """ -type HierarchicalSchemaRank implements DescribesSchema & Node { - """ - The number of entities that implement this schema from this point in the hierarchy. - """ - count: Int! +enum HarvestModificationStatus { """ - The full declaration for this schema, including namespace, identifier, and version (if available). + This record was created through harvesting actions and **has** + been modified in the admin section. Harvest - """ - declaration: String! - """ - A count of distinct versions of this specific schema type from this point of the hierarchy. - """ - distinctVersionCount: Int! - id: ID! - """ - A unique (per-namespace) value that names the schema within the system. + Harvesting actions will leave this record alone. """ - identifier: String! + MODIFIED """ - The kind of entity this schema applies to. + This record was created through harvesting actions and **has not** + been modified in the admin section. + + Harvesting actions will overwrite any data if they encounter this record again. """ - kind: SchemaKind! + PRISTINE """ - A human-readable name for the schema. + This record was not created through harvesting actions. + + Should harvesting actions end up matching an unharvested record, + it will change this value to `MODIFIED` and treat it as such. """ - name: String! + UNHARVESTED +} + +""" +Options that control mapping of entities during the harvesting process. + +""" +type HarvestOptionsMapping { """ - A unique namespace the schema lives in. + Harvesting certain journals may require creating volumes/issues automatically. """ - namespace: String! + autoCreateVolumesAndIssues: Boolean! """ - The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent. + When linking to existing entities, it may be necessary to use global identifiers, + as there may be some entities that are created outside of a specific harvesting + attempt, or exist elsewhere in the hierarchy. + + This will look for a globally unique identifier for an entity, and fail if it finds + duplicates. + """ - rank: Int! - """A reference to the discrete schema definition""" - schemaDefinition: SchemaDefinition! + linkIdentifiersGlobally: Boolean! """ - A fully-qualified unique value that can be used to refer to this schema within the system + When resolving to existing entities, the system may rely on + metadata mappings to figure out where something should go based + on the presence of certain fields in the metadata. + """ - slug: String! - """A reference to the schema versions from this ranking""" - versionRanks: [HierarchicalSchemaVersionRank!]! + useMetadataMappings: Boolean! } """ -A ranking of a schema version from a certain point in the hierarchy. This can be used to generate -navigation or calculate statistics about what versions of a schema various entities contain. +Options that control mapping of entities during the harvesting process. """ -type HierarchicalSchemaVersionRank implements DescribesSchema & Node { +input HarvestOptionsMappingInput { """ - The number of entities that implement this schema from this point in the hierarchy. + Harvesting certain journals may require creating volumes/issues automatically. + """ - count: Int! + autoCreateVolumesAndIssues: Boolean = false """ - The full declaration for this schema, including namespace, identifier, and version (if available). + When linking to existing entities, it may be necessary to use global identifiers, + as there may be some entities that are created outside of a specific harvesting + attempt, or exist elsewhere in the hierarchy. + + This will look for a globally unique identifier for an entity, and fail if it finds + duplicates. """ - declaration: String! - id: ID! + linkIdentifiersGlobally: Boolean = false """ - A unique (per-namespace) value that names the schema within the system. + When resolving to existing entities, the system may rely on + metadata mappings to figure out where something should go based + on the presence of certain fields in the metadata. """ - identifier: String! + useMetadataMappings: Boolean = false +} + +""" +Options that control reading from the source. + +""" +type HarvestOptionsRead { """ - The kind of entity this schema applies to. + The maximum number of records to read from the source per attempt. + + The system will not paginate beyond this count. """ - kind: SchemaKind! + maxRecords: Int! +} + +""" +Options that control reading from the source. + +""" +input HarvestOptionsReadInput { """ - A human-readable name for the schema. + The maximum number of records to read from the source per attempt. + + The system will not paginate beyond this count. """ - name: String! + maxRecords: Int = 80000 +} + +""" +Protocols for harvesting. Only `OAI` is presently supported. + +`HarvestProtocol` describes the transport method for individual records to be harvested, +while `HarvestMetadataFormat` describes the structure of the data. + +""" +enum HarvestProtocol { """ - A unique namespace the schema lives in. + [OAI-PMH](https://www.openarchives.org/OAI/2.0/guidelines.htm) """ - namespace: String! + OAI """ - The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent. + [Pressbooks API](https://pressbooks.org/dev-guides/rest-api/) + """ - rank: Int! - """A reference to the discrete schema definition""" - schemaDefinition: SchemaDefinition! - """A reference to the discrete schema version""" - schemaVersion: SchemaVersion! + PRESSBOOKS """ - A fully-qualified unique value that can be used to refer to this schema within the system + A fallback value for protocols that should not appear under normal circumstances. + """ - slug: String! - """A semantic version associated with the schema""" - versionNumber: String! + UNKNOWN } -"""An ISO 8601-encoded date""" -scalar ISO8601Date - -"""An ISO 8601-encoded datetime""" -scalar ISO8601DateTime - -"""An ISO 8601-encoded duration""" -scalar ISO8601Duration - """ -An interface for various component types of an image attachment -that allow it to be identified in name and purpose. +The selection criteria for pruning entities from a harvest. """ -interface Image implements ImageIdentification { - """Alt text for accessible images""" - alt: String - """The MIME type of the image, if present""" - contentType: String - dimensions: [Int!] @deprecated(reason: "Use width and height directly.") - """The height of the image, if present""" - height: Int +enum HarvestPruneMode { """ - The original filename, if one was detected during attachment. - - Filename detection is not always consistent across browsers, so this - may not always be present, even with a valid attachment. + Prune **all** entities that have been harvested by the source or attempt. """ - originalFilename: String + EVERYTHING """ - The intended purpose of this image attachment. This is intended to - help fragments that operate solely on image subcomponents to have - some context for what they are without extra work. + Prune **only** unmodified harvested entities. - """ - purpose: ImagePurpose! - """ - This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + Note that unmodified entities _may_ be left behind + if one of their child entities has been modified. """ - storage: AttachmentStorage - """The URL for the image, if present.""" - url: String - """The width of the image, if present""" - width: Int + UNMODIFIED } -"""An attached image with standardized derivatives.""" -type ImageAttachment implements HasAttachmentStorage & ImageIdentification { - """Alt text for accessible images""" - alt: String - """A hero-sized mapping for derivative formats""" - hero: ImageSize! - """A large-sized mapping for derivative formats""" - large: ImageSize! - """A medium-sized mapping for derivative formats""" - medium: ImageSize! - """Configurable metadata for the image.""" - metadata: ImageMetadata - """The original source for the image""" - original: ImageOriginal! +""" +An object representing a single record in the `HarvestSource`. +It can produce one or more harvest entities. + +""" +type HarvestRecord implements CommonModel & CommonPermissions & HasDefaultTimestamps & HasHarvestErrors & HasHarvestMetadataFormat & Node & QueriesHarvestMessage & Sluggable { """ - The original filename, if one was detected during attachment. + Whether the current user has permission to destroy this record. - Filename detection is not always consistent across browsers, so this - may not always be present, even with a valid attachment. + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. """ - originalFilename: String + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - The intended purpose of this image attachment. This is intended to - help fragments that operate solely on image subcomponents to have - some context for what they are without extra work. + The number of entities this record can/will produce (if available). """ - purpose: ImagePurpose! - """A small-sized mapping for derivative formats""" - small: ImageSize! + entityCount: Int """ - This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + Staged entities that were extracted from this record. """ - storage: AttachmentStorage - """A thumb-sized mapping for derivative formats""" - thumb: ImageSize! -} - -"""A derivative of the image with a specific size and format.""" -type ImageDerivative implements Image & ImageIdentification { - """Alt text for accessible images""" - alt: String - """The MIME type of the image, if present""" - contentType: String - dimensions: [Int!] @deprecated(reason: "Use width and height directly.") - """The format of this derivative""" - format: ImageDerivativeFormat! - """The height of the image, if present""" - height: Int - """The maximum height this size can occupy""" - maxHeight: Int - """The maximum width this size can occupy""" - maxWidth: Int + harvestEntities: [HarvestEntity!]! """ - The original filename, if one was detected during attachment. - - Filename detection is not always consistent across browsers, so this - may not always be present, even with a valid attachment. + A list of errors that are associated with this harvesting type. """ - originalFilename: String + harvestErrors: [HarvestError!]! @deprecated(reason: "Harvest errors are no longer returned nor generated. Check the harvest messages instead.\n") + harvestMessages( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: HarvestMessageFilterInput = {severity: INFO} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [HarvestMessageFilterInput!] = [] + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestMessageConnection! """ - The intended purpose of this image attachment. This is intended to - help fragments that operate solely on image subcomponents to have - some context for what they are without extra work. + The harvest source this belongs to. """ - purpose: ImagePurpose! - """The size of this derivative""" - size: ImageDerivativeSize! + harvestSource: HarvestSource! + id: ID! """ - This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + A unique identifier for the record within the `HarvestSource`. """ - storage: AttachmentStorage - """The URL for the image, if present.""" - url: String - """The width of the image, if present""" - width: Int -} - -"""The format of a specific image derivative.""" -enum ImageDerivativeFormat { + identifier: String! + jsonMetadataSource: JSON """ - A Portable Network Graphics-formatted file, for legacy support on most all browsers. + The metadata format used by this source / mapping. + + Fixed at creation time for now. """ - PNG + metadataFormat: HarvestMetadataFormat! """ - A more efficiently compressed image supported by most browsers worldwide. + The raw metadata extracted from `rawSource`, with minimal processing applied. + + When rendering in the frontend, this should be in some sort of fixed-width font / code view, + as it will be JSON, XML, or similar types of data. """ - WEBP -} - -"""The size of a specific image derivative.""" -enum ImageDerivativeSize { - """A hero-sized image, constrained to 2880px wide with no height limit.""" - HERO - """A large-sized image, constrained to 750px wide by 750px high.""" - LARGE - """A medium-sized image, constrained to 500px wide by 500px high.""" - MEDIUM + rawMetadataSource: String """ - A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit. + The raw source extracted from the protocol. + + When rendering in the frontend, this should be in some sort of fixed-width font / code view, + as it will be JSON, XML, or similar types of data. + """ - SANS_TEXT - """A small-sized image, constrained to 250px wide by 250px high.""" - SMALL - """A thumb-sized image, constrained to 100px wide by 100px high.""" - THUMB + rawSource: String """ - A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high. + The encoded slug for this record. + """ - WITH_TEXT -} - -""" -An interface for various component types of an image attachment -that allow it to be identified in name and purpose. - -""" -interface ImageIdentification { + slug: Slug! """ - The original filename, if one was detected during attachment. - - Filename detection is not always consistent across browsers, so this - may not always be present, even with a valid attachment. + The status of the record. """ - originalFilename: String + status: HarvestRecordStatus! """ - The intended purpose of this image attachment. This is intended to - help fragments that operate solely on image subcomponents to have - some context for what they are without extra work. + An enum describing how the `rawSource` / `rawMetadataSource` is encoded. """ - purpose: ImagePurpose! + underlyingDataFormat: UnderlyingDataFormat! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -"""Shared metadata for image attachments""" -type ImageMetadata { - """Alt text for accessible images""" - alt: String +"""The connection type for HarvestRecord.""" +type HarvestRecordConnection implements Paginated { + """A list of edges.""" + edges: [HarvestRecordEdge!]! + """A list of nodes.""" + nodes: [HarvestRecord!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } -"""Shared metadata for updating image attachments""" -input ImageMetadataInput { - """Alt text for accessible images""" - alt: String +"""An edge in a connection.""" +type HarvestRecordEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: HarvestRecord! } """ -The original source for the image. While derivatives are processing, it could be useful -for a temporary preview in the admin section, or for troubleshooting. +Sort a collection of `HarvestRecord` records by specific properties and directions. -As this is the raw image, it is not optimized for display in the frontend and is best -used only as a fallback. +""" +enum HarvestRecordOrder { + """Sort harvest records by their default order.""" + DEFAULT + """Sort harvest records by oldest created date.""" + OLDEST + """Sort harvest records by newest created date.""" + RECENT +} """ -type ImageOriginal implements HasAttachmentStorage & Image & ImageIdentification { - """Alt text for accessible images""" - alt: String - """The MIME type of the image, if present""" - contentType: String - dimensions: [Int!] @deprecated(reason: "Use width and height directly.") - """The height of the image, if present""" - height: Int +A harvested record can exist in a number of statuses. + +""" +enum HarvestRecordStatus { """ - The original filename, if one was detected during attachment. + An record that is considered active and ready to be extracted into entities. - Filename detection is not always consistent across browsers, so this - may not always be present, even with a valid attachment. + """ + ACTIVE + """ + A record that was deleted in the upstream harvest source. """ - originalFilename: String + DELETED """ - The intended purpose of this image attachment. This is intended to - help fragments that operate solely on image subcomponents to have - some context for what they are without extra work. + A brand new record that hasn't been processed yet. """ - purpose: ImagePurpose! + PENDING """ - This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + A record that was skipped over for some validation reason. """ - storage: AttachmentStorage - """The URL for the image, if present.""" - url: String - """The width of the image, if present""" - width: Int + SKIPPED +} + +type HarvestScheduleData { + """ + The frequency expression as a cron statement, regardless + of its original syntax. + + """ + cronExpression: String + """ + The maximum frequency between occurrences, expressed as a duration. + + """ + frequencyMax: ISO8601Duration + """ + The minimum frequency between occurrences, expressed as a duration. + + """ + frequencyMin: ISO8601Duration + """ + If the frequency expression included time zone information, + this will expose which time zone is being used. Otherwise, + the frequency will use the Meru installation time zone. + + """ + timeZone: String } """ -Image attachments on entities fulfill different purposes. This can -be used to distinguish them at the `ImageAttachment` level. +Harvest schedule mode enum """ -enum ImagePurpose { - """A hero image.""" - HERO_IMAGE - """A logo (on a Community).""" - LOGO - """A fallback for otherwise-unspecified images.""" - OTHER - """The logo for the site.""" - SITE_LOGO - """A thumbnail that appears next to the entity in lists, grids, etc.""" - THUMBNAIL +enum HarvestScheduleMode { + MANUAL + SCHEDULED } """ -This describes a specific derivative style -for an attachment, e.g. small, medium, thumb. - -It is further broken down into the various formats -the WDP generates, presently WEBP and PNG. +The concept of a "set" within a given `HarvestSource`. It can be used in order to fetch +a subset of data with a `HarvestMapping`. These are not created directly in Meru, but +instead are fetched by the `HarvestSource` and internally managed based on its `protocol`. """ -type ImageSize implements ImageIdentification { - """Alt text for accessible images""" - alt: String - """The (maximum) height for this size.""" - height: Int +type HarvestSet implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - The original filename, if one was detected during attachment. + Whether the current user has permission to destroy this record. - Filename detection is not always consistent across browsers, so this - may not always be present, even with a valid attachment. + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. """ - originalFilename: String - """A png-formatted image derivative for this particular size.""" - png: ImageDerivative! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - The intended purpose of this image attachment. This is intended to - help fragments that operate solely on image subcomponents to have - some context for what they are without extra work. + An optional description for the set (if available). """ - purpose: ImagePurpose! - size: ImageDerivativeSize! - """A webp-formatted image derivative for this particular size.""" - webp: ImageDerivative! - """The (maximum) width for this size.""" - width: Int + description: String + """ + The source for the harvest set. + + """ + harvestSource: HarvestSource! + id: ID! + """ + A unique, machine-readable string that identifies the set for the specific source. + + """ + identifier: String! + """ + A human-readable name that describes the set (if available). + + """ + name: String! + """ + The encoded slug for this record. + + """ + slug: Slug! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -""" -Require that the `path` must include or be one of the strings provided in `value`. - -The actual value of `path` may be an array (multiselect) or string (select). - -""" -input InAnyOperatorInput { - path: String! - value: [String!]! +"""The connection type for HarvestSet.""" +type HarvestSetConnection implements Paginated { + """A list of edges.""" + edges: [HarvestSetEdge!]! + """A list of nodes.""" + nodes: [HarvestSet!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } -""" -Configuration settings for the specific institution featured on this installation. -""" -type InstitutionSettings { - """The name of the institution.""" - name: String! +"""An edge in a connection.""" +type HarvestSetEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: HarvestSet! } -"""An object for updating the site's configuration""" -input InstitutionSettingsInput { - """The name of the institution.""" - name: String -} +""" +Filtering options for `HarvestSet` records. -type IntegerProperty implements ScalarProperty & SchemaProperty & SearchableProperty { +""" +input HarvestSetFilterInput { """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + Filter by identifier. """ - array: Boolean! - defaultInteger: Int - description: String + identifier: String """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + Filter by name. """ - fullPath: String! + name: String """ - The purpose or intent of this property relative to its entity, parents, and others. + Filter by prefix. """ - function: SchemaPropertyFunction! - integerValue: Int + prefix: String +} + +""" +Sort a collection of `HarvestSet` records by specific properties and directions. + +""" +enum HarvestSetOrder { + """Sort harvest sets by their default order.""" + DEFAULT + """Sort harvest sets by oldest created date.""" + OLDEST + """Sort harvest sets by newest created date.""" + RECENT +} + +""" +A source from which to harvest entities. + +It can produce a `HarvestAttempt`. + +""" +type HarvestSource implements CommonModel & CommonPermissions & HarvestAttemptable & HasDefaultTimestamps & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & HasHarvestOptions & Node & QueriesHarvestMessage & Sluggable { """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. """ - isWide: Boolean! + baseURL: String! """ - Provided for introspection. This describes the underlying structure of the data type. + Whether the current user has permission to destroy this record. """ - kind: SchemaPropertyKind! - label: String! + canDestroy: AuthorizationResult! """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + Whether the current user has permission to update this record. """ - orderable: Boolean! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + An optional, wordier description for the source that may offer insight as to its intended + purpose within the installation. """ - path: String! + description: String """ - Whether or not this property is required in order for the schema instance - to be considered valid. + The extraction mapping template used for this harvesting-related record + at its place in the hierarchy. It is an XML document that describes how + to map various types of metadata from the harvested records and transform + that data into entities in Meru. - Note: invalid data provided to a schema property will still invalidate - the instance as a whole—the required trait only determines whether a value - **must** be set. + For harvest sources, it can be considered the default mapping template + for any record in the system, and should be used to pre-populate + attempts that are created by the source, as well as future plans to + allow for extracting a single record by external ID that may not have + yet been fetched by an extract records process. + + For harvest mappings, it can be considered the default mapping template + for any attempt created by the mapping. + + For any harvesting data that exists prior to the harvesting refactor + completed during March of 2025, it's possible for this value to be + an empty string. Any modifications to mappings and sources from that + time will need to add a valid mapping template in order to succeed. + + See `Query.harvestExamples` for examples of valid mapping templates. """ - required: Boolean! - searchOperators: [SearchOperator!]! - searchPath: String! + extractionMappingTemplate: String! """ - Provided for introspection. This represents the actual data type this property - uses. + Attempts produced by this source. - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. + """ + harvestAttempts( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestAttemptOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestAttemptConnection! + """ + Mappings associated with the harvest source. """ - type: SchemaPropertyType! -} - -"""An item that belongs to a collection""" -type Item implements Accessible & Attachable & Attributable & ChildEntity & Contributable & Entity & EntityBase & ExposesPermissions & HasDOI & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & ReferencesEntityVisibility & ReferencesGlobalEntityDates & SchemaInstance & Searchable & Sluggable { - """Derived access control list""" - accessControlList: AccessControlList - accessGrants( + harvestMappings( """Returns the elements in the list that come after the specified cursor.""" after: String """ @@ -11194,63 +12510,50 @@ type Item implements Accessible & Attachable & Attributable & ChildEntity & Cont first: Int """Returns the last _n_ elements from the list.""" last: Int - order: SimpleOrder = RECENT + order: HarvestMappingOrder = DEFAULT """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - subject: AccessGrantSubjectFilter = ALL - ): AnyCollectionAccessGrantConnection! - """A polymorphic connection for access grants from an entity""" - allAccessGrants( + ): HarvestMappingConnection! + harvestMessages( """Returns the elements in the list that come after the specified cursor.""" after: String """ Returns the elements in the list that come before the specified cursor. """ before: String + """ + Filters that **must** match. + + """ + filters: HarvestMessageFilterInput = {severity: INFO} """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" last: Int - order: SimpleOrder = RECENT + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [HarvestMessageFilterInput!] = [] """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - subject: AccessGrantSubjectFilter = ALL - ): AnyAccessGrantConnection! - """ - A list of allowed actions for the given user on this entity (and its descendants). - """ - allowedActions: [String!]! - """ - Directly fetch a defined named ancestor by its name. It can be null, - either because an invalid name was provided, the schema hierarchy is - incomplete, or the association itself is optional. - - """ - ancestorByName( - """The name of the ancestor to fetch""" - name: String! - ): Entity + ): HarvestMessageConnection! """ - Look up an ancestor for this entity that implements a specific type. It ascends from this entity, - so it will first check the parent, then the grandparent, and so on. + Metadata mappings used for advanced features that allow matching patterns to existing harvest targets. """ - ancestorOfType( - """A fully-qualified name of a schema to look for.""" - schema: String! - ): Entity - """Look up an announcement for this entity by slug""" - announcement(slug: Slug!): Announcement - """Announcements for a specific entity""" - announcements( + harvestMetadataMappings( """Returns the elements in the list that come after the specified cursor.""" after: String """ @@ -11261,81 +12564,19 @@ type Item implements Accessible & Attachable & Attributable & ChildEntity & Cont first: Int """Returns the last _n_ elements from the list.""" last: Int - order: AnnouncementOrder = RECENT + order: HarvestMetadataMappingOrder = DEFAULT """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - ): AnnouncementConnection! - """The role(s) that gave the permissions to access this resource, if any.""" - applicableRoles: [Role!]! - assetDownloads( - """ - An optional date filter to apply. - - """ - dateFilter: DateFilterInput = {} - """ - The precision to apply. - - """ - precision: AnalyticsPrecision = DAY - """ - Optionally filter by specific subjects. - - Presently this is just assets, but it may expand in the future. - - """ - subjectIds: [ID!] = [] - ): AnalyticsEventCountSummary! - assetDownloadsByRegion( - """ - An optional date filter to apply. - - """ - dateFilter: DateFilterInput = {} - """ - Optionally filter by specific subjects. - - Presently this is just assets, but it may expand in the future. - - """ - subjectIds: [ID!] = [] - """ - Filter by country_code = "US" only. - - """ - usOnly: Boolean = false - ): AnalyticsRegionCountSummary! - """Assets owned by this entity""" - assets( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - kind: AssetKindFilter = ALL - """Returns the last _n_ elements from the list.""" - last: Int - order: SimpleOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): AssetConnection! + ): HarvestMetadataMappingConnection! """ - The role(s) that the current user could assign to other users on this entity, if applicable. + Records associated with this source. + """ - assignableRoles: [Role!]! - """Retrieve a list of user & role assignments for this entity""" - assignedUsers( + harvestRecords( """Returns the elements in the list that come after the specified cursor.""" after: String """ @@ -11346,732 +12587,387 @@ type Item implements Accessible & Attachable & Attributable & ChildEntity & Cont first: Int """Returns the last _n_ elements from the list.""" last: Int - order: ContextualPermissionOrder = USER_NAME_ASC + order: HarvestRecordOrder = DEFAULT """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - ): ContextualPermissionConnection! - """Attributions for the item.""" - attributions: [ItemAttribution!]! + ): HarvestRecordConnection! """ - Expose all available entities for this schema property. + Sets associated with the harvest source. - """ - availableEntitiesFor( - """ - The full path to the schema property. Please note, paths are snake_case, not camelCase. - - """ - fullPath: String! - ): [EntitySelectOption!]! - """Previous entries in the hierarchy""" - breadcrumbs: [EntityBreadcrumb!]! - """ - The canonical permalink for this resource, if one is set. + A single source may have thousands of sets associated with it, + so it must be paginated. """ - canonicalPermalink: Permalink - children( + harvestSets( """Returns the elements in the list that come after the specified cursor.""" after: String """ Returns the elements in the list that come before the specified cursor. """ before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - ): ItemConnection! @deprecated(reason: "Use Item.items") - collection: Collection! - community: Community! - """Look up contribution role configuration for this record.""" - contributionRoles: ContributionRoleConfiguration! - contributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String """ - Returns the elements in the list that come before the specified cursor. + Filters that **must** match. + """ - before: String + filters: HarvestSetFilterInput = {} """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" last: Int - order: ContributionOrder = TARGET_TITLE_ASCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ItemContributionConnection! - """Contributors to this element""" - contributors( - """Returns the elements in the list that come after the specified cursor.""" - after: String """ - Returns the elements in the list that come before the specified cursor. + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - kind: ContributorFilterKind = ALL - """Returns the last _n_ elements from the list.""" - last: Int - order: ContributorOrder = NAME_ASCENDING + orFilters: [HarvestSetFilterInput!] = [] + order: HarvestSetOrder = DEFAULT """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - """ - Search for contributors with names that start with the provided text. - - """ - prefix: String - ): AnyContributorConnection! - """The date this entity was added to the WDP""" - createdAt: ISO8601DateTime! + ): HarvestSetConnection! + id: ID! """ - Whether the entity is _currently_ hidden, based on the server's time zone. + A unique, machine-readable identifier. Requirements: - """ - currentlyHidden: Boolean! - """ - Whether the entity is _currently_ visible, based on the server's time zone. + * At least three characters: alphanumeric, hyphens, underscores + * All lowercase + * No whitespace + * No consecutive hyphens nor underscores. - """ - currentlyVisible: Boolean! - """ - Search and retrieve *all* descendants of this `Entity`, regardless of type. + Cannot be changed once created. To reuse an identifier, the original source + must be destroyed. """ - descendants( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - maxDepth: Int - order: EntityDescendantOrder! = PUBLISHED_DESCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - """Filter by a namespace.name schema identifier""" - schema: [String!] - scope: EntityDescendantScopeFilter = ALL - ): EntityDescendantConnection! + identifier: String! """ - The Digital Object Identifier for this entity. See https://doi.org + Options that control mapping of entities during the harvesting process. """ - doi: String + mappingOptions: HarvestOptionsMapping! """ - The data sanitized from `rawDOI`, including things like the URL and host. + The metadata format used by this source / mapping. + + Fixed at creation time for now. """ - doiData: DOIData! - entityViews( - """ - An optional date filter to apply. - - """ - dateFilter: DateFilterInput = {} - """ - The precision to apply. - - """ - precision: AnalyticsPrecision = DAY - ): AnalyticsEventCountSummary! - entityViewsByRegion( - """ - An optional date filter to apply. - - """ - dateFilter: DateFilterInput = {} - """ - Filter by country_code = "US" only. - - """ - usOnly: Boolean = false - ): AnalyticsRegionCountSummary! - """Retrieve the first matching item beneath this item.""" - firstItem( - """Describe the depth of entities to retrieve""" - nodeFilter: SubtreeNodeFilter = CHILDREN - order: EntityOrder = PUBLISHED_DESCENDING - """Filter by a namespace.name schema identifier""" - schema: [String!] - ): Item + metadataFormat: HarvestMetadataFormat! """ - The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have - no effect on this record. + A unique name for the source. Purely descriptive. """ - harvestModificationStatus: HarvestModificationStatus! + name: String! """ - The harvest record(s) associated with the entity, with most recent harvest records sorted to the top. + The protocol for this source. - It is technically possible for multiple harvest records to have affected an entity. + Cannot be changed once created. """ - harvestRecords: [HarvestRecord!]! - """Whether this item has any child items""" - hasItems: Boolean! + protocol: HarvestProtocol! """ - For use in the admin, something to signify that data has been set on `rawDOI` - that could not be properly assigned to `doi`. + Options that control reading from the source. """ - hasWeirdDOI: Boolean! - """A hero image for the entity, suitable for displaying in page headers""" - heroImage: ImageAttachment! - """Configurable metadata for the hero_image attachment""" - heroImageMetadata: ImageMetadata + readOptions: HarvestOptionsRead! """ - Whether the entity's visibility is set to `HIDDEN` + The encoded slug for this record. """ - hidden: Boolean! + slug: Slug! """ - Specify a time to check to see if the entity will be hidden. + An enum that describes the functional state for harvest sources. """ - hiddenAsOf( - """ - If no value is provided, it will default to the current time. - - """ - time: ISO8601DateTime - ): Boolean! - """If present, this is the timestamp the entity was hidden at""" - hiddenAt: ISO8601DateTime - """ - The depth of the hierarchical entity, taking into account any parent types - """ - hierarchicalDepth: Int! - id: ID! - """ - A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers. - """ - identifier: String! - """Retrieve the items beneath this item""" - items( - access: EntityPermissionFilter = SKIP - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """Describe the depth of entities to retrieve""" - nodeFilter: SubtreeNodeFilter = CHILDREN - order: EntityOrder = PUBLISHED_DESCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - """Filter by a namespace.name schema identifier""" - schema: [String!] - ): ItemConnection! + status: HarvestSourceStatus! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +"""The connection type for HarvestSource.""" +type HarvestSourceConnection implements Paginated { + """A list of edges.""" + edges: [HarvestSourceEdge!]! + """A list of nodes.""" + nodes: [HarvestSource!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""Autogenerated input type of HarvestSourceCreate""" +input HarvestSourceCreateInput { """ - Access layouts for this entity. + The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. """ - layouts: EntityLayouts! - leaf: Boolean! - """Available link targets for this entity""" - linkTargetCandidates( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - kind: LinkTargetCandidateFilter = ALL - """Returns the last _n_ elements from the list.""" - last: Int - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - title: String = "" - ): LinkTargetCandidateConnection! - links( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: SimpleOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): EntityLinkConnection! + baseURL: String! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. + An optional, wordier description for the source that may offer insight as to its intended + purpose within the installation. """ - markedForPurge: Boolean! + description: String """ - Fetch a list of named ancestors for this entity. This list is deterministically sorted - to retrieve the "closest" ancestors first, ascending upwards in the hierarchy from there. + The extraction mapping template used for this harvesting-related record + at its place in the hierarchy. It is an XML document that describes how + to map various types of metadata from the harvested records and transform + that data into entities in Meru. - **Note**: Like breadcrumbs, this association is intentionally not paginated for ease of use, - because in practice a schema should not have many associations. + For harvest sources, it can be considered the default mapping template + for any record in the system, and should be used to pre-populate + attempts that are created by the source, as well as future plans to + allow for extracting a single record by external ID that may not have + yet been fetched by an extract records process. + + For harvest mappings, it can be considered the default mapping template + for any attempt created by the mapping. + + For any harvesting data that exists prior to the harvesting refactor + completed during March of 2025, it's possible for this value to be + an empty string. Any modifications to mappings and sources from that + time will need to add a valid mapping template in order to succeed. + + See `Query.harvestExamples` for examples of valid mapping templates. """ - namedAncestors: [NamedAncestor!]! - """Look up an ordering for this entity by identifier""" - ordering(identifier: String!): Ordering - """Look up an ordering that is set up to handle a specific schema.""" - orderingForSchema( - """This should be of the `namespace:identifier` format.""" - slug: Slug! - ): Ordering + extractionMappingTemplate: String! """ - Retrieve a connection of orderings for the parent object. + A unique, machine-readable identifier. Requirements: + + * At least three characters: alphanumeric, hyphens, underscores + * All lowercase + * No whitespace + * No consecutive hyphens nor underscores. + + Cannot be changed once created. To reuse an identifier, the original source + must be destroyed. """ - orderings( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """Optionally filter orderings by whether they are enabled or disabled.""" - availability: OrderingAvailabilityFilter = ALL - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: OrderingOrder = DETERMINISTIC - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - """Optionally filter orderings by whether they are visible or hidden.""" - visibility: OrderingVisibilityFilter = ALL - ): OrderingConnection! - """Look up a page for this entity by slug""" - page( - """ - **Note**: Unlike most other model types, a page's slug is just a string - as opposed to our custom `Slug` type. They are not designed to be - opaque, but instead be something human-readable that can appear in URIs. - - """ - slug: String! - ): Page - pages( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): PageConnection! - parent: ItemParent + identifier: String! """ - All permalinks associated with this resource. + Options that control mapping of entities during the harvesting process. """ - permalinks: [Permalink!]! - """An array of hashes that can be requested to load in a context""" - permissions: [PermissionGrant!]! - """The date this entity was published""" - published: VariablePrecisionDate! + mappingOptions: HarvestOptionsMappingInput = {autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false} """ - The value that was set on the entity. It will be validated and sanitized - and be set on `doi` if possible. + The metadata format for this source to use by default. + + Mappings can override this, but it cannot be changed currently. """ - rawDOI: String - """Retrieve linked items of the same schema type""" - relatedItems( - access: EntityPermissionFilter = SKIP - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: EntityOrder = PUBLISHED_DESCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ItemConnection! - root: Boolean! - schemaDefinition: SchemaDefinition! + metadataFormat: HarvestMetadataFormat! """ - The context for our schema instance. Includes form values and necessary referents. + A unique name for the source. Purely descriptive. """ - schemaInstanceContext: SchemaInstanceContext! + name: String! """ - A list of schema properties associated with this instance or version. + The protocol for this source. + + Cannot be changed once created. """ - schemaProperties: [SchemaProperty!]! + protocol: HarvestProtocol! = OAI """ - Read a single schema property by its full path. + Options that control reading from the source. """ - schemaProperty( - """ - The full path to the schema property. Please note, paths are snake_case, not camelCase. - - """ - fullPath: String! - ): SchemaProperty - schemaRanks: [HierarchicalSchemaRank!]! - schemaVersion: SchemaVersion! - """Search from this level of the API using it as the origin""" - search( - """ - When searching from a scoped entity, sometimes you want to limit the depth of the search. - - `maxDepth: 1` will restrict to just the entity's direct children (or direct links). - - """ - maxDepth: Int - """ - Restrict the results by a certain level of visibility. This requires an authenticated user - for anything but `VISIBLE`: any other option will be silently discarded when anonymous. - - """ - visibility: EntityVisibilityFilter = VISIBLE - ): SearchScope! - slug: Slug! + readOptions: HarvestOptionsReadInput = {maxRecords: 80000} +} + +"""Autogenerated return type of HarvestSourceCreate.""" +type HarvestSourceCreatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String """ - A human-readable subtitle for the entity. + The newly-modified harvest source, if successful. """ - subtitle: String + harvestSource: HarvestSource +} + +"""Autogenerated input type of HarvestSourceDestroy""" +input HarvestSourceDestroyInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - A description of the contents of the entity. + The harvest source to destroy. """ - summary: String + harvestSourceId: ID! +} + +"""Autogenerated return type of HarvestSourceDestroy.""" +type HarvestSourceDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc. + Whether or not the model was successfully destroyed. If false, check globalErrors """ - thumbnail: ImageAttachment! - """Configurable metadata for the thumbnail attachment""" - thumbnailMetadata: ImageMetadata + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""An edge in a connection.""" +type HarvestSourceEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: HarvestSource! +} + +""" +Sort a collection of `HarvestSource` records by specific properties and directions. + +""" +enum HarvestSourceOrder { + """Sort harvest sources by their default order.""" + DEFAULT + """Sort harvest sources by oldest created date.""" + OLDEST + """Sort harvest sources by newest created date.""" + RECENT +} + +"""Autogenerated input type of HarvestSourcePruneEntities""" +input HarvestSourcePruneEntitiesInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - A human-readable title for the entity. + The harvest source to update. """ - title: String! - """The date this entity was last updated within the WDP""" - updatedAt: ISO8601DateTime! - """Access grants for specific users""" - userAccessGrants( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: SimpleOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): UserCollectionAccessGrantConnection! - """Not presently used""" - userGroupAccessGrants( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: SimpleOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): UserGroupCollectionAccessGrantConnection! - """If an entity is available in the frontend""" - visibility: EntityVisibility! + harvestSourceId: ID! """ - Whether the entity's visibility is set to `VISIBLE`. + Whether to prune `PRISTINE` or **all** harvested entities. """ - visible: Boolean! - """If present, this is the timestamp an entity is visible after""" - visibleAfterAt: ISO8601DateTime + mode: HarvestPruneMode! +} + +"""Autogenerated return type of HarvestSourcePruneEntities.""" +type HarvestSourcePruneEntitiesPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String """ - Specify a time to check to see if the entity will be visible. + The harvest source, if successful. """ - visibleAsOf( - """ - If no value is provided, it will default to the current time. - - """ - time: ISO8601DateTime - ): Boolean! - """If present, this is the timestamp an entity is visible until""" - visibleUntilAt: ISO8601DateTime + harvestSource: HarvestSource } """ -Attributions for items. +An enum that describes the functional state for harvest sources. + +Harvest sources are checked on a regular basis and can also be +manually rechecked with harvestSourceCheck """ -type ItemAttribution implements Attribution & Node & Sluggable { - contributor: ContributorBase! - createdAt: ISO8601DateTime! - id: ID! +enum HarvestSourceStatus { """ - A priority-ordered list of the roles the associated contributor had. + An active harvest source has been recently validated as working + and thus can be used for harvesting. """ - roles: [ControlledVocabularyItem!]! - slug: Slug! - updatedAt: ISO8601DateTime! -} - -"""The connection type for Item.""" -type ItemConnection implements Paginated { - """A list of edges.""" - edges: [ItemEdge!]! - """A list of nodes.""" - nodes: [Item!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! + ACTIVE + """ + An inactive harvest source has been recently validated as not working + and cannot be used for harvesting. + + """ + INACTIVE } -"""A contribution to an item""" -type ItemContribution implements Contribution & ContributionBase & Node & Sluggable { - """A potentially-overridden value from person contributors""" - affiliation: String - """The actual role""" - contributionRole: ControlledVocabularyItem! - contributor: Contributor! - contributorKind: ContributorKind! - createdAt: ISO8601DateTime! - """A potentially-overridden display name value for all contributor types""" - displayName: String! - id: ID! +"""Autogenerated input type of HarvestSourceUpdate""" +input HarvestSourceUpdateInput { """ - An optional sorting discriminator to decide which contribution ranks higher. + The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. - Applies _after_ contribution role ranking. + """ + baseURL: String! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + An optional, wordier description for the source that may offer insight as to its intended + purpose within the installation. """ - innerPosition: Int - item: Item! - """A potentially-overridden value from organization contributors""" - location: String - metadata: ContributionMetadata! + description: String """ - An optional sorting discriminator to decide which contribution ranks higher. + The extraction mapping template used for this harvesting-related record + at its place in the hierarchy. It is an XML document that describes how + to map various types of metadata from the harvested records and transform + that data into entities in Meru. - Applies _before_ contribution role ranking, superseding everything else. + For harvest sources, it can be considered the default mapping template + for any record in the system, and should be used to pre-populate + attempts that are created by the source, as well as future plans to + allow for extracting a single record by external ID that may not have + yet been fetched by an extract records process. + + For harvest mappings, it can be considered the default mapping template + for any attempt created by the mapping. + + For any harvesting data that exists prior to the harvesting refactor + completed during March of 2025, it's possible for this value to be + an empty string. Any modifications to mappings and sources from that + time will need to add a valid mapping template in order to succeed. + + See `Query.harvestExamples` for examples of valid mapping templates. """ - outerPosition: Int - """An arbitrary text value describing the role the contributor had""" - role: String @deprecated(reason: "Use `roleLabel` instead.") - """An arbitrary text value describing the role the contributor had""" - roleLabel: String - slug: Slug! - """A potentially-overridden value from person contributors""" - title: String - updatedAt: ISO8601DateTime! -} - -"""The connection type for ItemContribution.""" -type ItemContributionConnection implements Paginated { - """A list of edges.""" - edges: [ItemContributionEdge!]! - """A list of nodes.""" - nodes: [ItemContribution!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} - -"""An edge in a connection.""" -type ItemContributionEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: ItemContribution! -} - -"""An edge in a connection.""" -type ItemEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: Item! -} - -union ItemParent = Collection | Item - -"""Represents untyped JSON""" -scalar JSON - -""" -Entities within the system have layouts associated with their schema, -that can eventually be overridden for more custom approaches. - -This interface defines the *definition* for one such layout, while any -given entity will also have its own LayoutInstance. - -""" -interface LayoutDefinition { - layoutKind: LayoutKind! -} - -""" -An interface describing an instance type that can be rendered for a given entity. - -""" -interface LayoutInstance implements Renderable { - """ - Whether all templates in this instance are hidden. - - """ - allHidden: Boolean! - """ - Whether all slots in all template instances in this layout are empty. - - """ - allSlotsEmpty: Boolean! - """ - The associated entity for this layout instance. - - """ - entity: Entity! - """ - The time this object was last rendered. - - """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! -} - -""" -The various kinds of `Layout`s in the system. - -""" -enum LayoutKind { - """ - The "hero" layout for an Entity. - - """ - HERO - """ - A layout describing how an entity should look when it is being rendered. - - """ - LIST_ITEM + extractionMappingTemplate: String! """ - The "main" layout for the landing page of an entity. - - It is where most of the detail on an entity should go. + The harvest source to update. """ - MAIN + harvestSourceId: ID! """ - A layout for controlling how metadata should render. + Options that control mapping of entities during the harvesting process. """ - METADATA + mappingOptions: HarvestOptionsMappingInput = {autoCreateVolumesAndIssues: false, linkIdentifiersGlobally: false, useMetadataMappings: false} """ - A layout describing how an entity should be navigated. + A unique name for the source. Purely descriptive. """ - NAVIGATION + name: String! """ - A shared layout for certain supplementary routes like contributors and metrics. + Options that control reading from the source. """ - SUPPLEMENTARY -} - -"""Autogenerated input type of LinkEntity""" -input LinkEntityInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - """The 'type' of link""" - operator: EntityLinkOperator! - """The ID for the source entity""" - sourceId: ID! - """The ID for the target entity""" - targetId: ID! + readOptions: HarvestOptionsReadInput = {maxRecords: 80000} } -"""Autogenerated return type of LinkEntity.""" -type LinkEntityPayload implements StandardMutationPayload { +"""Autogenerated return type of HarvestSourceUpdate.""" +type HarvestSourceUpdatePayload implements StandardMutationPayload { attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String @@ -12079,732 +12975,1048 @@ type LinkEntityPayload implements StandardMutationPayload { globalErrors: [MutationGlobalError!]! """Not presently used""" haltCode: String - """The created or updated link, if applicable""" - link: EntityLink + """ + The newly-modified harvest source, if successful. + + """ + harvestSource: HarvestSource } """ -An enumerated value associated with the templating subsystem. +Objects have a serialized slug for looking them up in the system and generating links without UUIDs. """ -enum LinkListBackground { +interface HarvestTarget implements EntityBase & Sluggable { """ - A dark gradient is applied to the background of this template. + Whether this is a collection or a community. """ - DARK + harvestTargetKind: HarvestTargetKind! """ - A light gradient is applied to the background of this template. + The encoded slug for this record. """ - LIGHT + slug: Slug! """ - No background is applied to this template. + A human-readable subtitle for the entity. """ - NONE -} - -""" -An enum used to control the mode of selection for a link list template. - -""" -enum LinkListSelectionMode { + subtitle: String """ - Render links from a dynamic list, determined at query time. + A description of the contents of the entity. """ - DYNAMIC + summary: String """ - Render links from a manual list set on each individual entity. See `manualListName` for how this works. + A human-readable title for the entity. """ - MANUAL + title: String! } -type LinkListTemplateDefinition implements Node & Sluggable & TemplateDefinition { +""" +The kind of entity that's being used as a Harvest Target. + +""" +enum HarvestTargetKind { """ - The background gradient to use for this template. Affects presentation. + A branch or leaf in the hierarchy. """ - background: LinkListBackground + COLLECTION """ - A boolean used to describe list templates that should match browse style as close as possible. + A root-level entity in the hierarchy. """ - browseStyle: Boolean - createdAt: ISO8601DateTime! + COMMUNITY +} + +""" +Something which implements a #storage key that identifies where its attachment currently lives. +""" +interface HasAttachmentStorage { """ - When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure - as schemas to define a dynamic ordering that is resolved at runtime and based - on the `selectionSource`. + This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. """ - dynamicOrderingDefinition: OrderingDefinition + storage: AttachmentStorage +} + +interface HasAvailableEntities { """ - Enumerate how much context to show when listing entities. - - Replaces `showEntityContext`. + Expose all available entities for this schema property. """ - entityContext: ListEntityContext - id: ID! - layoutKind: LayoutKind! + availableEntities: [EntitySelectOption!]! +} + +interface HasControlledVocabulary { """ - When `selectionMode` is set to `MANUAL`, the purpose of this property - is to specify a name under which all the manual selections (per entity) - will be stored. This allows a layout to have multiple templates of the - same type using different lists, that will persist across rearrangements - of the layout _without_ losing connections between entities. + The vocabulary configured for this property, based on its `wants` value + and whatever is currently configured in `ControlledVocabularySource`. """ - manualListName: SchemaComponent - seeAllButtonLabel: String + controlledVocabulary: ControlledVocabulary """ - If provided, this will expose an ordering on the template instance that can - be used to generate a link to the ordering in the frontend. + The key used to determine which `ControlledVocabulary` to fetch. - """ - seeAllOrderingIdentifier: SchemaComponent - """ - The fallback mode to use when rendering a list of entities, when the list from - `selectionMode` is empty and `useSelectionFallback` has been set to true. + See `#controlledVocabulary`. """ - selectionFallbackMode: LinkListSelectionMode + wants: String +} + +"""An entity that has a DOI""" +interface HasDOI { """ - Regardless of `selectionMode`, this limit will be applied on whatever resulting - list of entities are produced, so that only up to that amount of entities are - rendered in the template proper. + The Digital Object Identifier for this entity. See https://doi.org """ - selectionLimit: Int + doi: String """ - The default mode to use when rendering a list of entities. - - See also `selectionFallbackMode` and `useSelectionFallback`. + The data sanitized from `rawDOI`, including things like the URL and host. """ - selectionMode: LinkListSelectionMode + doiData: DOIData! """ - When selecting entities based on `selectionMode`, this property determines - which entity (relevant to the rendering entity) should be used for lookups. - - By default, it is `self`, which means the rendering entity itself. - - It can also support things like `ancestor.journal`, `ancestor.issue`, etc., - in order to render a list of values in its parent. + For use in the admin, something to signify that data has been set on `rawDOI` + that could not be properly assigned to `doi`. """ - selectionSource: TemplateSelectionSource + hasWeirdDOI: Boolean! """ - The derived name of the ancestor used for the `selectionSource`. - - Exposed for introspection only. + The value that was set on the entity. It will be validated and sanitized + and be set on `doi` if possible. """ - selectionSourceAncestorName: SchemaComponent - """ - An enum representing what mode `selectionSource` is in. Not directly set, - it is used internally for lookups. - - """ - selectionSourceMode: SelectionSourceMode + rawDOI: String +} + +""" +Automatically-set timestamps present on most real models in the system. + +""" +interface HasDefaultTimestamps { + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Entity models implement their own analytics views that come pre-filtered +""" +interface HasEntityAnalytics { + assetDownloads( + """ + An optional date filter to apply. + + """ + dateFilter: DateFilterInput = {} + """ + The precision to apply. + + """ + precision: AnalyticsPrecision = DAY + """ + Optionally filter by specific subjects. + + Presently this is just assets, but it may expand in the future. + + """ + subjectIds: [ID!] = [] + ): AnalyticsEventCountSummary! + assetDownloadsByRegion( + """ + An optional date filter to apply. + + """ + dateFilter: DateFilterInput = {} + """ + Optionally filter by specific subjects. + + Presently this is just assets, but it may expand in the future. + + """ + subjectIds: [ID!] = [] + """ + Filter by country_code = "US" only. + + """ + usOnly: Boolean = false + ): AnalyticsRegionCountSummary! + entityViews( + """ + An optional date filter to apply. + + """ + dateFilter: DateFilterInput = {} + """ + The precision to apply. + + """ + precision: AnalyticsPrecision = DAY + ): AnalyticsEventCountSummary! + entityViewsByRegion( + """ + An optional date filter to apply. + + """ + dateFilter: DateFilterInput = {} + """ + Filter by country_code = "US" only. + + """ + usOnly: Boolean = false + ): AnalyticsRegionCountSummary! +} + +interface HasEntityBreadcrumbs { + """Previous entries in the hierarchy""" + breadcrumbs: [EntityBreadcrumb!]! +} + +interface HasHarvestErrors { """ - When true, this takes priority over `selectionLimit`. It allows an entire - matching list of records to be retrieved. It should be used with caution, - since very large entity trees could cause responses to be slow. + A list of errors that are associated with this harvesting type. """ - selectionUnbounded: Boolean + harvestErrors: [HarvestError!]! @deprecated(reason: "Harvest errors are no longer returned nor generated. Check the harvest messages instead.\n") +} + +""" +An interface for harvesting-related records that expose a mapping template +for handling extraction at their point in the hierarchy. + +""" +interface HasHarvestExtractionMappingTemplate { """ - Show contributors when listing entities. + The extraction mapping template used for this harvesting-related record + at its place in the hierarchy. It is an XML document that describes how + to map various types of metadata from the harvested records and transform + that data into entities in Meru. - """ - showContributors: Boolean - """ - Show additional context about each entity in the selection. + For harvest sources, it can be considered the default mapping template + for any record in the system, and should be used to pre-populate + attempts that are created by the source, as well as future plans to + allow for extracting a single record by external ID that may not have + yet been fetched by an extract records process. + + For harvest mappings, it can be considered the default mapping template + for any attempt created by the mapping. + + For any harvesting data that exists prior to the harvesting refactor + completed during March of 2025, it's possible for this value to be + an empty string. Any modifications to mappings and sources from that + time will need to add a valid mapping template in order to succeed. + + See `Query.harvestExamples` for examples of valid mapping templates. """ - showEntityContext: Boolean @deprecated(reason: "Use entity_context enum instead") - showHeroImage: Boolean + extractionMappingTemplate: String! +} + +""" +A record that stores a metadata format it uses. + +""" +interface HasHarvestMetadataFormat { """ - Show nested items from the associated listItemLayouts in order to generate - a two-tier list. + The metadata format used by this source / mapping. + + Fixed at creation time for now. """ - showNestedEntities: Boolean - showSeeAllButton: Boolean @deprecated(reason: "Use seeAllOrdering on the instance instead.") + metadataFormat: HarvestMetadataFormat! +} + +""" +An interface for records which can be created/updated through Harvesting +that includes an enum which can prevent harvesting actions from overwriting +any data that has been manually corrected. + +""" +interface HasHarvestModificationStatus { """ - Slot definitions for this template. + The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have + no effect on this record. """ - slots: LinkListTemplateDefinitionSlots! - slug: Slug! - templateKind: TemplateKind! - title: String - updatedAt: ISO8601DateTime! + harvestModificationStatus: HarvestModificationStatus! +} + +interface HasHarvestOptions { """ - Controls whether or not to use `selectionFallbackMode` if the entity list returned - via `selectionMode` turns out to be empty at runtime. + Options that control mapping of entities during the harvesting process. """ - useSelectionFallback: Boolean + mappingOptions: HarvestOptionsMapping! """ - The variant rendering mode to use for this template. Affects presentation. + Options that control reading from the source. """ - variant: LinkListVariant + readOptions: HarvestOptionsRead! +} + +interface HasSchemaProperties { """ - This controls how wide the template should render. - - **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - template that also uses `HALF`. + A list of schema properties associated with this instance or version. """ - width: TemplateWidth + schemaProperties: [SchemaProperty!]! } """ -Slot definitions for the associated template. +An enumerated value associated with the templating subsystem. """ -type LinkListTemplateDefinitionSlots { - blockHeader: TemplateSlotInlineDefinition - blockHeaderFallback: TemplateSlotInlineDefinition - header: TemplateSlotInlineDefinition - headerAside: TemplateSlotInlineDefinition - headerFallback: TemplateSlotInlineDefinition - listContext: TemplateSlotInlineDefinition - metadata: TemplateSlotInlineDefinition - subtitle: TemplateSlotInlineDefinition -} - -type LinkListTemplateInstance implements Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance { +enum HeroBackground { """ - Whether all slots in this template are empty. + A dark gradient is applied to the background of this template. """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! + DARK """ - Load the associated definition for this template. + A light gradient is applied to the background of this template. """ - definition: LinkListTemplateDefinition! + LIGHT """ - The associated entity for this template instance. + No background is applied to this template. """ - entity: Entity! + NONE +} + +"""The layout to use when rendering a Hero for an `Entity`.""" +enum HeroImageLayout { + ONE_COLUMN + TWO_COLUMN +} + +type HeroLayoutDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable { """ - The list of entities to render as part of this template's content. + Whether the current user has permission to destroy this record. """ - entityList: TemplateEntityList! + canDestroy: AuthorizationResult! """ - Whether this template instance should be hidden based on some logic. - - At present, this only occurs if certain slots are empty. + Whether the current user has permission to update this record. """ - hidden: Boolean! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! id: ID! + layoutKind: LayoutKind! """ - The time this object was last rendered. + The encoded slug for this record. """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! + slug: Slug! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + This layout will only ever have one template, so it can be fetched directly without needing the union. """ - nextSiblings: [TemplateInstanceSibling!]! + template: HeroTemplateDefinition """ - Return all preceding siblings to the current template in order of proximity. + The ordered template definitions available for this layout. - If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + """ + templates: [AnyHeroTemplateDefinition!]! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +type HeroLayoutInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable { + """ + Whether all templates in this instance are hidden. """ - prevSiblings: [TemplateInstanceSibling!]! + allHidden: Boolean! """ - The ordering to render for a "see all" link. + Whether all slots in all template instances in this layout are empty. """ - seeAllOrdering: Ordering + allSlotsEmpty: Boolean! """ - Rendered slots for this template. + Whether the current user has permission to destroy this record. """ - slots: LinkListTemplateInstanceSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Rendered slots for the associated template. - -""" -type LinkListTemplateInstanceSlots { - blockHeader: TemplateSlotInlineInstance - blockHeaderFallback: TemplateSlotInlineInstance - header: TemplateSlotInlineInstance - headerAside: TemplateSlotInlineInstance - headerFallback: TemplateSlotInlineInstance - listContext: TemplateSlotInlineInstance - metadata: TemplateSlotInlineInstance - subtitle: TemplateSlotInlineInstance -} - -""" -An enum used to control how a link list template should be rendered. - -""" -enum LinkListVariant { + canDestroy: AuthorizationResult! """ - A card list of entities. + Whether the current user has permission to update this record. """ - CARDS + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - A compact list of entities. + The associated entity for this layout instance. """ - COMPACT + entity: Entity! + id: ID! """ - A grid of entities + The time this object was last rendered. """ - GRID + lastRenderedAt: ISO8601DateTime """ - A horizontal list of entities with promotional header. + The layout definition for this type. """ - PROMOS + layoutDefinition: HeroLayoutDefinition! + layoutKind: LayoutKind! """ - A vertical, summarized list of entities. + The encoded slug for this record. """ - SUMMARY + slug: Slug! """ - A tree structure. + This layout will only ever have one template, so it can be fetched directly without needing the union. """ - TREE -} - -"""A candidate for a link target, scoped to a parent source""" -type LinkTargetCandidate implements Node { - createdAt: ISO8601DateTime! - """How deeply nested the candidate entity is""" - depth: Int! - id: ID! - kind: LinkTargetCandidateKind! - """The actual target""" - target: Entity! - """The targetID to provide to linkEntity""" - targetId: ID! - """The target entity's title""" - title: String! + template: HeroTemplateInstance + """ + The ordered template instances available for this layout. + + """ + templates: [AnyHeroTemplateInstance!]! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -"""The connection type for LinkTargetCandidate.""" -type LinkTargetCandidateConnection implements Paginated { - """A list of edges.""" - edges: [LinkTargetCandidateEdge!]! - """A list of nodes.""" - nodes: [LinkTargetCandidate!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} - -"""An edge in a connection.""" -type LinkTargetCandidateEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: LinkTargetCandidate! -} - -"""Filter the available candidates for a link target""" -enum LinkTargetCandidateFilter { - """Show all possible link target candidate types""" - ALL - """Limit to collection candidates""" - COLLECTION - """Limit to item candidates""" - ITEM -} - -"""The kind of link target candidate""" -enum LinkTargetCandidateKind { - COLLECTION - ITEM -} - -""" -An enum used to control how much context to show for listed entities in a template. - -""" -enum ListEntityContext { +type HeroTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { """ - Show an abbreviated amount of context for listed entities. + The background gradient to use for this template. Affects presentation. """ - ABBR + background: HeroBackground """ - Show the maximum amount of context for listed entities. + Whether the current user has permission to destroy this record. """ - FULL + canDestroy: AuthorizationResult! """ - Show the minimal / no amount of context for listed entities. + Whether the current user has permission to update this record. """ - NONE -} - -type ListItemLayoutDefinition implements LayoutDefinition & Node & Sluggable { + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + descendantSearchPrompt: String @deprecated(reason: "This is a slot now.") + enableDescendantBrowsing: Boolean + enableDescendantSearch: Boolean id: ID! layoutKind: LayoutKind! - slug: Slug! + listContributors: Boolean + showBasicViewMetrics: Boolean + showBigSearchPrompt: Boolean + showBreadcrumbs: Boolean + showDOI: Boolean + showHeroImage: Boolean + showSharingLink: Boolean + showSplitDisplay: Boolean + showThumbnailImage: Boolean """ - This layout will only ever have one template, so it can be fetched directly without needing the union. + Slot definitions for this template. """ - template: ListItemTemplateDefinition + slots: HeroTemplateDefinitionSlots! """ - The ordered template definitions available for this layout. + The encoded slug for this record. """ - templates: [AnyListItemTemplateDefinition!]! + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Slot definitions for the associated template. + +""" +type HeroTemplateDefinitionSlots { + bigSearchPrompt: TemplateSlotInlineDefinition + callToAction: TemplateSlotBlockDefinition + descendantSearchPrompt: TemplateSlotInlineDefinition + header: TemplateSlotInlineDefinition + headerAside: TemplateSlotInlineDefinition + headerParent: TemplateSlotInlineDefinition + headerSidebar: TemplateSlotBlockDefinition + headerSubtitle: TemplateSlotInlineDefinition + headerSummary: TemplateSlotBlockDefinition + metadata: TemplateSlotInlineDefinition + sidebar: TemplateSlotBlockDefinition + subheader: TemplateSlotInlineDefinition + subheaderAside: TemplateSlotInlineDefinition + subheaderSubtitle: TemplateSlotInlineDefinition + subheaderSummary: TemplateSlotBlockDefinition + summary: TemplateSlotBlockDefinition } -type ListItemLayoutInstance implements LayoutInstance & Node & Renderable & Sluggable { +type HeroTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance { """ - Whether all templates in this instance are hidden. + Whether all slots in this template are empty. """ - allHidden: Boolean! + allSlotsEmpty: Boolean! """ - Whether all slots in all template instances in this layout are empty. + Whether the current user has permission to destroy this record. """ - allSlotsEmpty: Boolean! + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - The associated entity for this layout instance. + Load the associated definition for this template. + + """ + definition: HeroTemplateDefinition! + """ + The associated entity for this template instance. """ entity: Entity! + """ + Whether this template instance should be hidden based on some logic. + + At present, this only occurs if certain slots are empty. + + """ + hidden: Boolean! id: ID! """ The time this object was last rendered. """ lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! """ - The layout definition for this type. + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. """ - layoutDefinition: ListItemLayoutDefinition! - layoutKind: LayoutKind! - slug: Slug! + nextSiblings: [TemplateInstanceSibling!]! """ - This layout will only ever have one template, so it can be fetched directly without needing the union. + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. """ - template: ListItemTemplateInstance + prevSiblings: [TemplateInstanceSibling!]! """ - The ordered template instances available for this layout. + Rendered slots for this template. """ - templates: [AnyListItemTemplateInstance!]! + slots: HeroTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ -An enum used to control the mode of selection for a list item template's associated records (if applicable). +Rendered slots for the associated template. """ -enum ListItemSelectionMode { - DYNAMIC - MANUAL - NAMED - PROPERTY +type HeroTemplateInstanceSlots { + bigSearchPrompt: TemplateSlotInlineInstance + callToAction: TemplateSlotBlockInstance + descendantSearchPrompt: TemplateSlotInlineInstance + header: TemplateSlotInlineInstance + headerAside: TemplateSlotInlineInstance + headerParent: TemplateSlotInlineInstance + headerSidebar: TemplateSlotBlockInstance + headerSubtitle: TemplateSlotInlineInstance + headerSummary: TemplateSlotBlockInstance + metadata: TemplateSlotInlineInstance + sidebar: TemplateSlotBlockInstance + subheader: TemplateSlotInlineInstance + subheaderAside: TemplateSlotInlineInstance + subheaderSubtitle: TemplateSlotInlineInstance + subheaderSummary: TemplateSlotBlockInstance + summary: TemplateSlotBlockInstance } -type ListItemTemplateDefinition implements Node & Sluggable & TemplateDefinition { - createdAt: ISO8601DateTime! +""" +A ranking of a schema from a certain point in the hierarchy. This can be used to generate +navigation or calculate statistics about what various entities contain. + +""" +type HierarchicalSchemaRank implements DescribesSchema & Node { """ - When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure - as schemas to define a dynamic ordering that is resolved at runtime and based - on the `selectionSource`. - + The number of entities that implement this schema from this point in the hierarchy. """ - dynamicOrderingDefinition: OrderingDefinition - id: ID! - layoutKind: LayoutKind! + count: Int! """ - When `selectionMode` is set to `MANUAL`, the purpose of this property - is to specify a name under which all the manual selections (per entity) - will be stored. This allows a layout to have multiple templates of the - same type using different lists, that will persist across rearrangements - of the layout _without_ losing connections between entities. + The full declaration for this schema, including namespace, identifier, and version (if available). """ - manualListName: SchemaComponent + declaration: String! """ - This can be set to specify the named ordering on the `selectionSource` - that should be used to populate the associated entity list. - + A count of distinct versions of this specific schema type from this point of the hierarchy. """ - orderingIdentifier: SchemaComponent + distinctVersionCount: Int! + id: ID! """ - If provided, this will expose an ordering on the template instance that can - be used to generate a link to the ordering in the frontend. + A unique (per-namespace) value that names the schema within the system. """ - seeAllOrderingIdentifier: SchemaComponent + identifier: String! """ - The fallback mode to use when rendering a list of entities, when the list from - `selectionMode` is empty and `useSelectionFallback` has been set to true. + The kind of entity this schema applies to. """ - selectionFallbackMode: ListItemSelectionMode + kind: SchemaKind! """ - Regardless of `selectionMode`, this limit will be applied on whatever resulting - list of entities are produced, so that only up to that amount of entities are - rendered in the template proper. + A human-readable name for the schema. """ - selectionLimit: Int + name: String! """ - The default mode to use when rendering a list of entities. - - See also `selectionFallbackMode` and `useSelectionFallback`. + A unique namespace the schema lives in. """ - selectionMode: ListItemSelectionMode + namespace: String! """ - When `selectionMode` is set to `PROPERTY`, this should be set to the full path - for a given schema property on the associated `selectionSource` - + The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent. """ - selectionPropertyPath: SchemaPropertyPath + rank: Int! + """A reference to the discrete schema definition""" + schemaDefinition: SchemaDefinition! """ - When selecting entities based on `selectionMode`, this property determines - which entity (relevant to the rendering entity) should be used for lookups. - - By default, it is `self`, which means the rendering entity itself. - - It can also support things like `ancestor.journal`, `ancestor.issue`, etc., - in order to render a list of values in its parent. - + A fully-qualified unique value that can be used to refer to this schema within the system """ - selectionSource: TemplateSelectionSource + slug: String! + """A reference to the schema versions from this ranking""" + versionRanks: [HierarchicalSchemaVersionRank!]! +} + +""" +A ranking of a schema version from a certain point in the hierarchy. This can be used to generate +navigation or calculate statistics about what versions of a schema various entities contain. + +""" +type HierarchicalSchemaVersionRank implements DescribesSchema & Node { """ - The derived name of the ancestor used for the `selectionSource`. - - Exposed for introspection only. + The number of entities that implement this schema from this point in the hierarchy. + """ + count: Int! + """ + The full declaration for this schema, including namespace, identifier, and version (if available). """ - selectionSourceAncestorName: SchemaComponent + declaration: String! + id: ID! """ - An enum representing what mode `selectionSource` is in. Not directly set, - it is used internally for lookups. + A unique (per-namespace) value that names the schema within the system. """ - selectionSourceMode: SelectionSourceMode + identifier: String! """ - When true, this takes priority over `selectionLimit`. It allows an entire - matching list of records to be retrieved. It should be used with caution, - since very large entity trees could cause responses to be slow. + The kind of entity this schema applies to. """ - selectionUnbounded: Boolean + kind: SchemaKind! """ - Slot definitions for this template. + A human-readable name for the schema. """ - slots: ListItemTemplateDefinitionSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! + name: String! """ - Controls whether or not to use `selectionFallbackMode` if the entity list returned - via `selectionMode` turns out to be empty at runtime. + A unique namespace the schema lives in. """ - useSelectionFallback: Boolean + namespace: String! + """ + The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent. + """ + rank: Int! + """A reference to the discrete schema definition""" + schemaDefinition: SchemaDefinition! + """A reference to the discrete schema version""" + schemaVersion: SchemaVersion! + """ + A fully-qualified unique value that can be used to refer to this schema within the system + """ + slug: String! + """A semantic version associated with the schema""" + versionNumber: String! } -""" -Slot definitions for the associated template. +"""An ISO 8601-encoded date""" +scalar ISO8601Date + +"""An ISO 8601-encoded datetime""" +scalar ISO8601DateTime + +"""An ISO 8601-encoded duration""" +scalar ISO8601Duration """ -type ListItemTemplateDefinitionSlots { - contextA: TemplateSlotInlineDefinition - contextAbbr: TemplateSlotInlineDefinition - contextB: TemplateSlotInlineDefinition - contextC: TemplateSlotInlineDefinition - contextFull: TemplateSlotInlineDefinition - description: TemplateSlotBlockDefinition - header: TemplateSlotInlineDefinition - metaA: TemplateSlotInlineDefinition - metaB: TemplateSlotInlineDefinition - nestedContext: TemplateSlotInlineDefinition - nestedHeader: TemplateSlotInlineDefinition - nestedMetadata: TemplateSlotInlineDefinition - nestedSubheader: TemplateSlotInlineDefinition - subheader: TemplateSlotInlineDefinition -} +An interface for various component types of an image attachment +that allow it to be identified in name and purpose. -type ListItemTemplateInstance implements Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance { +""" +interface Image implements ImageIdentification { + """Alt text for accessible images""" + alt: String + """The MIME type of the image, if present""" + contentType: String + dimensions: [Int!] @deprecated(reason: "Use width and height directly.") + """The height of the image, if present""" + height: Int """ - Whether all slots in this template are empty. + The original filename, if one was detected during attachment. - """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! - """ - Load the associated definition for this template. + Filename detection is not always consistent across browsers, so this + may not always be present, even with a valid attachment. """ - definition: ListItemTemplateDefinition! + originalFilename: String """ - The associated entity for this template instance. + The intended purpose of this image attachment. This is intended to + help fragments that operate solely on image subcomponents to have + some context for what they are without extra work. """ - entity: Entity! + purpose: ImagePurpose! """ - The list of entities to render as part of this template's content. + This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. """ - entityList: TemplateEntityList! + storage: AttachmentStorage + """The URL for the image, if present.""" + url: String + """The width of the image, if present""" + width: Int +} + +"""An attached image with standardized derivatives.""" +type ImageAttachment implements HasAttachmentStorage & ImageIdentification { + """Alt text for accessible images""" + alt: String + """A hero-sized mapping for derivative formats""" + hero: ImageSize! + """A large-sized mapping for derivative formats""" + large: ImageSize! + """A medium-sized mapping for derivative formats""" + medium: ImageSize! + """Configurable metadata for the image.""" + metadata: ImageMetadata + """The original source for the image""" + original: ImageOriginal! """ - Whether this template instance should be hidden based on some logic. + The original filename, if one was detected during attachment. - At present, this only occurs if certain slots are empty. + Filename detection is not always consistent across browsers, so this + may not always be present, even with a valid attachment. """ - hidden: Boolean! - id: ID! + originalFilename: String """ - The time this object was last rendered. + The intended purpose of this image attachment. This is intended to + help fragments that operate solely on image subcomponents to have + some context for what they are without extra work. """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! + purpose: ImagePurpose! + """A small-sized mapping for derivative formats""" + small: ImageSize! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. """ - nextSiblings: [TemplateInstanceSibling!]! + storage: AttachmentStorage + """A thumb-sized mapping for derivative formats""" + thumb: ImageSize! +} + +"""A derivative of the image with a specific size and format.""" +type ImageDerivative implements Image & ImageIdentification { + """Alt text for accessible images""" + alt: String + """The MIME type of the image, if present""" + contentType: String + dimensions: [Int!] @deprecated(reason: "Use width and height directly.") + """The format of this derivative""" + format: ImageDerivativeFormat! + """The height of the image, if present""" + height: Int + """The maximum height this size can occupy""" + maxHeight: Int + """The maximum width this size can occupy""" + maxWidth: Int """ - Return all preceding siblings to the current template in order of proximity. + The original filename, if one was detected during attachment. - If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + Filename detection is not always consistent across browsers, so this + may not always be present, even with a valid attachment. """ - prevSiblings: [TemplateInstanceSibling!]! + originalFilename: String """ - The ordering to render for a "see all" link. + The intended purpose of this image attachment. This is intended to + help fragments that operate solely on image subcomponents to have + some context for what they are without extra work. """ - seeAllOrdering: Ordering + purpose: ImagePurpose! + """The size of this derivative""" + size: ImageDerivativeSize! """ - Rendered slots for this template. + This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. """ - slots: ListItemTemplateInstanceSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Rendered slots for the associated template. + storage: AttachmentStorage + """The URL for the image, if present.""" + url: String + """The width of the image, if present""" + width: Int +} -""" -type ListItemTemplateInstanceSlots { - contextA: TemplateSlotInlineInstance - contextAbbr: TemplateSlotInlineInstance - contextB: TemplateSlotInlineInstance - contextC: TemplateSlotInlineInstance - contextFull: TemplateSlotInlineInstance - description: TemplateSlotBlockInstance - header: TemplateSlotInlineInstance - metaA: TemplateSlotInlineInstance - metaB: TemplateSlotInlineInstance - nestedContext: TemplateSlotInlineInstance - nestedHeader: TemplateSlotInlineInstance - nestedMetadata: TemplateSlotInlineInstance - nestedSubheader: TemplateSlotInlineInstance - subheader: TemplateSlotInlineInstance +"""The format of a specific image derivative.""" +enum ImageDerivativeFormat { + """ + A Portable Network Graphics-formatted file, for legacy support on most all browsers. + + """ + PNG + """ + A more efficiently compressed image supported by most browsers worldwide. + + """ + WEBP } -type MainLayoutDefinition implements LayoutDefinition & Node & Sluggable { - createdAt: ISO8601DateTime! - id: ID! - layoutKind: LayoutKind! - slug: Slug! +"""The size of a specific image derivative.""" +enum ImageDerivativeSize { + """A hero-sized image, constrained to 2880px wide with no height limit.""" + HERO + """A large-sized image, constrained to 750px wide by 750px high.""" + LARGE + """A medium-sized image, constrained to 500px wide by 500px high.""" + MEDIUM """ - The ordered template definitions available for this layout. + A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit. + """ + SANS_TEXT + """A small-sized image, constrained to 250px wide by 250px high.""" + SMALL + """A thumb-sized image, constrained to 100px wide by 100px high.""" + THUMB + """ + A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high. + """ + WITH_TEXT +} + +""" +An interface for various component types of an image attachment +that allow it to be identified in name and purpose. + +""" +interface ImageIdentification { + """ + The original filename, if one was detected during attachment. + + Filename detection is not always consistent across browsers, so this + may not always be present, even with a valid attachment. """ - templates: [AnyMainTemplateDefinition!]! - updatedAt: ISO8601DateTime! + originalFilename: String + """ + The intended purpose of this image attachment. This is intended to + help fragments that operate solely on image subcomponents to have + some context for what they are without extra work. + + """ + purpose: ImagePurpose! +} + +"""Shared metadata for image attachments""" +type ImageMetadata { + """Alt text for accessible images""" + alt: String +} + +"""Shared metadata for updating image attachments""" +input ImageMetadataInput { + """Alt text for accessible images""" + alt: String } -type MainLayoutInstance implements LayoutInstance & Node & Renderable & Sluggable { +""" +The original source for the image. While derivatives are processing, it could be useful +for a temporary preview in the admin section, or for troubleshooting. + +As this is the raw image, it is not optimized for display in the frontend and is best +used only as a fallback. + +""" +type ImageOriginal implements HasAttachmentStorage & Image & ImageIdentification { + """Alt text for accessible images""" + alt: String + """The MIME type of the image, if present""" + contentType: String + dimensions: [Int!] @deprecated(reason: "Use width and height directly.") + """The height of the image, if present""" + height: Int """ - Whether all templates in this instance are hidden. + The original filename, if one was detected during attachment. + + Filename detection is not always consistent across browsers, so this + may not always be present, even with a valid attachment. """ - allHidden: Boolean! + originalFilename: String """ - Whether all slots in all template instances in this layout are empty. + The intended purpose of this image attachment. This is intended to + help fragments that operate solely on image subcomponents to have + some context for what they are without extra work. """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! + purpose: ImagePurpose! """ - The associated entity for this layout instance. + This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. """ - entity: Entity! - id: ID! + storage: AttachmentStorage + """The URL for the image, if present.""" + url: String + """The width of the image, if present""" + width: Int +} + +""" +Image attachments on entities fulfill different purposes. This can +be used to distinguish them at the `ImageAttachment` level. + +""" +enum ImagePurpose { + """A hero image.""" + HERO_IMAGE + """A logo (on a Community).""" + LOGO + """A fallback for otherwise-unspecified images.""" + OTHER + """The logo for the site.""" + SITE_LOGO + """A thumbnail that appears next to the entity in lists, grids, etc.""" + THUMBNAIL +} + +""" +This describes a specific derivative style +for an attachment, e.g. small, medium, thumb. + +It is further broken down into the various formats +the WDP generates, presently WEBP and PNG. + +""" +type ImageSize implements ImageIdentification { + """Alt text for accessible images""" + alt: String + """The (maximum) height for this size.""" + height: Int """ - The time this object was last rendered. + The original filename, if one was detected during attachment. + + Filename detection is not always consistent across browsers, so this + may not always be present, even with a valid attachment. """ - lastRenderedAt: ISO8601DateTime + originalFilename: String + """A png-formatted image derivative for this particular size.""" + png: ImageDerivative! """ - The layout definition for this type. + The intended purpose of this image attachment. This is intended to + help fragments that operate solely on image subcomponents to have + some context for what they are without extra work. """ - layoutDefinition: MainLayoutDefinition! - layoutKind: LayoutKind! - slug: Slug! + purpose: ImagePurpose! + size: ImageDerivativeSize! + """A webp-formatted image derivative for this particular size.""" + webp: ImageDerivative! + """The (maximum) width for this size.""" + width: Int +} + +""" +Require that the `path` must include or be one of the strings provided in `value`. + +The actual value of `path` may be an array (multiselect) or string (select). + +""" +input InAnyOperatorInput { + path: String! + value: [String!]! +} + +""" +Configuration settings for the specific institution featured on this installation. + +""" +type InstitutionSettings { """ - The ordered template instances available for this layout. + The name of the institution. """ - templates: [AnyMainTemplateInstance!]! - updatedAt: ISO8601DateTime! + name: String! } -type MarkdownProperty implements ScalarProperty & SchemaProperty & SearchableProperty { +""" +An object for updating the site's configuration. + +""" +input InstitutionSettingsInput { + """ + The name of the institution. + + """ + name: String +} + +type IntegerProperty implements ScalarProperty & SchemaProperty & SearchableProperty { """ Provided for introspection. This describes whether or not the property's value comes in an array rather than representing a discrete piece of information. @@ -12814,8 +14026,7 @@ type MarkdownProperty implements ScalarProperty & SchemaProperty & SearchablePro """ array: Boolean! - content: String - default: String + defaultInteger: Int description: String """ The full path that represents the property on the schema instance. It is guaranteed @@ -12830,6 +14041,12 @@ type MarkdownProperty implements ScalarProperty & SchemaProperty & SearchablePro """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + integerValue: Int + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -12868,6 +14085,11 @@ type MarkdownProperty implements ScalarProperty & SchemaProperty & SearchablePro searchOperators: [SearchOperator!]! searchPath: String! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -12880,1101 +14102,6924 @@ type MarkdownProperty implements ScalarProperty & SchemaProperty & SearchablePro type: SchemaPropertyType! } -""" -Use full-text search on `path` to match `value`. - -As with top-level query searches, basic quoting and similar features are supported. See -[websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for -more information. - -""" -input MatchesOperatorInput { - path: String! - value: String! -} - -""" -An enumerated value associated with the templating subsystem. - -""" -enum MetadataBackground { - """ - A dark gradient is applied to the background of this template. - - """ - DARK - """ - A light gradient is applied to the background of this template. - +"""An item that belongs to a collection""" +type Item implements Accessible & Attachable & Attributable & ChildEntity & CommonModel & CommonPermissions & Contributable & Entity & EntityBase & EntityContextualPermissions & EntityPermissions & ExposesPermissions & HasDOI & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & ReferencesEntityVisibility & ReferencesGlobalEntityDates & SchemaInstance & Searchable & Sluggable & Submittable { + accessGrants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + subject: AccessGrantSubjectFilter = ALL + ): AnyCollectionAccessGrantConnection! + """A polymorphic connection for access grants from an entity""" + allAccessGrants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + subject: AccessGrantSubjectFilter = ALL + ): AnyAccessGrantConnection! """ - LIGHT + A list of allowed actions for the given user on this entity (and its descendants). """ - No background is applied to this template. + allowedActions: [String!]! + """ + Directly fetch a defined named ancestor by its name. It can be null, + either because an invalid name was provided, the schema hierarchy is + incomplete, or the association itself is optional. """ - NONE -} - -type MetadataLayoutDefinition implements LayoutDefinition & Node & Sluggable { - createdAt: ISO8601DateTime! - id: ID! - layoutKind: LayoutKind! - slug: Slug! + ancestorByName( + """The name of the ancestor to fetch""" + name: String! + ): Entity """ - This layout will only ever have one template, so it can be fetched directly without needing the union. + Look up an ancestor for this entity that implements a specific type. It ascends from this entity, + so it will first check the parent, then the grandparent, and so on. """ - template: MetadataTemplateDefinition + ancestorOfType( + """A fully-qualified name of a schema to look for.""" + schema: String! + ): Entity + """Look up an announcement for this entity by slug""" + announcement(slug: Slug!): Announcement """ - The ordered template definitions available for this layout. + A list of announcements associated with this entity. """ - templates: [AnyMetadataTemplateDefinition!]! - updatedAt: ISO8601DateTime! -} - -type MetadataLayoutInstance implements LayoutInstance & Node & Renderable & Sluggable { + announcements( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: AnnouncementOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): AnnouncementConnection! + """The role(s) that gave the permissions to access this resource, if any.""" + applicableRoles: [Role!]! + assetDownloads( + """ + An optional date filter to apply. + + """ + dateFilter: DateFilterInput = {} + """ + The precision to apply. + + """ + precision: AnalyticsPrecision = DAY + """ + Optionally filter by specific subjects. + + Presently this is just assets, but it may expand in the future. + + """ + subjectIds: [ID!] = [] + ): AnalyticsEventCountSummary! + assetDownloadsByRegion( + """ + An optional date filter to apply. + + """ + dateFilter: DateFilterInput = {} + """ + Optionally filter by specific subjects. + + Presently this is just assets, but it may expand in the future. + + """ + subjectIds: [ID!] = [] + """ + Filter by country_code = "US" only. + + """ + usOnly: Boolean = false + ): AnalyticsRegionCountSummary! + """Assets owned by this entity""" + assets( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + kind: AssetKindFilter = ALL + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): AssetConnection! """ - Whether all templates in this instance are hidden. - + The role(s) that the current user could assign to other users on this entity, if applicable. """ - allHidden: Boolean! + assignableRoles: [Role!]! + """Retrieve a list of user & role assignments for this entity""" + assignedUsers( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: ContextualPermissionOrder = USER_NAME_ASC + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ContextualPermissionConnection! + """Attributions for the item.""" + attributions: [ItemAttribution!]! """ - Whether all slots in all template instances in this layout are empty. + Expose all available entities for this schema property. """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! + availableEntitiesFor( + """ + The full path to the schema property. Please note, paths are snake_case, not camelCase. + + """ + fullPath: String! + ): [EntitySelectOption!]! + """Previous entries in the hierarchy""" + breadcrumbs: [EntityBreadcrumb!]! """ - The associated entity for this layout instance. + Whether the current user has permission to alter the schema version of this entity. + + Submission drafts will be denied, even if the user would otherwise have permission. """ - entity: Entity! - id: ID! + canAlterSchemaVersion: AuthorizationResult! """ - The time this object was last rendered. + Whether the current user has permission to create assets under this entity. """ - lastRenderedAt: ISO8601DateTime + canCreateAssets: AuthorizationResult! """ - The layout definition for this type. + Whether the current user has permission to create collections under this entity. """ - layoutDefinition: MetadataLayoutDefinition! - layoutKind: LayoutKind! - slug: Slug! + canCreateCollections: AuthorizationResult! """ - This layout will only ever have one template, so it can be fetched directly without needing the union. + Whether the current user has permission to create items under this entity. """ - template: MetadataTemplateInstance + canCreateItems: AuthorizationResult! """ - The ordered template instances available for this layout. + Whether the current user has permission to deposit a new entity into this one. """ - templates: [AnyMetadataTemplateInstance!]! - updatedAt: ISO8601DateTime! -} - -type MetadataTemplateDefinition implements Node & Sluggable & TemplateDefinition { + canDeposit: AuthorizationResult! """ - The background gradient to use for this template. Affects presentation. + Whether the current user has permission to destroy this record. """ - background: MetadataBackground - createdAt: ISO8601DateTime! - id: ID! - layoutKind: LayoutKind! + canDestroy: AuthorizationResult! """ - Slot definitions for this template. + Whether the current user has permission to manage access to this entity. + + This opens up `grantAccess` and `revokeAccess` mutations. """ - slots: MetadataTemplateDefinitionSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Slot definitions for the associated template. - -""" -type MetadataTemplateDefinitionSlots { - header: TemplateSlotInlineDefinition - itemsA: TemplateSlotBlockDefinition - itemsB: TemplateSlotBlockDefinition - itemsC: TemplateSlotBlockDefinition - itemsD: TemplateSlotBlockDefinition -} - -type MetadataTemplateInstance implements Node & Renderable & Sluggable & TemplateInstance { + canManageAccess: AuthorizationResult! """ - Whether all slots in this template are empty. + Whether the current user has permission to purge this entity. """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! + canPurge: AuthorizationResult! """ - Load the associated definition for this template. + Whether the current user has permission to reparent this entity. + + Submission drafts will be denied, even if the user would otherwise have permission. """ - definition: MetadataTemplateDefinition! + canReparent: AuthorizationResult! """ - The associated entity for this template instance. + Whether the current user has permission to revalidate this entity. """ - entity: Entity! + canRevalidate: AuthorizationResult! """ - Whether this template instance should be hidden based on some logic. - - At present, this only occurs if certain slots are empty. + Whether the current user has permission to review deposits to this entity. """ - hidden: Boolean! - id: ID! + canReview: AuthorizationResult! """ - The time this object was last rendered. + Whether the current user has permission to update this record. """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! + canUpdate: AuthorizationResult! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + The canonical permalink for this resource, if one is set. """ - nextSiblings: [TemplateInstanceSibling!]! + canonicalPermalink: Permalink + children( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + ): ItemConnection! @deprecated(reason: "Use Item.items") + collection: Collection! + community: Community! + """Look up contribution role configuration for this record.""" + contributionRoles: ContributionRoleConfiguration! + contributions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: ContributionOrder = TARGET_TITLE_ASCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ItemContributionConnection! + """Contributors to this element""" + contributors( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: ContributorFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + kind: ContributorFilterKind = ALL + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ContributorFilterInput!] = [] + order: ContributorOrder = NAME_ASCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """ + Search for contributors with names that start with the provided text. + + **Deprecated**: Use the `nameSearch` filter instead. + + """ + prefix: String + ): AnyContributorConnection! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + Whether the entity is _currently_ hidden, based on the server's time zone. """ - prevSiblings: [TemplateInstanceSibling!]! + currentlyHidden: Boolean! """ - Rendered slots for this template. + Whether the entity is _currently_ visible, based on the server's time zone. """ - slots: MetadataTemplateInstanceSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Rendered slots for the associated template. - -""" -type MetadataTemplateInstanceSlots { - header: TemplateSlotInlineInstance - itemsA: TemplateSlotBlockInstance - itemsB: TemplateSlotBlockInstance - itemsC: TemplateSlotBlockInstance - itemsD: TemplateSlotBlockInstance -} - -type MultiselectProperty implements OptionableProperty & ScalarProperty & SchemaProperty & SearchableProperty { + currentlyVisible: Boolean! """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. + All descendants of this entity, regardless of type. - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + Communities and collections can both contain collections and items. Items will only contain items. """ - array: Boolean! - defaultSelections: [String!] - description: String + descendants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + maxDepth: Int + order: EntityDescendantOrder! = PUBLISHED_DESCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """Filter by a namespace.name schema identifier""" + schema: [String!] + scope: EntityDescendantScopeFilter = ALL + ): EntityDescendantConnection! """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + The Digital Object Identifier for this entity. See https://doi.org """ - fullPath: String! + doi: String """ - The purpose or intent of this property relative to its entity, parents, and others. + The data sanitized from `rawDOI`, including things like the URL and host. """ - function: SchemaPropertyFunction! + doiData: DOIData! + entityViews( + """ + An optional date filter to apply. + + """ + dateFilter: DateFilterInput = {} + """ + The precision to apply. + + """ + precision: AnalyticsPrecision = DAY + ): AnalyticsEventCountSummary! + entityViewsByRegion( + """ + An optional date filter to apply. + + """ + dateFilter: DateFilterInput = {} + """ + Filter by country_code = "US" only. + + """ + usOnly: Boolean = false + ): AnalyticsRegionCountSummary! + """Retrieve the first matching item beneath this item.""" + firstItem( + """Describe the depth of entities to retrieve""" + nodeFilter: SubtreeNodeFilter = CHILDREN + order: EntityOrder = PUBLISHED_DESCENDING + """Filter by a namespace.name schema identifier""" + schema: [String!] + ): Item """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have + no effect on this record. """ - isWide: Boolean! + harvestModificationStatus: HarvestModificationStatus! """ - Provided for introspection. This describes the underlying structure of the data type. + The harvest record(s) associated with the entity, with most recent harvest records sorted to the top. + + It is technically possible for multiple harvest records to have affected an entity. """ - kind: SchemaPropertyKind! - label: String! - """The list of predefined options available for this property.""" - options: [SelectOption!]! + harvestRecords: [HarvestRecord!]! + """Whether this item has any child items""" + hasItems: Boolean! """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + For use in the admin, something to signify that data has been set on `rawDOI` + that could not be properly assigned to `doi`. """ - orderable: Boolean! + hasWeirdDOI: Boolean! + """A hero image for the entity, suitable for displaying in page headers""" + heroImage: ImageAttachment! + """Configurable metadata for the hero_image attachment""" + heroImageMetadata: ImageMetadata """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + Whether the entity's visibility is set to `HIDDEN` """ - path: String! + hidden: Boolean! """ - Whether or not this property is required in order for the schema instance - to be considered valid. - - Note: invalid data provided to a schema property will still invalidate - the instance as a whole—the required trait only determines whether a value - **must** be set. + Specify a time to check to see if the entity will be hidden. """ - required: Boolean! - searchOperators: [SearchOperator!]! - searchPath: String! - selections: [String!] + hiddenAsOf( + """ + If no value is provided, it will default to the current time. + + """ + time: ISO8601DateTime + ): Boolean! + """If present, this is the timestamp the entity was hidden at""" + hiddenAt: ISO8601DateTime """ - Provided for introspection. This represents the actual data type this property - uses. - - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. + The depth of the hierarchical entity, taking into account any parent types. """ - type: SchemaPropertyType! -} - -""" -The entry point for making changes to the data within the WDP API. - -""" -type Mutation { - """Change a schema version for an entity.""" - alterSchemaVersion( - """Parameters for AlterSchemaVersion""" - input: AlterSchemaVersionInput! - ): AlterSchemaVersionPayload - applySchemaProperties( - """Parameters for ApplySchemaProperties""" - input: ApplySchemaPropertiesInput! - ): ApplySchemaPropertiesPayload - """ - Destroy a single `ControlledVocabulary` record. - - """ - controlledVocabularyDestroy( - """Parameters for ControlledVocabularyDestroy""" - input: ControlledVocabularyDestroyInput! - ): ControlledVocabularyDestroyPayload + hierarchicalDepth: Int! + id: ID! """ - Update a single `ControlledVocabularySource`'s provider. - + A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers. """ - controlledVocabularySourceUpdate( - """Parameters for ControlledVocabularySourceUpdate""" - input: ControlledVocabularySourceUpdateInput! - ): ControlledVocabularySourceUpdatePayload + identifier: String! + """Retrieve the items beneath this item""" + items( + access: EntityPermissionFilter = SKIP + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: ItemFilterInput = {includeDrafts: false} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """Describe the depth of entities to retrieve""" + nodeFilter: SubtreeNodeFilter = CHILDREN + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ItemFilterInput!] = [] + order: EntityOrder = PUBLISHED_DESCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """Filter by a namespace.name schema identifier""" + schema: [String!] + ): ItemConnection! """ - Upsert a controlled vocabulary based on definition. + Access layouts for this entity. """ - controlledVocabularyUpsert( - """Parameters for ControlledVocabularyUpsert""" - input: ControlledVocabularyUpsertInput! - ): ControlledVocabularyUpsertPayload + layouts: EntityLayouts! + leaf: Boolean! """ - Create an announcement on an entity. + Available link targets for this entity. """ - createAnnouncement( - """Parameters for CreateAnnouncement""" - input: CreateAnnouncementInput! - ): CreateAnnouncementPayload + linkTargetCandidates( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + kind: LinkTargetCandidateFilter = ALL + """Returns the last _n_ elements from the list.""" + last: Int + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + title: String = "" + ): LinkTargetCandidateConnection! """ - Associate an uploaded asset (already present in the Tus cache store) with an entity. + Links from this entity to other entities, along with metadata about those links. """ - createAsset( - """Parameters for CreateAsset""" - input: CreateAssetInput! - ): CreateAssetPayload - createCollection( - """Parameters for CreateCollection""" - input: CreateCollectionInput! - ): CreateCollectionPayload - """Create a community""" - createCommunity( - """Parameters for CreateCommunity""" - input: CreateCommunityInput! - ): CreateCommunityPayload - """Create an item""" - createItem( - """Parameters for CreateItem""" - input: CreateItemInput! - ): CreateItemPayload - """Create an ordering for an entity""" - createOrdering( - """Parameters for CreateOrdering""" - input: CreateOrderingInput! - ): CreateOrderingPayload - """Create an organization contributor""" - createOrganizationContributor( - """Parameters for CreateOrganizationContributor""" - input: CreateOrganizationContributorInput! - ): CreateOrganizationContributorPayload + links( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): EntityLinkConnection! """ - Create a page on an entity. + Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. """ - createPage( - """Parameters for CreatePage""" - input: CreatePageInput! - ): CreatePagePayload - """Create a contributor""" - createPersonContributor( - """Parameters for CreatePersonContributor""" - input: CreatePersonContributorInput! - ): CreatePersonContributorPayload + markedForPurge: Boolean! """ - Create a global role, with a set of permissions, that can be used to grant access to various parts of the hierarchy - in a granular fashion. + Fetch a list of named ancestors for this entity. This list is deterministically sorted + to retrieve the "closest" ancestors first, ascending upwards in the hierarchy from there. - """ - createRole( - """Parameters for CreateRole""" - input: CreateRoleInput! - ): CreateRolePayload - """ - Destroy a announcement by ID. + **Note**: Like breadcrumbs, this association is intentionally not paginated for ease of use, + because in practice a schema should not have many associations. """ - destroyAnnouncement( - """Parameters for DestroyAnnouncement""" - input: DestroyAnnouncementInput! - ): DestroyAnnouncementPayload + namedAncestors: [NamedAncestor!]! + """Look up an ordering for this entity by identifier""" + ordering(identifier: String!): Ordering + """Look up an ordering that is set up to handle a specific schema.""" + orderingForSchema( + """This should be of the `namespace:identifier` format.""" + slug: Slug! + ): Ordering """ - Destroy an asset by ID. + A list of orderings associated with this entity. """ - destroyAsset( - """Parameters for DestroyAsset""" - input: DestroyAssetInput! - ): DestroyAssetPayload + orderings( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """Optionally filter orderings by whether they are enabled or disabled.""" + availability: OrderingAvailabilityFilter = ALL + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: OrderingOrder = DETERMINISTIC + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """Optionally filter orderings by whether they are visible or hidden.""" + visibility: OrderingVisibilityFilter = ALL + ): OrderingConnection! + """Look up a page for this entity by slug""" + page( + """ + **Note**: Unlike most other model types, a page's slug is just a string + as opposed to our custom `Slug` type. They are not designed to be + opaque, but instead be something human-readable that can appear in URIs. + + """ + slug: String! + ): Page """ - Destroy a collection by ID. + A list of pages associated with this entity. """ - destroyCollection( - """Parameters for DestroyCollection""" - input: DestroyCollectionInput! - ): DestroyCollectionPayload + pages( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): PageConnection! + parent: ItemParent """ - Destroy a community by ID. + All permalinks associated with this resource. """ - destroyCommunity( - """Parameters for DestroyCommunity""" - input: DestroyCommunityInput! - ): DestroyCommunityPayload + permalinks: [Permalink!]! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! + """The date this entity was published""" + published: VariablePrecisionDate! """ - Destroy a Contribution by ID. + The value that was set on the entity. It will be validated and sanitized + and be set on `doi` if possible. """ - destroyContribution( - """Parameters for DestroyContribution""" - input: DestroyContributionInput! - ): DestroyContributionPayload - """ - Destroy a contributor by ID. - - """ - destroyContributor( - """Parameters for DestroyContributor""" - input: DestroyContributorInput! - ): DestroyContributorPayload + rawDOI: String + """Retrieve linked items of the same schema type""" + relatedItems( + access: EntityPermissionFilter = SKIP + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: EntityOrder = PUBLISHED_DESCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ItemConnection! + root: Boolean! """ - Destroy an EntityLink by ID. + The schema definition that this entity conforms to. """ - destroyEntityLink( - """Parameters for DestroyEntityLink""" - input: DestroyEntityLinkInput! - ): DestroyEntityLinkPayload + schemaDefinition: SchemaDefinition! """ - Destroy an item by ID. + The context for our schema instance. Includes form values and necessary referents. """ - destroyItem( - """Parameters for DestroyItem""" - input: DestroyItemInput! - ): DestroyItemPayload + schemaInstanceContext: SchemaInstanceContext! """ - Destroy (or disable a schema-inherited) ordering. + A list of schema properties associated with this instance or version. """ - destroyOrdering( - """Parameters for DestroyOrdering""" - input: DestroyOrderingInput! - ): DestroyOrderingPayload + schemaProperties: [SchemaProperty!]! """ - Destroy a page by ID. + Read a single schema property by its full path. """ - destroyPage( - """Parameters for DestroyPage""" - input: DestroyPageInput! - ): DestroyPagePayload + schemaProperty( + """ + The full path to the schema property. Please note, paths are snake_case, not camelCase. + + """ + fullPath: String! + ): SchemaProperty """ - Purge an entity and **all** of its descendants. - - Depending on the entity, this can be very destructive and should be - used with caution. - - The deletion will be backgrounded, so there will be a delay between - calling this mutation and all the descendants actually being removed. + The hierarchical schema ranks for this entity, which compute the overall structure + of its descendants by schema definition. """ - entityPurge( - """Parameters for EntityPurge""" - input: EntityPurgeInput! - ): EntityPurgePayload + schemaRanks: [HierarchicalSchemaRank!]! """ - Revalidates the frontend cache for a given entity. + The schema version that this entity conforms to. """ - frontendCacheRevalidateEntity( - """Parameters for FrontendCacheRevalidateEntity""" - input: FrontendCacheRevalidateEntityInput! - ): FrontendCacheRevalidateEntityPayload + schemaVersion: SchemaVersion! + """Search from this level of the API using it as the origin""" + search( + """ + When searching from a scoped entity, sometimes you want to limit the depth of the search. + + `maxDepth: 1` will restrict to just the entity's direct children (or direct links). + + """ + maxDepth: Int + """ + Restrict the results by a certain level of visibility. This requires an authenticated user + for anything but `VISIBLE`: any other option will be silently discarded when anonymous. + + """ + visibility: EntityVisibilityFilter = VISIBLE + ): SearchScope! """ - Revalidates the frontend cache for the entire instance. + The encoded slug for this record. """ - frontendCacheRevalidateInstance( - """Parameters for FrontendCacheRevalidateInstance""" - input: FrontendCacheRevalidateInstanceInput! - ): FrontendCacheRevalidateInstancePayload - """Grant access to a specific hierarchical entity""" - grantAccess( - """Parameters for GrantAccess""" - input: GrantAccessInput! - ): GrantAccessPayload + slug: Slug! """ - Kick off a manual `HarvestAttempt` from a `HarvestMapping` + THe current submission status of this entity. Is it a draft, published, or unrelated? """ - harvestAttemptFromMapping( - """Parameters for HarvestAttemptFromMapping""" - input: HarvestAttemptFromMappingInput! - ): HarvestAttemptFromMappingPayload + submissionStatus: EntitySubmissionStatus! """ - Kick off a manual `HarvestAttempt` from a `HarvestSource` + The submission target that this entity can be submitted to, if any. """ - harvestAttemptFromSource( - """Parameters for HarvestAttemptFromSource""" - input: HarvestAttemptFromSourceInput! - ): HarvestAttemptFromSourcePayload + submissionTarget: SubmissionTarget """ - Prune harvested entities for a `HarvestAttempt` record. - - Note: the actual pruning will happen asynchronously in the background, and may take a while. + A human-readable subtitle for the entity. """ - harvestAttemptPruneEntities( - """Parameters for HarvestAttemptPruneEntities""" - input: HarvestAttemptPruneEntitiesInput! - ): HarvestAttemptPruneEntitiesPayload + subtitle: String """ - Create a single `HarvestMapping` record. + A description of the contents of the entity. """ - harvestMappingCreate( - """Parameters for HarvestMappingCreate""" - input: HarvestMappingCreateInput! - ): HarvestMappingCreatePayload + summary: String """ - Destroy a single `HarvestMapping` record. - + A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc. """ - harvestMappingDestroy( - """Parameters for HarvestMappingDestroy""" - input: HarvestMappingDestroyInput! - ): HarvestMappingDestroyPayload + thumbnail: ImageAttachment! + """Configurable metadata for the thumbnail attachment""" + thumbnailMetadata: ImageMetadata """ - Update a single `HarvestMapping` record. + A human-readable title for the entity. """ - harvestMappingUpdate( - """Parameters for HarvestMappingUpdate""" - input: HarvestMappingUpdateInput! - ): HarvestMappingUpdatePayload + title: String! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """Access grants for specific users""" + userAccessGrants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): UserCollectionAccessGrantConnection! + """Not presently used""" + userGroupAccessGrants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): UserGroupCollectionAccessGrantConnection! + """If an entity is available in the frontend""" + visibility: EntityVisibility! """ - Create a single `HarvestMetadataMapping` record. - - There is no `harvestMetadataMappingUpdate` mutation. You can replace an existing field/pattern pair with a new target entity, - or destroy ones that no longer apply. + Whether the entity's visibility is set to `VISIBLE`. """ - harvestMetadataMappingCreate( - """Parameters for HarvestMetadataMappingCreate""" - input: HarvestMetadataMappingCreateInput! - ): HarvestMetadataMappingCreatePayload + visible: Boolean! + """If present, this is the timestamp an entity is visible after""" + visibleAfterAt: ISO8601DateTime """ - Destroy a single `HarvestMetadataMapping` record. + Specify a time to check to see if the entity will be visible. """ - harvestMetadataMappingDestroy( - """Parameters for HarvestMetadataMappingDestroy""" - input: HarvestMetadataMappingDestroyInput! - ): HarvestMetadataMappingDestroyPayload + visibleAsOf( + """ + If no value is provided, it will default to the current time. + + """ + time: ISO8601DateTime + ): Boolean! + """If present, this is the timestamp an entity is visible until""" + visibleUntilAt: ISO8601DateTime +} + +""" +Attributions for items. + +""" +type ItemAttribution implements Attribution & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Create a single `HarvestSource` record. + Whether the current user has permission to destroy this record. """ - harvestSourceCreate( - """Parameters for HarvestSourceCreate""" - input: HarvestSourceCreateInput! - ): HarvestSourceCreatePayload + canDestroy: AuthorizationResult! """ - Destroy a single `HarvestSource` record. + Whether the current user has permission to update this record. """ - harvestSourceDestroy( - """Parameters for HarvestSourceDestroy""" - input: HarvestSourceDestroyInput! - ): HarvestSourceDestroyPayload + canUpdate: AuthorizationResult! + contributor: ContributorBase! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! """ - Prune harvested entities for a `HarvestSource` record. - - Note: the actual pruning will happen asynchronously in the background, and may take a while. + A priority-ordered list of the roles the associated contributor had. """ - harvestSourcePruneEntities( - """Parameters for HarvestSourcePruneEntities""" - input: HarvestSourcePruneEntitiesInput! - ): HarvestSourcePruneEntitiesPayload + roles: [ControlledVocabularyItem!]! """ - Update a single `HarvestSource` record. + The encoded slug for this record. """ - harvestSourceUpdate( - """Parameters for HarvestSourceUpdate""" - input: HarvestSourceUpdateInput! - ): HarvestSourceUpdatePayload - """Link two entities together""" - linkEntity( - """Parameters for LinkEntity""" - input: LinkEntityInput! - ): LinkEntityPayload + slug: Slug! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +"""The connection type for Item.""" +type ItemConnection implements Paginated { + """A list of edges.""" + edges: [ItemEdge!]! + """A list of nodes.""" + nodes: [Item!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""A contribution to an item""" +type ItemContribution implements CommonModel & CommonPermissions & Contribution & ContributionBase & HasDefaultTimestamps & Node & Sluggable { + """A potentially-overridden value from person contributors""" + affiliation: String """ - Create a single `Permalink` record. + Whether the current user has permission to destroy this record. """ - permalinkCreate( - """Parameters for PermalinkCreate""" - input: PermalinkCreateInput! - ): PermalinkCreatePayload + canDestroy: AuthorizationResult! """ - Destroy a single `Permalink` record. + Whether the current user has permission to update this record. """ - permalinkDestroy( - """Parameters for PermalinkDestroy""" - input: PermalinkDestroyInput! - ): PermalinkDestroyPayload + canUpdate: AuthorizationResult! + """The actual role""" + contributionRole: ControlledVocabularyItem! + contributor: Contributor! + contributorKind: ContributorKind! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """A potentially-overridden display name value for all contributor types""" + displayName: String! + id: ID! """ - Update a single `Permalink` record. + An optional sorting discriminator to decide which contribution ranks higher. + + Applies _after_ contribution role ranking. """ - permalinkUpdate( - """Parameters for PermalinkUpdate""" - input: PermalinkUpdateInput! - ): PermalinkUpdatePayload + innerPosition: Int + item: Item! + """A potentially-overridden value from organization contributors""" + location: String + metadata: ContributionMetadata! """ - Preview a slot for a given entity. + An optional sorting discriminator to decide which contribution ranks higher. + + Applies _before_ contribution role ranking, superseding everything else. """ - previewSlot( - """Parameters for PreviewSlot""" - input: PreviewSlotInput! - ): PreviewSlotPayload + outerPosition: Int + """An arbitrary text value describing the role the contributor had""" + role: String @deprecated(reason: "Use `roleLabel` instead.") + """An arbitrary text value describing the role the contributor had""" + roleLabel: String """ - Force the layouts to render for a given `Entity`. + The encoded slug for this record. """ - renderLayouts( - """Parameters for RenderLayouts""" - input: RenderLayoutsInput! - ): RenderLayoutsPayload + slug: Slug! + """A potentially-overridden value from person contributors""" + title: String + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +"""The connection type for ItemContribution.""" +type ItemContributionConnection implements Paginated { + """A list of edges.""" + edges: [ItemContributionEdge!]! + """A list of nodes.""" + nodes: [ItemContribution!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""An edge in a connection.""" +type ItemContributionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: ItemContribution! +} + +"""An edge in a connection.""" +type ItemEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: Item! +} + +""" +Filtering options for `Item` records. + +""" +input ItemFilterInput { """ - A polymorphic mutation to reassign an entity to another point in the hierarchy. + Filter the model's `created_at` with time constraints. - It performs validations to make sure that the parent entity can accept the child. + """ + createdAt: FilterMatchTimeInput + """ + Whether to include items that are in draft state (i.e. items that are associated with a submission). """ - reparentEntity( - """Parameters for ReparentEntity""" - input: ReparentEntityInput! - ): ReparentEntityPayload + includeDrafts: Boolean = false """ - Reset an ordering to "factory" settings. For schema-inherited orderings, - this will reload its definition from the schema definition. For custom - orderings, this will load minimal defaults. + Filter the model's `updated_at` with time constraints. """ - resetOrdering( - """Parameters for ResetOrdering""" - input: ResetOrderingInput! - ): ResetOrderingPayload - """Revoke access from a specific hierarchical entity""" - revokeAccess( - """Parameters for RevokeAccess""" - input: RevokeAccessInput! - ): RevokeAccessPayload + updatedAt: FilterMatchTimeInput +} + +union ItemParent = Collection | Item + +"""Represents untyped JSON""" +scalar JSON + +""" +Entities within the system have layouts associated with their schema, +that can eventually be overridden for more custom approaches. + +This interface defines the *definition* for one such layout, while any +given entity will also have its own LayoutInstance. + +""" +interface LayoutDefinition { + layoutKind: LayoutKind! +} + +""" +An interface describing an instance type that can be rendered for a given entity. + +""" +interface LayoutInstance implements Renderable { """ - Update an announcement by its ID. + Whether all templates in this instance are hidden. """ - updateAnnouncement( - """Parameters for UpdateAnnouncement""" - input: UpdateAnnouncementInput! - ): UpdateAnnouncementPayload + allHidden: Boolean! """ - Update an asset by ID. + Whether all slots in all template instances in this layout are empty. """ - updateAsset( - """Parameters for UpdateAsset""" - input: UpdateAssetInput! - ): UpdateAssetPayload + allSlotsEmpty: Boolean! """ - Update an asset's attachment by ID. + The associated entity for this layout instance. - This mutation is for updating **only** an asset's attachment, - as opposed to the rest of its attributes (handled in `updateAsset`). + """ + entity: Entity! + """ + The time this object was last rendered. """ - updateAssetAttachment( - """Parameters for UpdateAssetAttachment""" - input: UpdateAssetAttachmentInput! - ): UpdateAssetAttachmentPayload - """Update a collection""" - updateCollection( - """Parameters for UpdateCollection""" - input: UpdateCollectionInput! - ): UpdateCollectionPayload - """Update a community""" - updateCommunity( - """Parameters for UpdateCommunity""" - input: UpdateCommunityInput! - ): UpdateCommunityPayload + lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! +} + +""" +The various kinds of `Layout`s in the system. + +""" +enum LayoutKind { """ - Update a Contribution by ID. + The "hero" layout for an Entity. - **Note**: Neither the contribution role nor the contributor can be changed - by this mutation. Rather than deal with uniqueness violations, it's necessary - to delete the old contribution and create a new one with the correct role - or contributor. + """ + HERO + """ + A layout describing how an entity should look when it is being rendered. """ - updateContribution( - """Parameters for UpdateContribution""" - input: UpdateContributionInput! - ): UpdateContributionPayload + LIST_ITEM + """ + The "main" layout for the landing page of an entity. + + It is where most of the detail on an entity should go. + + """ + MAIN + """ + A layout for controlling how metadata should render. + + """ + METADATA + """ + A layout describing how an entity should be navigated. + + """ + NAVIGATION + """ + A shared layout for certain supplementary routes like contributors and metrics. + + """ + SUPPLEMENTARY +} + +"""Autogenerated input type of LinkEntity""" +input LinkEntityInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """The 'type' of link""" + operator: EntityLinkOperator! + """The ID for the source entity""" + sourceId: ID! + """The ID for the target entity""" + targetId: ID! +} + +"""Autogenerated return type of LinkEntity.""" +type LinkEntityPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """The created or updated link, if applicable""" + link: EntityLink +} + +""" +An enumerated value associated with the templating subsystem. + +""" +enum LinkListBackground { + """ + A dark gradient is applied to the background of this template. + + """ + DARK + """ + A light gradient is applied to the background of this template. + + """ + LIGHT + """ + No background is applied to this template. + + """ + NONE +} + +""" +An enum used to control the mode of selection for a link list template. + +""" +enum LinkListSelectionMode { + """ + Render links from a dynamic list, determined at query time. + + """ + DYNAMIC + """ + Render links from a manual list set on each individual entity. See `manualListName` for how this works. + + """ + MANUAL +} + +type LinkListTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { + """ + The background gradient to use for this template. Affects presentation. + + """ + background: LinkListBackground + """ + A boolean used to describe list templates that should match browse style as close as possible. + + """ + browseStyle: Boolean + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure + as schemas to define a dynamic ordering that is resolved at runtime and based + on the `selectionSource`. + + """ + dynamicOrderingDefinition: OrderingDefinition + """ + Enumerate how much context to show when listing entities. + + Replaces `showEntityContext`. + + """ + entityContext: ListEntityContext + id: ID! + layoutKind: LayoutKind! + """ + When `selectionMode` is set to `MANUAL`, the purpose of this property + is to specify a name under which all the manual selections (per entity) + will be stored. This allows a layout to have multiple templates of the + same type using different lists, that will persist across rearrangements + of the layout _without_ losing connections between entities. + + """ + manualListName: SchemaComponent + seeAllButtonLabel: String + """ + If provided, this will expose an ordering on the template instance that can + be used to generate a link to the ordering in the frontend. + + """ + seeAllOrderingIdentifier: SchemaComponent + """ + The fallback mode to use when rendering a list of entities, when the list from + `selectionMode` is empty and `useSelectionFallback` has been set to true. + + """ + selectionFallbackMode: LinkListSelectionMode + """ + Regardless of `selectionMode`, this limit will be applied on whatever resulting + list of entities are produced, so that only up to that amount of entities are + rendered in the template proper. + + """ + selectionLimit: Int + """ + The default mode to use when rendering a list of entities. + + See also `selectionFallbackMode` and `useSelectionFallback`. + + """ + selectionMode: LinkListSelectionMode + """ + When selecting entities based on `selectionMode`, this property determines + which entity (relevant to the rendering entity) should be used for lookups. + + By default, it is `self`, which means the rendering entity itself. + + It can also support things like `ancestor.journal`, `ancestor.issue`, etc., + in order to render a list of values in its parent. + + """ + selectionSource: TemplateSelectionSource + """ + The derived name of the ancestor used for the `selectionSource`. + + Exposed for introspection only. + + """ + selectionSourceAncestorName: SchemaComponent + """ + An enum representing what mode `selectionSource` is in. Not directly set, + it is used internally for lookups. + + """ + selectionSourceMode: SelectionSourceMode + """ + When true, this takes priority over `selectionLimit`. It allows an entire + matching list of records to be retrieved. It should be used with caution, + since very large entity trees could cause responses to be slow. + + """ + selectionUnbounded: Boolean + """ + Show contributors when listing entities. + + """ + showContributors: Boolean + """ + Show additional context about each entity in the selection. + + """ + showEntityContext: Boolean @deprecated(reason: "Use entity_context enum instead") + showHeroImage: Boolean + """ + Show nested items from the associated listItemLayouts in order to generate + a two-tier list. + + """ + showNestedEntities: Boolean + showSeeAllButton: Boolean @deprecated(reason: "Use seeAllOrdering on the instance instead.") + """ + Slot definitions for this template. + + """ + slots: LinkListTemplateDefinitionSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + title: String + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + Controls whether or not to use `selectionFallbackMode` if the entity list returned + via `selectionMode` turns out to be empty at runtime. + + """ + useSelectionFallback: Boolean + """ + The variant rendering mode to use for this template. Affects presentation. + + """ + variant: LinkListVariant + """ + This controls how wide the template should render. + + **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + template that also uses `HALF`. + + """ + width: TemplateWidth +} + +""" +Slot definitions for the associated template. + +""" +type LinkListTemplateDefinitionSlots { + blockHeader: TemplateSlotInlineDefinition + blockHeaderFallback: TemplateSlotInlineDefinition + header: TemplateSlotInlineDefinition + headerAside: TemplateSlotInlineDefinition + headerFallback: TemplateSlotInlineDefinition + listContext: TemplateSlotInlineDefinition + metadata: TemplateSlotInlineDefinition + subtitle: TemplateSlotInlineDefinition +} + +type LinkListTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance { + """ + Whether all slots in this template are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + Load the associated definition for this template. + + """ + definition: LinkListTemplateDefinition! + """ + The associated entity for this template instance. + + """ + entity: Entity! + """ + The list of entities to render as part of this template's content. + + """ + entityList: TemplateEntityList! + """ + Whether this template instance should be hidden based on some logic. + + At present, this only occurs if certain slots are empty. + + """ + hidden: Boolean! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + + """ + nextSiblings: [TemplateInstanceSibling!]! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + + """ + prevSiblings: [TemplateInstanceSibling!]! + """ + The ordering to render for a "see all" link. + + """ + seeAllOrdering: Ordering + """ + Rendered slots for this template. + + """ + slots: LinkListTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Rendered slots for the associated template. + +""" +type LinkListTemplateInstanceSlots { + blockHeader: TemplateSlotInlineInstance + blockHeaderFallback: TemplateSlotInlineInstance + header: TemplateSlotInlineInstance + headerAside: TemplateSlotInlineInstance + headerFallback: TemplateSlotInlineInstance + listContext: TemplateSlotInlineInstance + metadata: TemplateSlotInlineInstance + subtitle: TemplateSlotInlineInstance +} + +""" +An enum used to control how a link list template should be rendered. + +""" +enum LinkListVariant { + """ + A card list of entities. + + """ + CARDS + """ + A compact list of entities. + + """ + COMPACT + """ + A grid of entities + + """ + GRID + """ + A horizontal list of entities with promotional header. + + """ + PROMOS + """ + A vertical, summarized list of entities. + + """ + SUMMARY + """ + A tree structure. + + """ + TREE +} + +"""A candidate for a link target, scoped to a parent source""" +type LinkTargetCandidate implements Node { + createdAt: ISO8601DateTime! + """How deeply nested the candidate entity is""" + depth: Int! + id: ID! + kind: LinkTargetCandidateKind! + """The actual target""" + target: Entity! + """The targetID to provide to linkEntity""" + targetId: ID! + """The target entity's title""" + title: String! + updatedAt: ISO8601DateTime! +} + +"""The connection type for LinkTargetCandidate.""" +type LinkTargetCandidateConnection implements Paginated { + """A list of edges.""" + edges: [LinkTargetCandidateEdge!]! + """A list of nodes.""" + nodes: [LinkTargetCandidate!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""An edge in a connection.""" +type LinkTargetCandidateEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: LinkTargetCandidate! +} + +"""Filter the available candidates for a link target""" +enum LinkTargetCandidateFilter { + """Show all possible link target candidate types""" + ALL + """Limit to collection candidates""" + COLLECTION + """Limit to item candidates""" + ITEM +} + +"""The kind of link target candidate""" +enum LinkTargetCandidateKind { + COLLECTION + ITEM +} + +""" +An enum used to control how much context to show for listed entities in a template. + +""" +enum ListEntityContext { + """ + Show an abbreviated amount of context for listed entities. + + """ + ABBR + """ + Show the maximum amount of context for listed entities. + + """ + FULL + """ + Show the minimal / no amount of context for listed entities. + + """ + NONE +} + +type ListItemLayoutDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + This layout will only ever have one template, so it can be fetched directly without needing the union. + + """ + template: ListItemTemplateDefinition + """ + The ordered template definitions available for this layout. + + """ + templates: [AnyListItemTemplateDefinition!]! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +type ListItemLayoutInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable { + """ + Whether all templates in this instance are hidden. + + """ + allHidden: Boolean! + """ + Whether all slots in all template instances in this layout are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + The associated entity for this layout instance. + + """ + entity: Entity! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + """ + The layout definition for this type. + + """ + layoutDefinition: ListItemLayoutDefinition! + layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + This layout will only ever have one template, so it can be fetched directly without needing the union. + + """ + template: ListItemTemplateInstance + """ + The ordered template instances available for this layout. + + """ + templates: [AnyListItemTemplateInstance!]! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +An enum used to control the mode of selection for a list item template's associated records (if applicable). + +""" +enum ListItemSelectionMode { + DYNAMIC + MANUAL + NAMED + PROPERTY +} + +type ListItemTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure + as schemas to define a dynamic ordering that is resolved at runtime and based + on the `selectionSource`. + + """ + dynamicOrderingDefinition: OrderingDefinition + id: ID! + layoutKind: LayoutKind! + """ + When `selectionMode` is set to `MANUAL`, the purpose of this property + is to specify a name under which all the manual selections (per entity) + will be stored. This allows a layout to have multiple templates of the + same type using different lists, that will persist across rearrangements + of the layout _without_ losing connections between entities. + + """ + manualListName: SchemaComponent + """ + This can be set to specify the named ordering on the `selectionSource` + that should be used to populate the associated entity list. + + """ + orderingIdentifier: SchemaComponent + """ + If provided, this will expose an ordering on the template instance that can + be used to generate a link to the ordering in the frontend. + + """ + seeAllOrderingIdentifier: SchemaComponent + """ + The fallback mode to use when rendering a list of entities, when the list from + `selectionMode` is empty and `useSelectionFallback` has been set to true. + + """ + selectionFallbackMode: ListItemSelectionMode + """ + Regardless of `selectionMode`, this limit will be applied on whatever resulting + list of entities are produced, so that only up to that amount of entities are + rendered in the template proper. + + """ + selectionLimit: Int + """ + The default mode to use when rendering a list of entities. + + See also `selectionFallbackMode` and `useSelectionFallback`. + + """ + selectionMode: ListItemSelectionMode + """ + When `selectionMode` is set to `PROPERTY`, this should be set to the full path + for a given schema property on the associated `selectionSource` + + """ + selectionPropertyPath: SchemaPropertyPath + """ + When selecting entities based on `selectionMode`, this property determines + which entity (relevant to the rendering entity) should be used for lookups. + + By default, it is `self`, which means the rendering entity itself. + + It can also support things like `ancestor.journal`, `ancestor.issue`, etc., + in order to render a list of values in its parent. + + """ + selectionSource: TemplateSelectionSource + """ + The derived name of the ancestor used for the `selectionSource`. + + Exposed for introspection only. + + """ + selectionSourceAncestorName: SchemaComponent + """ + An enum representing what mode `selectionSource` is in. Not directly set, + it is used internally for lookups. + + """ + selectionSourceMode: SelectionSourceMode + """ + When true, this takes priority over `selectionLimit`. It allows an entire + matching list of records to be retrieved. It should be used with caution, + since very large entity trees could cause responses to be slow. + + """ + selectionUnbounded: Boolean + """ + Slot definitions for this template. + + """ + slots: ListItemTemplateDefinitionSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + Controls whether or not to use `selectionFallbackMode` if the entity list returned + via `selectionMode` turns out to be empty at runtime. + + """ + useSelectionFallback: Boolean +} + +""" +Slot definitions for the associated template. + +""" +type ListItemTemplateDefinitionSlots { + contextA: TemplateSlotInlineDefinition + contextAbbr: TemplateSlotInlineDefinition + contextB: TemplateSlotInlineDefinition + contextC: TemplateSlotInlineDefinition + contextFull: TemplateSlotInlineDefinition + description: TemplateSlotBlockDefinition + header: TemplateSlotInlineDefinition + metaA: TemplateSlotInlineDefinition + metaB: TemplateSlotInlineDefinition + nestedContext: TemplateSlotInlineDefinition + nestedHeader: TemplateSlotInlineDefinition + nestedMetadata: TemplateSlotInlineDefinition + nestedSubheader: TemplateSlotInlineDefinition + subheader: TemplateSlotInlineDefinition +} + +type ListItemTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance { + """ + Whether all slots in this template are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + Load the associated definition for this template. + + """ + definition: ListItemTemplateDefinition! + """ + The associated entity for this template instance. + + """ + entity: Entity! + """ + The list of entities to render as part of this template's content. + + """ + entityList: TemplateEntityList! + """ + Whether this template instance should be hidden based on some logic. + + At present, this only occurs if certain slots are empty. + + """ + hidden: Boolean! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + + """ + nextSiblings: [TemplateInstanceSibling!]! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + + """ + prevSiblings: [TemplateInstanceSibling!]! + """ + The ordering to render for a "see all" link. + + """ + seeAllOrdering: Ordering + """ + Rendered slots for this template. + + """ + slots: ListItemTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Rendered slots for the associated template. + +""" +type ListItemTemplateInstanceSlots { + contextA: TemplateSlotInlineInstance + contextAbbr: TemplateSlotInlineInstance + contextB: TemplateSlotInlineInstance + contextC: TemplateSlotInlineInstance + contextFull: TemplateSlotInlineInstance + description: TemplateSlotBlockInstance + header: TemplateSlotInlineInstance + metaA: TemplateSlotInlineInstance + metaB: TemplateSlotInlineInstance + nestedContext: TemplateSlotInlineInstance + nestedHeader: TemplateSlotInlineInstance + nestedMetadata: TemplateSlotInlineInstance + nestedSubheader: TemplateSlotInlineInstance + subheader: TemplateSlotInlineInstance +} + +type MainLayoutDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + The ordered template definitions available for this layout. + + """ + templates: [AnyMainTemplateDefinition!]! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +type MainLayoutInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable { + """ + Whether all templates in this instance are hidden. + + """ + allHidden: Boolean! + """ + Whether all slots in all template instances in this layout are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + The associated entity for this layout instance. + + """ + entity: Entity! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + """ + The layout definition for this type. + + """ + layoutDefinition: MainLayoutDefinition! + layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + The ordered template instances available for this layout. + + """ + templates: [AnyMainTemplateInstance!]! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +type MarkdownProperty implements ScalarProperty & SchemaProperty & SearchableProperty { + """ + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. + + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. + + """ + array: Boolean! + content: String + default: String + description: String + """ + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. + + """ + fullPath: String! + """ + The purpose or intent of this property relative to its entity, parents, and others. + + """ + function: SchemaPropertyFunction! + """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. + + """ + isWide: Boolean! + """ + Provided for introspection. This describes the underlying structure of the data type. + + """ + kind: SchemaPropertyKind! + label: String! + """ + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. + + """ + orderable: Boolean! + """ + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. + + """ + path: String! + """ + Whether or not this property is required in order for the schema instance + to be considered valid. + + Note: invalid data provided to a schema property will still invalidate + the instance as a whole—the required trait only determines whether a value + **must** be set. + + """ + required: Boolean! + searchOperators: [SearchOperator!]! + searchPath: String! + """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. + + """ + type: SchemaPropertyType! +} + +""" +Use full-text search on `path` to match `value`. + +As with top-level query searches, basic quoting and similar features are supported. See +[websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for +more information. + +""" +input MatchesOperatorInput { + path: String! + value: String! +} + +""" +An enumerated value associated with the templating subsystem. + +""" +enum MetadataBackground { + """ + A dark gradient is applied to the background of this template. + + """ + DARK + """ + A light gradient is applied to the background of this template. + + """ + LIGHT + """ + No background is applied to this template. + + """ + NONE +} + +type MetadataLayoutDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + This layout will only ever have one template, so it can be fetched directly without needing the union. + + """ + template: MetadataTemplateDefinition + """ + The ordered template definitions available for this layout. + + """ + templates: [AnyMetadataTemplateDefinition!]! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +type MetadataLayoutInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable { + """ + Whether all templates in this instance are hidden. + + """ + allHidden: Boolean! + """ + Whether all slots in all template instances in this layout are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + The associated entity for this layout instance. + + """ + entity: Entity! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + """ + The layout definition for this type. + + """ + layoutDefinition: MetadataLayoutDefinition! + layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + This layout will only ever have one template, so it can be fetched directly without needing the union. + + """ + template: MetadataTemplateInstance + """ + The ordered template instances available for this layout. + + """ + templates: [AnyMetadataTemplateInstance!]! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +type MetadataTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { + """ + The background gradient to use for this template. Affects presentation. + + """ + background: MetadataBackground + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + layoutKind: LayoutKind! + """ + Slot definitions for this template. + + """ + slots: MetadataTemplateDefinitionSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Slot definitions for the associated template. + +""" +type MetadataTemplateDefinitionSlots { + header: TemplateSlotInlineDefinition + itemsA: TemplateSlotBlockDefinition + itemsB: TemplateSlotBlockDefinition + itemsC: TemplateSlotBlockDefinition + itemsD: TemplateSlotBlockDefinition +} + +type MetadataTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance { + """ + Whether all slots in this template are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + Load the associated definition for this template. + + """ + definition: MetadataTemplateDefinition! + """ + The associated entity for this template instance. + + """ + entity: Entity! + """ + Whether this template instance should be hidden based on some logic. + + At present, this only occurs if certain slots are empty. + + """ + hidden: Boolean! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + + """ + nextSiblings: [TemplateInstanceSibling!]! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + + """ + prevSiblings: [TemplateInstanceSibling!]! + """ + Rendered slots for this template. + + """ + slots: MetadataTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Rendered slots for the associated template. + +""" +type MetadataTemplateInstanceSlots { + header: TemplateSlotInlineInstance + itemsA: TemplateSlotBlockInstance + itemsB: TemplateSlotBlockInstance + itemsC: TemplateSlotBlockInstance + itemsD: TemplateSlotBlockInstance +} + +type MultiselectProperty implements OptionableProperty & ScalarProperty & SchemaProperty & SearchableProperty { + """ + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. + + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. + + """ + array: Boolean! + defaultSelections: [String!] + description: String + """ + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. + + """ + fullPath: String! + """ + The purpose or intent of this property relative to its entity, parents, and others. + + """ + function: SchemaPropertyFunction! + """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. + + """ + isWide: Boolean! + """ + Provided for introspection. This describes the underlying structure of the data type. + + """ + kind: SchemaPropertyKind! + label: String! + """The list of predefined options available for this property.""" + options: [SelectOption!]! + """ + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. + + """ + orderable: Boolean! + """ + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. + + """ + path: String! + """ + Whether or not this property is required in order for the schema instance + to be considered valid. + + Note: invalid data provided to a schema property will still invalidate + the instance as a whole—the required trait only determines whether a value + **must** be set. + + """ + required: Boolean! + searchOperators: [SearchOperator!]! + searchPath: String! + selections: [String!] + """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. + + """ + type: SchemaPropertyType! +} + +""" +The entry point for making changes to the data within the Meru API. + +""" +type Mutation { + """Change a schema version for an entity.""" + alterSchemaVersion( + """Parameters for AlterSchemaVersion""" + input: AlterSchemaVersionInput! + ): AlterSchemaVersionPayload + applySchemaProperties( + """Parameters for ApplySchemaProperties""" + input: ApplySchemaPropertiesInput! + ): ApplySchemaPropertiesPayload + """ + A mutation to claim a contributor profile as the current user. + + This is intended to be used by depositors who have already had contributions harvested + and may have an existing `Contributor` record in the system. + + It relies upon the `canClaim` permission on the given `Contributor`, + and by proxy, whether or not `Contributor.claimed` is `false`. + + """ + contributorClaim( + """Parameters for ContributorClaim""" + input: ContributorClaimInput! + ): ContributorClaimPayload + """ + Merge two contributors. + + The actual merging will occur in the background after a delay, but the source + contributor will be marked as `MERGING` immediately. + + """ + contributorMerge( + """Parameters for ContributorMerge""" + input: ContributorMergeInput! + ): ContributorMergePayload + """ + Destroy a single `ContributorUserLink` record. + + """ + contributorUserLinkDestroy( + """Parameters for ContributorUserLinkDestroy""" + input: ContributorUserLinkDestroyInput! + ): ContributorUserLinkDestroyPayload + """ + Create or update a link between a `Contributor` and a `User`. + + It relies upon the `canLinkUser` permission on the given `Contributor`. + + """ + contributorUserLinkUpsert( + """Parameters for ContributorUserLinkUpsert""" + input: ContributorUserLinkUpsertInput! + ): ContributorUserLinkUpsertPayload + """ + Destroy a single `ControlledVocabulary` record. + + """ + controlledVocabularyDestroy( + """Parameters for ControlledVocabularyDestroy""" + input: ControlledVocabularyDestroyInput! + ): ControlledVocabularyDestroyPayload + """ + Update a single `ControlledVocabularySource`'s provider. + + """ + controlledVocabularySourceUpdate( + """Parameters for ControlledVocabularySourceUpdate""" + input: ControlledVocabularySourceUpdateInput! + ): ControlledVocabularySourceUpdatePayload + """ + Upsert a controlled vocabulary based on definition. + + """ + controlledVocabularyUpsert( + """Parameters for ControlledVocabularyUpsert""" + input: ControlledVocabularyUpsertInput! + ): ControlledVocabularyUpsertPayload + """ + Create an announcement on an entity. + + """ + createAnnouncement( + """Parameters for CreateAnnouncement""" + input: CreateAnnouncementInput! + ): CreateAnnouncementPayload + """ + Associate an uploaded asset (already present in the Tus cache store) with an entity. + + """ + createAsset( + """Parameters for CreateAsset""" + input: CreateAssetInput! + ): CreateAssetPayload + createCollection( + """Parameters for CreateCollection""" + input: CreateCollectionInput! + ): CreateCollectionPayload + """Create a community""" + createCommunity( + """Parameters for CreateCommunity""" + input: CreateCommunityInput! + ): CreateCommunityPayload + """Create an item""" + createItem( + """Parameters for CreateItem""" + input: CreateItemInput! + ): CreateItemPayload + """Create an ordering for an entity""" + createOrdering( + """Parameters for CreateOrdering""" + input: CreateOrderingInput! + ): CreateOrderingPayload + """Create an organization contributor""" + createOrganizationContributor( + """Parameters for CreateOrganizationContributor""" + input: CreateOrganizationContributorInput! + ): CreateOrganizationContributorPayload + """ + Create a page on an entity. + + """ + createPage( + """Parameters for CreatePage""" + input: CreatePageInput! + ): CreatePagePayload + """Create a contributor""" + createPersonContributor( + """Parameters for CreatePersonContributor""" + input: CreatePersonContributorInput! + ): CreatePersonContributorPayload + """ + Create a global role, with a set of permissions, that can be used to grant access to various parts of the hierarchy + in a granular fashion. + + """ + createRole( + """Parameters for CreateRole""" + input: CreateRoleInput! + ): CreateRolePayload + """ + Accept the depositor agreement for the given submission target. + + """ + depositorAgreementAccept( + """Parameters for DepositorAgreementAccept""" + input: DepositorAgreementAcceptInput! + ): DepositorAgreementAcceptPayload + """ + Reset a specific depositor agreement, forcing the associated depositor to re-accept the agreement before making any more deposits to the associated submission target. + + """ + depositorAgreementReset( + """Parameters for DepositorAgreementReset""" + input: DepositorAgreementResetInput! + ): DepositorAgreementResetPayload + """ + Force all depositors to re-accept the depositor agreement for a given submission target. + + """ + depositorAgreementResetAll( + """Parameters for DepositorAgreementResetAll""" + input: DepositorAgreementResetAllInput! + ): DepositorAgreementResetAllPayload + """ + Update the state for a `DepositorRequest` record. + + """ + depositorRequestChangeState( + """Parameters for DepositorRequestChangeState""" + input: DepositorRequestChangeStateInput! + ): DepositorRequestChangeStatePayload + """ + Create a single `DepositorRequest` record. + + """ + depositorRequestCreate( + """Parameters for DepositorRequestCreate""" + input: DepositorRequestCreateInput! + ): DepositorRequestCreatePayload + """ + Destroy a announcement by ID. + + """ + destroyAnnouncement( + """Parameters for DestroyAnnouncement""" + input: DestroyAnnouncementInput! + ): DestroyAnnouncementPayload + """ + Destroy an asset by ID. + + """ + destroyAsset( + """Parameters for DestroyAsset""" + input: DestroyAssetInput! + ): DestroyAssetPayload + """ + Destroy a collection by ID. + + """ + destroyCollection( + """Parameters for DestroyCollection""" + input: DestroyCollectionInput! + ): DestroyCollectionPayload + """ + Destroy a community by ID. + + """ + destroyCommunity( + """Parameters for DestroyCommunity""" + input: DestroyCommunityInput! + ): DestroyCommunityPayload + """ + Destroy a Contribution by ID. + + """ + destroyContribution( + """Parameters for DestroyContribution""" + input: DestroyContributionInput! + ): DestroyContributionPayload + """ + Destroy a contributor by ID. + + """ + destroyContributor( + """Parameters for DestroyContributor""" + input: DestroyContributorInput! + ): DestroyContributorPayload + """ + Destroy an EntityLink by ID. + + """ + destroyEntityLink( + """Parameters for DestroyEntityLink""" + input: DestroyEntityLinkInput! + ): DestroyEntityLinkPayload + """ + Destroy an item by ID. + + """ + destroyItem( + """Parameters for DestroyItem""" + input: DestroyItemInput! + ): DestroyItemPayload + """ + Destroy (or disable a schema-inherited) ordering. + + """ + destroyOrdering( + """Parameters for DestroyOrdering""" + input: DestroyOrderingInput! + ): DestroyOrderingPayload + """ + Destroy a page by ID. + + """ + destroyPage( + """Parameters for DestroyPage""" + input: DestroyPageInput! + ): DestroyPagePayload + """ + Purge an entity and **all** of its descendants. + + Depending on the entity, this can be very destructive and should be + used with caution. + + The deletion will be backgrounded, so there will be a delay between + calling this mutation and all the descendants actually being removed. + + """ + entityPurge( + """Parameters for EntityPurge""" + input: EntityPurgeInput! + ): EntityPurgePayload + """ + Revalidates the frontend cache for a given entity. + + """ + frontendCacheRevalidateEntity( + """Parameters for FrontendCacheRevalidateEntity""" + input: FrontendCacheRevalidateEntityInput! + ): FrontendCacheRevalidateEntityPayload + """ + Revalidates the frontend cache for the entire instance. + + """ + frontendCacheRevalidateInstance( + """Parameters for FrontendCacheRevalidateInstance""" + input: FrontendCacheRevalidateInstanceInput! + ): FrontendCacheRevalidateInstancePayload + """Grant access to a specific hierarchical entity""" + grantAccess( + """Parameters for GrantAccess""" + input: GrantAccessInput! + ): GrantAccessPayload + """ + Kick off a manual `HarvestAttempt` from a `HarvestMapping` + + """ + harvestAttemptFromMapping( + """Parameters for HarvestAttemptFromMapping""" + input: HarvestAttemptFromMappingInput! + ): HarvestAttemptFromMappingPayload + """ + Kick off a manual `HarvestAttempt` from a `HarvestSource` + + """ + harvestAttemptFromSource( + """Parameters for HarvestAttemptFromSource""" + input: HarvestAttemptFromSourceInput! + ): HarvestAttemptFromSourcePayload + """ + Prune harvested entities for a `HarvestAttempt` record. + + Note: the actual pruning will happen asynchronously in the background, and may take a while. + + """ + harvestAttemptPruneEntities( + """Parameters for HarvestAttemptPruneEntities""" + input: HarvestAttemptPruneEntitiesInput! + ): HarvestAttemptPruneEntitiesPayload + """ + Create a single `HarvestMapping` record. + + """ + harvestMappingCreate( + """Parameters for HarvestMappingCreate""" + input: HarvestMappingCreateInput! + ): HarvestMappingCreatePayload + """ + Destroy a single `HarvestMapping` record. + + """ + harvestMappingDestroy( + """Parameters for HarvestMappingDestroy""" + input: HarvestMappingDestroyInput! + ): HarvestMappingDestroyPayload + """ + Update a single `HarvestMapping` record. + + """ + harvestMappingUpdate( + """Parameters for HarvestMappingUpdate""" + input: HarvestMappingUpdateInput! + ): HarvestMappingUpdatePayload + """ + Create a single `HarvestMetadataMapping` record. + + There is no `harvestMetadataMappingUpdate` mutation. You can replace an existing field/pattern pair with a new target entity, + or destroy ones that no longer apply. + + """ + harvestMetadataMappingCreate( + """Parameters for HarvestMetadataMappingCreate""" + input: HarvestMetadataMappingCreateInput! + ): HarvestMetadataMappingCreatePayload + """ + Destroy a single `HarvestMetadataMapping` record. + + """ + harvestMetadataMappingDestroy( + """Parameters for HarvestMetadataMappingDestroy""" + input: HarvestMetadataMappingDestroyInput! + ): HarvestMetadataMappingDestroyPayload + """ + Create a single `HarvestSource` record. + + """ + harvestSourceCreate( + """Parameters for HarvestSourceCreate""" + input: HarvestSourceCreateInput! + ): HarvestSourceCreatePayload + """ + Destroy a single `HarvestSource` record. + + """ + harvestSourceDestroy( + """Parameters for HarvestSourceDestroy""" + input: HarvestSourceDestroyInput! + ): HarvestSourceDestroyPayload + """ + Prune harvested entities for a `HarvestSource` record. + + Note: the actual pruning will happen asynchronously in the background, and may take a while. + + """ + harvestSourcePruneEntities( + """Parameters for HarvestSourcePruneEntities""" + input: HarvestSourcePruneEntitiesInput! + ): HarvestSourcePruneEntitiesPayload + """ + Update a single `HarvestSource` record. + + """ + harvestSourceUpdate( + """Parameters for HarvestSourceUpdate""" + input: HarvestSourceUpdateInput! + ): HarvestSourceUpdatePayload + """Link two entities together""" + linkEntity( + """Parameters for LinkEntity""" + input: LinkEntityInput! + ): LinkEntityPayload + """ + Create a single `Permalink` record. + + """ + permalinkCreate( + """Parameters for PermalinkCreate""" + input: PermalinkCreateInput! + ): PermalinkCreatePayload + """ + Destroy a single `Permalink` record. + + """ + permalinkDestroy( + """Parameters for PermalinkDestroy""" + input: PermalinkDestroyInput! + ): PermalinkDestroyPayload + """ + Update a single `Permalink` record. + + """ + permalinkUpdate( + """Parameters for PermalinkUpdate""" + input: PermalinkUpdateInput! + ): PermalinkUpdatePayload + """ + Preview a slot for a given entity. + + """ + previewSlot( + """Parameters for PreviewSlot""" + input: PreviewSlotInput! + ): PreviewSlotPayload + """ + Force the layouts to render for a given `Entity`. + + """ + renderLayouts( + """Parameters for RenderLayouts""" + input: RenderLayoutsInput! + ): RenderLayoutsPayload + """ + A polymorphic mutation to reassign an entity to another point in the hierarchy. + + It performs validations to make sure that the parent entity can accept the child. + + """ + reparentEntity( + """Parameters for ReparentEntity""" + input: ReparentEntityInput! + ): ReparentEntityPayload + """ + Reset an ordering to "factory" settings. For schema-inherited orderings, + this will reload its definition from the schema definition. For custom + orderings, this will load minimal defaults. + + """ + resetOrdering( + """Parameters for ResetOrdering""" + input: ResetOrderingInput! + ): ResetOrderingPayload + """Revoke access from a specific hierarchical entity""" + revokeAccess( + """Parameters for RevokeAccess""" + input: RevokeAccessInput! + ): RevokeAccessPayload + """ + Publish multiple submissions within a single submission target. + + This will enqueue the actual publications in the backend. + + """ + submissionBatchPublish( + """Parameters for SubmissionBatchPublish""" + input: SubmissionBatchPublishInput! + ): SubmissionBatchPublishPayload + """ + A mutation to change the state of a `Submission`. + + """ + submissionChangeState( + """Parameters for SubmissionChangeState""" + input: SubmissionChangeStateInput! + ): SubmissionChangeStatePayload + """ + Create a single `SubmissionComment` record. + + """ + submissionCommentCreate( + """Parameters for SubmissionCommentCreate""" + input: SubmissionCommentCreateInput! + ): SubmissionCommentCreatePayload + """ + Destroy a single `SubmissionComment` record. + + """ + submissionCommentDestroy( + """Parameters for SubmissionCommentDestroy""" + input: SubmissionCommentDestroyInput! + ): SubmissionCommentDestroyPayload + """ + Update a single `SubmissionComment` record. + + """ + submissionCommentUpdate( + """Parameters for SubmissionCommentUpdate""" + input: SubmissionCommentUpdateInput! + ): SubmissionCommentUpdatePayload + """ + Create a single `Submission` record. + + """ + submissionCreate( + """Parameters for SubmissionCreate""" + input: SubmissionCreateInput! + ): SubmissionCreatePayload + """ + Leave a review on a submission. + + This effectively acts as an upsert and can be run by itself, + or as a response to `submissionRequestReview`. + + """ + submissionLeaveReview( + """Parameters for SubmissionLeaveReview""" + input: SubmissionLeaveReviewInput! + ): SubmissionLeaveReviewPayload + """ + Publish a single submission. + + To publish multiple submissions at once, use `submissionBatchPublish`. + + """ + submissionPublish( + """Parameters for SubmissionPublish""" + input: SubmissionPublishInput! + ): SubmissionPublishPayload + """ + Request a review from a reviewer. + + This effectively acts as an upsert. + + The reviewer is expected to call `submissionLeaveReview`. + + """ + submissionRequestReview( + """Parameters for SubmissionRequestReview""" + input: SubmissionRequestReviewInput! + ): SubmissionRequestReviewPayload + """ + Close a `SubmissionTarget`, preventing any new submissions from being made. + + """ + submissionTargetClose( + """Parameters for SubmissionTargetClose""" + input: SubmissionTargetCloseInput! + ): SubmissionTargetClosePayload + """ + Update a single `SubmissionTarget` record. + + """ + submissionTargetConfigure( + """Parameters for SubmissionTargetConfigure""" + input: SubmissionTargetConfigureInput! + ): SubmissionTargetConfigurePayload + """ + Open a `SubmissionTarget`, allowing new submissions to be made. + + """ + submissionTargetOpen( + """Parameters for SubmissionTargetOpen""" + input: SubmissionTargetOpenInput! + ): SubmissionTargetOpenPayload + """ + Create a single `SubmissionTargetReviewer` record. + + """ + submissionTargetReviewerCreate( + """Parameters for SubmissionTargetReviewerCreate""" + input: SubmissionTargetReviewerCreateInput! + ): SubmissionTargetReviewerCreatePayload + """ + Destroy a single `SubmissionTargetReviewer` record. + + """ + submissionTargetReviewerDestroy( + """Parameters for SubmissionTargetReviewerDestroy""" + input: SubmissionTargetReviewerDestroyInput! + ): SubmissionTargetReviewerDestroyPayload + """ + Update an announcement by its ID. + + """ + updateAnnouncement( + """Parameters for UpdateAnnouncement""" + input: UpdateAnnouncementInput! + ): UpdateAnnouncementPayload + """ + Update an asset by ID. + + """ + updateAsset( + """Parameters for UpdateAsset""" + input: UpdateAssetInput! + ): UpdateAssetPayload + """ + Update an asset's attachment by ID. + + This mutation is for updating **only** an asset's attachment, + as opposed to the rest of its attributes (handled in `updateAsset`). + + """ + updateAssetAttachment( + """Parameters for UpdateAssetAttachment""" + input: UpdateAssetAttachmentInput! + ): UpdateAssetAttachmentPayload + """Update a collection""" + updateCollection( + """Parameters for UpdateCollection""" + input: UpdateCollectionInput! + ): UpdateCollectionPayload + """Update a community""" + updateCommunity( + """Parameters for UpdateCommunity""" + input: UpdateCommunityInput! + ): UpdateCommunityPayload + """ + Update a Contribution by ID. + + **Note**: Neither the contribution role nor the contributor can be changed + by this mutation. Rather than deal with uniqueness violations, it's necessary + to delete the old contribution and create a new one with the correct role + or contributor. + + """ + updateContribution( + """Parameters for UpdateContribution""" + input: UpdateContributionInput! + ): UpdateContributionPayload + """ + Update the global configuration for this site. + + """ + updateGlobalConfiguration( + """Parameters for UpdateGlobalConfiguration""" + input: UpdateGlobalConfigurationInput! + ): UpdateGlobalConfigurationPayload + """Update an item""" + updateItem( + """Parameters for UpdateItem""" + input: UpdateItemInput! + ): UpdateItemPayload + """Update an ordering by ID""" + updateOrdering( + """Parameters for UpdateOrdering""" + input: UpdateOrderingInput! + ): UpdateOrderingPayload + """Update an organization contributor""" + updateOrganizationContributor( + """Parameters for UpdateOrganizationContributor""" + input: UpdateOrganizationContributorInput! + ): UpdateOrganizationContributorPayload + """ + Update a page. + + """ + updatePage( + """Parameters for UpdatePage""" + input: UpdatePageInput! + ): UpdatePagePayload + """Update a person contributor""" + updatePersonContributor( + """Parameters for UpdatePersonContributor""" + input: UpdatePersonContributorInput! + ): UpdatePersonContributorPayload + """ + Update the name or permissions for a given role. + + """ + updateRole( + """Parameters for UpdateRole""" + input: UpdateRoleInput! + ): UpdateRolePayload + """ + Update a user. + + """ + updateUser( + """Parameters for UpdateUser""" + input: UpdateUserInput! + ): UpdateUserPayload + """ + Update the current viewer (i.e. you). + + """ + updateViewerSettings( + """Parameters for UpdateViewerSettings""" + input: UpdateViewerSettingsInput! + ): UpdateViewerSettingsPayload + """ + Upsert a Contribution by contributable & contributor ID. It will override any + existing contributions for the same contributor on the same entity. + + """ + upsertContribution( + """Parameters for UpsertContribution""" + input: UpsertContributionInput! + ): UpsertContributionPayload + """ + Reset a password for the current or specified user + + """ + userResetPassword( + """Parameters for UserResetPassword""" + input: UserResetPasswordInput! + ): UserResetPasswordPayload +} + +""" +An error for a specific attribute in a mutation—intended for use with react-hook-form and similarly shaped structures +""" +type MutationAttributeError { + """The accumulated messages for this combination of path and type""" + messages: [String!]! + """The attribute that should have the error""" + path: String! + """A grouping type for the attribute""" + type: String! +} + +enum MutationErrorScope { + ATTRIBUTE + GLOBAL +} + +""" +An error that encapsulates the entire mutation input and is not tied to a specific input field. +""" +type MutationGlobalError { + """The actual message""" + message: String! + type: String! +} + +""" +Entity schemas can define named ancestors, which allows UI developers to refer +authoritatively to significant relatives in an entity's ancestor. This object +represents the connection between an originating entity and its ancestors, +should any be defined for the schema. + +""" +type NamedAncestor { + """The actual ancestor""" + ancestor: Entity! + """The depth of the ancestor in the hierarchy""" + ancestorDepth: Int! + """ + The name of the ancestor. Guaranteed to be unique for this specific entity. + """ + name: String! + """The relative depth of the originating entity""" + originDepth: Int! + """ + The relative depth from the source entity to its ancestor. In other words, `(origin_depth - ancestor_depth)`. + Used for sorting ancestors deterministically. + + """ + relativeDepth: Int! +} + +""" +An enumerated value associated with the templating subsystem. + +""" +enum NavigationBackground { + """ + A dark gradient is applied to the background of this template. + + """ + DARK + """ + A light gradient is applied to the background of this template. + + """ + LIGHT + """ + No background is applied to this template. + + """ + NONE +} + +type NavigationLayoutDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + This layout will only ever have one template, so it can be fetched directly without needing the union. + + """ + template: NavigationTemplateDefinition + """ + The ordered template definitions available for this layout. + + """ + templates: [AnyNavigationTemplateDefinition!]! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +type NavigationLayoutInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable { + """ + Whether all templates in this instance are hidden. + + """ + allHidden: Boolean! + """ + Whether all slots in all template instances in this layout are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + The associated entity for this layout instance. + + """ + entity: Entity! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + """ + The layout definition for this type. + + """ + layoutDefinition: NavigationLayoutDefinition! + layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + This layout will only ever have one template, so it can be fetched directly without needing the union. + + """ + template: NavigationTemplateInstance + """ + The ordered template instances available for this layout. + + """ + templates: [AnyNavigationTemplateInstance!]! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +type NavigationTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { + """ + The background gradient to use for this template. Affects presentation. + + """ + background: NavigationBackground + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + If true, the metadata template/tab should be hidden for this schema. + + """ + hideMetadata: Boolean + id: ID! + layoutKind: LayoutKind! + """ + Slot definitions for this template. + + """ + slots: NavigationTemplateDefinitionSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Slot definitions for the associated template. + +""" +type NavigationTemplateDefinitionSlots { + entityLabel: TemplateSlotInlineDefinition +} + +type NavigationTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance { + """ + Whether all slots in this template are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + Load the associated definition for this template. + + """ + definition: NavigationTemplateDefinition! + """ + The associated entity for this template instance. + + """ + entity: Entity! + """ + Whether this template instance should be hidden based on some logic. + + At present, this only occurs if certain slots are empty. + + """ + hidden: Boolean! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + + """ + nextSiblings: [TemplateInstanceSibling!]! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + + """ + prevSiblings: [TemplateInstanceSibling!]! + """ + Rendered slots for this template. + + """ + slots: NavigationTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Rendered slots for the associated template. + +""" +type NavigationTemplateInstanceSlots { + entityLabel: TemplateSlotInlineInstance +} + +"""An object with an ID.""" +interface Node { + """ID of the object.""" + id: ID! +} + +"""The priority for NULL values when sorting""" +enum NullOrderPriority { + FIRST + LAST +} + +""" +Require that `path ≥ value` while enforcing that value is numeric. + +Note: this will also work for integer paths. Coercion is handled +transparently by the API. + +""" +input NumericGTEOperatorInput { + path: String! + value: Float! +} + +""" +Require that `path ≤ value` while enforcing that value is numeric. + +Note: this will also work for integer paths. Coercion is handled +transparently by the API. + +""" +input NumericLTEOperatorInput { + path: String! + value: Float! +} + +""" +An interface for properties that have a set of predefined options to choose from. + +""" +interface OptionableProperty { + """The list of predefined options available for this property.""" + options: [SelectOption!]! +} + +""" +The boolean result of evaluating the left and right predicates. At least one must be true. + +While this is implemented, it is not likely that the first version of the search +UI will utilize it. It is intended for advanced searching. + +""" +input OrOperatorInput { + left: SearchPredicateInput! + right: SearchPredicateInput! +} + +"""Ordering for a specific column""" +type OrderDefinition { + direction: Direction! + nulls: NullOrderPriority! + path: String! +} + +"""Ordering for a specific column""" +input OrderDefinitionInput { + direction: Direction = ASCENDING + nulls: NullOrderPriority = LAST + path: String! +} + +""" +An ordering that belongs to an entity and arranges its children in a pre-configured way +""" +type Ordering implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Searchable & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + children( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + You can specify the direction to retrieve entries for an ordering. + INVERSE will be identical to DEFAULT if the ordering is marked constant. + + """ + order: OrderingEntrySortMode = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): OrderingEntryConnection! + """ + A constant ordering should be treated as not being able to invert itself. + """ + constant: Boolean! + """The number of entries currently visible within the ordering""" + count: Int! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + Whether the ordering has been disabled—orderings inherited from schemas will be disabled if deleted. + """ + disabled: Boolean! + """The time the ordering was disabled, if applicable""" + disabledAt: ISO8601Date + """The entity that owns the ordering""" + entity: Entity! + filter: OrderingFilterDefinition! + """Optional markdown content to render after the children""" + footer: String + """Optional markdown content to render before the children""" + header: String + """ + A hidden ordering represents an ordering that should not be shown in the frontend, + when iterating over an entity's available orderings. It does not affect access, as + hidden orderings may still serve a functional purpose for their schema. + + """ + hidden: Boolean! + id: ID! + """ + A unique identifier for the ordering within the context of its parent entity. + """ + identifier: String! + """Whether the ordering was inherited from its entity's schema definition""" + inheritedFromSchema: Boolean! + """An optional, human-readable name for the ordering""" + name: String + order: [OrderDefinition!]! + """ + For orderings that are `inheritedFromSchema`, this tracks whether or not the + entity has been modified from the schema's definition. It is always false + for custom, user-created orderings. + + """ + pristine: Boolean! + """ + Configuration for how to render an ordering and its entries. + + """ + render: OrderingRenderDefinition! + """Search from this level of the API using it as the origin""" + search( + """ + When searching from a scoped entity, sometimes you want to limit the depth of the search. + + `maxDepth: 1` will restrict to just the entity's direct children (or direct links). + + """ + maxDepth: Int + """ + Restrict the results by a certain level of visibility. This requires an authenticated user + for anything but `VISIBLE`: any other option will be silently discarded when anonymous. + + """ + visibility: EntityVisibilityFilter = VISIBLE + ): SearchScope! + select: OrderingSelectDefinition! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + A tree ordering has some special handling to return entities + in deterministic order based on their hierarchical position + and relation to other entities in the same ordering. + + This is effectively a shortcut for `Ordering.render.mode === "TREE"`. + + """ + tree: Boolean! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +An ordering's availability refers to it being enabled or disabled. + +""" +enum OrderingAvailabilityFilter { + """Do not filter orderings by whether they are enabled or disabled.""" + ALL + """Fetch only *disabled* orderings.""" + DISABLED + """Fetch only *enabled* orderings.""" + ENABLED +} + +""" +An enumerated value associated with the templating subsystem. + +""" +enum OrderingBackground { + """ + A dark gradient is applied to the background of this template. + + """ + DARK + """ + A light gradient is applied to the background of this template. + + """ + LIGHT + """ + No background is applied to this template. + + """ + NONE +} + +"""The connection type for Ordering.""" +type OrderingConnection implements Paginated { + """A list of edges.""" + edges: [OrderingEdge!]! + """A list of nodes.""" + nodes: [Ordering!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +""" +A definition for an ordering (may be dynamic). + +""" +type OrderingDefinition { + """ + A constant ordering should be treated as not being able to invert itself. + """ + constant: Boolean! + filter: OrderingFilterDefinition! + """ + A hidden ordering represents an ordering that should not be shown in the frontend, + when iterating over an entity's available orderings. It does not affect access, as + hidden orderings may still serve a functional purpose for their schema. + + """ + hidden: Boolean! + """ + A unique identifier for the ordering within the context of its parent entity. + """ + identifier: String! + """An optional, human-readable name for the ordering""" + name: String + order: [OrderDefinition!]! + """ + Configuration for how to render an ordering and its entries. + + """ + render: OrderingRenderDefinition! + select: OrderingSelectDefinition! + """ + A tree ordering has some special handling to return entities + in deterministic order based on their hierarchical position + and relation to other entities in the same ordering. + + This is effectively a shortcut for `Ordering.render.mode === "TREE"`. + + """ + tree: Boolean! +} + +enum OrderingDirectSelection { + CHILDREN + DESCENDANTS + NONE +} + +"""An edge in a connection.""" +type OrderingEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: Ordering! +} + +""" +An entry within an ordering, it can refer to an entity or an entity link +""" +type OrderingEntry implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """ + When the associated `Ordering` is a `TREE`, and the current entry is a leaf, this array can be used + to get the associated ancestors within the entry that + + """ + ancestors: [OrderingEntry!]! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + The actual element being ordered. At present, this will only be a `Community`, `Collection`, or `Item`, + but future implementations of orderings may include other content, such as presentation elements. + + """ + entry: OrderingEntryable! + """ + The delegated `slug` from the associated `entry`. + + This can be null because future entries may not implement it. + + """ + entrySlug: Slug + """ + The delegated `title` from the associated `entry`. + + This can be null because future entries may not implement it. + + """ + entryTitle: String + id: ID! + """ + The next entry in the current ordering, if one exists. This will be null if this entry is the last. + + """ + nextSibling: OrderingEntry + """The parent ordering""" + ordering: Ordering! + """ + The 1-based position of this entry. + + """ + position: Int + """ + The previous entry in the current ordering, if one exists. This will be null if this entry is the first. + + """ + prevSibling: OrderingEntry + """ + A calculation of the depth of an entry in the hierarchy, relative to the ordering's owning entity. + + """ + relativeDepth: Int! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + When an ordering's render mode is set to TREE, its entries will have this set. + It is a normalized depth based on what other entities were accepted into the ordering. + + """ + treeDepth: Int + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +"""The connection type for OrderingEntry.""" +type OrderingEntryConnection implements Paginated { + """A list of edges.""" + edges: [OrderingEntryEdge!]! + """A list of nodes.""" + nodes: [OrderingEntry!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""An edge in a connection.""" +type OrderingEntryEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: OrderingEntry! +} + +""" +When fetching entries from an ordering, you can swap between the default or a special 'inverted' mode +""" +enum OrderingEntrySortMode { + """Retrieve the ordering entries as defined by default""" + DEFAULT + """ + Retrieve the ordering entries in an inverted order, accounting for paths + """ + INVERSE +} + +""" +An entity or link which can appear in an ordering. + +""" +interface OrderingEntryable implements Node { + """ID of the object.""" + id: ID! +} + +""" +A collection of settings for filtering what appears what entities +may populate an ordering. At present, this only supports schemas. + +""" +type OrderingFilterDefinition { + """ + If set, any child or descendant that matches one of these schemas will + be availabel to be included in the ordering. + + """ + schemas: [OrderingSchemaFilter!]! +} + +""" +A collection of settings for filtering what appears what entities +may populate an ordering. At present, this only supports schemas. + +""" +input OrderingFilterDefinitionInput { + """ + If set, any child or descendant that matches one of these schemas will + be availabel to be included in the ordering. + + """ + schemas: [OrderingSchemaFilterInput!] +} + +""" +An enum used to order `Ordering`s. It uses `DETERMINISTIC` by default to ensure a consistent rendering experience. +""" +enum OrderingOrder { + """ + Sort orderings by their static position of the ordering, falling back to the name if unset. + """ + DETERMINISTIC + """Sort orderings by oldest created date""" + OLDEST + """Sort orderings by newest created date""" + RECENT +} + +""" +This represents a valid path that can be used for orderings. + +""" +interface OrderingPath { + """A helpful description of the path""" + description: String + """A logical grouping for ordering paths""" + grouping: OrderingPathGrouping! + """A human-readable label for the path""" + label: String! + """ + Some paths may have a prefix. For instance, schema properties will have the name of the schema. + + """ + labelPrefix: String + """The exact path that should be provided to mutation inputs.""" + path: String! + """The schema property type""" + type: SchemaPropertyType! +} + +"""A logical grouping for ordering paths.""" +enum OrderingPathGrouping { + """ + Paths under this type come from _ancestors_ in a schema. + Not every entity is guaranteed to have one, and in orderings + with mixed entities, missing props will be treated as null. + + """ + ANCESTOR_PROPS + """ + Static properties that are directly on an ancestor. + + """ + ANCESTOR_STATIC + """ + Static properties that are directly on an entity. + + """ + ENTITY + """ + Static properties that are derived from a link. + + """ + LINK + """ + Paths under this type come from a schema. Not every entity is guaranteed + to have one, and in orderings with mixed entities, missing props will be + treated as null. + + """ + PROPS + """ + Static properties that are derived from a schema. + + """ + SCHEMA +} + +""" +Configuration for controlling how an ordering renders itself and its entries. + +""" +type OrderingRenderDefinition { + """How to render entries within""" + mode: OrderingRenderMode! +} + +""" +Describe how an ordering should render its entries. + +""" +input OrderingRenderDefinitionInput { + mode: OrderingRenderMode = FLAT +} + +""" +How entries in an ordering should be rendered. + +""" +enum OrderingRenderMode { + """ + The default for most orderings. Every ordering is considered to be on + the same level of the hierarchy, and positions are calculated based + solely on the paths. + + """ + FLAT + """ + A special mode for handling orderings that should operate like a tree. In this setting, + entries will be calculated first as though they were flat, then analyzed in order to + adjust the positioning to account for the entry's ancestors and position relative to + other entries in the ordering. + + """ + TREE +} + +""" +This defines a specific schema that an ordering can filter its entries by +""" +type OrderingSchemaFilter { + """ + The identifier within the namespace for the schema. + + """ + identifier: String! + """ + The namespace the schema occupies. + + """ + namespace: String! + """ + An optional version requirement for the associated schema. + + """ + version: VersionRequirement +} + +""" +This defines a specific schema that an ordering can filter its entries by +""" +input OrderingSchemaFilterInput { + """ + The identifier within the namespace for the schema. + + """ + identifier: String! + """ + The namespace the schema occupies. + + """ + namespace: String! + """ + An optional version requirement for this ordering. It supports + Ruby's version declaration syntax, so you can provide a value + like `">= 1.2"` to match against semantically-versioned schemas. + + """ + version: VersionRequirement +} + +""" +Defines how an ordering should select its entries. + +""" +type OrderingSelectDefinition { + direct: OrderingDirectSelection! + links: OrderingSelectLinkDefinition! +} + +""" +Define how an ordering should select its entries + +""" +input OrderingSelectDefinitionInput { + direct: OrderingDirectSelection = CHILDREN + links: OrderingSelectLinkDefinitionInput +} + +""" +Describes how an ordering should select its links. + +""" +type OrderingSelectLinkDefinition { + contains: Boolean! + references: Boolean! +} + +""" +Describe how an ordering should select its links. + +""" +input OrderingSelectLinkDefinitionInput { + contains: Boolean + references: Boolean +} + +type OrderingTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { + """ + The background gradient to use for this template. Affects presentation. + + """ + background: OrderingBackground + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + layoutKind: LayoutKind! + """ + The identifier for the ordering to derive next/prev siblings from. + + Refer to `orderingSource` and `selectionSource` for more details. + + """ + orderingIdentifier: SchemaComponent + """ + A reference to the entity that contains an ordering identified by `orderingIdentifier`. + It operates exactly like `selectionSource`. See that property for more documentation. + + **Note**: While `self` is allowed here, it only makes sense if the rendering entity + is contained in one of its own orderings, which doesn't happen normally. The template + will still render, but it likely won't find siblings. + + """ + orderingSource: TemplateSelectionSource + orderingSourceAncestorName: SchemaComponent + orderingSourceMode: SelectionSourceMode + """ + What entity to use for detecting the positional prev/next siblings. + + By default, it is `self`. However, it can be overridden for creating templates that + navigate through parent issues, volumes, journals, etc. For instance, an article could + create an `` template that has the following properties set: + + * `selectionSource`: `"ancestors.issue"` + * `orderingSource`: `"ancestors.journal"` + * `orderingIdentifier`: `"issues"` + + This would use the _journal's_ `issues` ordering to navigate through the article's + associated `issues`, and provide a quick way to navigate through varying levels of + the upper hierarchy from lower points in the tree. + + """ + selectionSource: TemplateSelectionSource + """ + The derived name of the ancestor used for the `selectionSource`. + + Exposed for introspection only. + + """ + selectionSourceAncestorName: SchemaComponent + """ + An enum representing what mode `selectionSource` is in. Not directly set, + it is used internally for lookups. + + """ + selectionSourceMode: SelectionSourceMode + """ + Slot definitions for this template. + + """ + slots: OrderingTemplateDefinitionSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + This controls how wide the template should render. + + **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + template that also uses `HALF`. + + """ + width: TemplateWidth +} + +""" +Slot definitions for the associated template. + +""" +type OrderingTemplateDefinitionSlots { + nextLabel: TemplateSlotInlineDefinition + previousLabel: TemplateSlotInlineDefinition +} + +type OrderingTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasOrderingPair & TemplateInstance { + """ + Whether all slots in this template are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + Load the associated definition for this template. + + """ + definition: OrderingTemplateDefinition! + """ + The associated entity for this template instance. + + """ + entity: Entity! + """ + Whether this template instance should be hidden based on some logic. + + At present, this only occurs if certain slots are empty. + + """ + hidden: Boolean! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + + """ + nextSiblings: [TemplateInstanceSibling!]! + """ + Access the prev/next siblings within the template's specified ordering. + + """ + orderingPair: TemplateOrderingPair! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + + """ + prevSiblings: [TemplateInstanceSibling!]! + """ + Rendered slots for this template. + + """ + slots: OrderingTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Rendered slots for the associated template. + +""" +type OrderingTemplateInstanceSlots { + nextLabel: TemplateSlotInlineInstance + previousLabel: TemplateSlotInlineInstance +} + +enum OrderingVisibilityFilter { + """Do not filter orderings by their visibility.""" + ALL + """Fetch only *hidden* orderings.""" + HIDDEN + """ + Fetch only *visible* orderings. This has no bearing on the ordering's *availability*. + """ + VISIBLE +} + +""" +An organization that has made contributions. + +""" +type OrganizationContributor implements CommonModel & CommonPermissions & Contributor & ContributorBase & HasDefaultTimestamps & HasHarvestModificationStatus & Node & Sluggable { + """ + Only applicable when `kind` = `PERSON`. + + """ + affiliation: String + attributions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: ContributorAttributionOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ContributorAttributionConnection! + bio: String + """ + Whether the current user has the ability to claim this contributor profile as their own. + + This requires both that the user has permission to manage the system broadly, + and that they do not already have a contributor profile linked to their account. + + It also requires the contributor to be unclaimed. + + It is associated with the `contributorClaim` mutation. + + """ + canClaim: AuthorizationResult! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has the ability to link this contributor profile to any user account. + + This differs from `canClaim` in that it does not require the contributor to be unclaimed, + and can specify the user account to link to. + + It is associated with the `contributorUserLinkUpsert` mutation. + + """ + canLinkUser: AuthorizationResult! + """ + Whether the current user has the ability to use this contributor profile as a source in a merge operation. + + """ + canMergeSource: AuthorizationResult! + """ + Whether the current user has the ability to use this contributor profile as a target in a merge operation. + + """ + canMergeTarget: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """ + Whether this contributor has been claimed by a user. + + """ + claimed: Boolean! + """ + The total number of collection contributions from this contributor. + + """ + collectionContributionCount: Int! + collectionContributions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: ContributionOrder = TARGET_TITLE_ASCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): CollectionContributionConnection! + """ + The total number of contributions (item + collection) from this contributor. + + """ + contributionCount: Int! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + email: String + """ + Only applicable when `kind` = `PERSON`. + + """ + familyName: String + """ + Only applicable when `kind` = `PERSON`. + + """ + givenName: String + """ + The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have + no effect on this record. + + """ + harvestModificationStatus: HarvestModificationStatus! + id: ID! + identifier: String! + """An optional image associated with the contributor.""" + image: ImageAttachment! + """Configurable metadata for the image attachment""" + imageMetadata: ImageMetadata + """ + The total number of item contributions from this contributor. + + """ + itemContributionCount: Int! + itemContributions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: ContributionOrder = TARGET_TITLE_ASCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ItemContributionConnection! + kind: ContributorKind! + """ + Only applicable when `kind` = `ORGANIZATION`. + + """ + legalName: String + links: [ContributorLink!]! + """ + Only applicable when `kind` = `ORGANIZATION`. + + """ + location: String + """ + Whether this contributor is currently involved in an active merge as either a source or target. + + """ + mergeBusy: Boolean! + """ + The status of this contributor in the context of being a merge source. + + """ + mergeSourceStatus: ContributorMergeSourceStatus! + """ + The target of the merge, if available. + + """ + mergeTarget: ContributorBase + """ + The status of this contributor in the context of being a merge target. + + """ + mergeTargetStatus: ContributorMergeTargetStatus! + """ + A display name, independent of the type of contributor. + + """ + name: String! + """ + An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. + + """ + orcid: String + prefix: String + """ + The encoded slug for this record. + + """ + slug: Slug! + suffix: String + """ + Only applicable when `kind` = `PERSON`. + + """ + title: String + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + url: String + """ + The link between this contributor and a user, if any exists. + + """ + userLink: ContributorUserLink +} + +"""A page of arbitrary content for an entity""" +type Page implements Node { + body: String! + createdAt: ISO8601DateTime! + entity: Entity! + """The hero image for a page""" + heroImage: ImageAttachment! + """Configurable metadata for the hero_image attachment""" + heroImageMetadata: ImageMetadata + id: ID! + position: Int + slug: String! + title: String! + updatedAt: ISO8601DateTime! +} + +"""The connection type for Page.""" +type PageConnection implements Paginated { + """A list of edges.""" + edges: [PageEdge!]! + """A list of nodes.""" + nodes: [Page!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +""" +Determines the direction that page-number based pagination should flow + +""" +enum PageDirection { + """ + Indicates that page-number based pagination should flow in descending order (9-1) + + """ + BACKWARDS + """ + Indicates that page-number based pagination should flow in ascending order (1-9) + + """ + FORWARDS +} + +"""An edge in a connection.""" +type PageEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: Page! +} + +"""Information about pagination in a connection.""" +type PageInfo { + """When paginating forwards, the cursor to continue.""" + endCursor: String + """When paginating forwards, are there more items?""" + hasNextPage: Boolean! + """When paginating backwards, are there more items?""" + hasPreviousPage: Boolean! + """ + The page (if page-based pagination is supported and one was provided, does not introspect a value with cursor-based pagination) + """ + page: Int + """ + The total number of pages available to the connection (if page-based pagination supported and a page was provided) + """ + pageCount: Int + """ + The number of edges/nodes per page (if page-based pagination supported and a page was provided) + """ + perPage: Int + """When paginating backwards, the cursor to continue.""" + startCursor: String + """ + The total number of nodes available to this connection, constrained by applied filters (if any) + """ + totalCount: Int! + """ + The total number of nodes available to this connection, independent of any filters + """ + totalUnfilteredCount: Int! +} + +""" +An enumerated value associated with the templating subsystem. + +""" +enum PageListBackground { + """ + A dark gradient is applied to the background of this template. + + """ + DARK + """ + A light gradient is applied to the background of this template. + + """ + LIGHT + """ + No background is applied to this template. + + """ + NONE +} + +type PageListTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { + """ + The background gradient to use for this template. Affects presentation. + + """ + background: PageListBackground + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + layoutKind: LayoutKind! + """ + Slot definitions for this template. + + """ + slots: PageListTemplateDefinitionSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + This controls how wide the template should render. + + **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + template that also uses `HALF`. + + """ + width: TemplateWidth +} + +""" +Slot definitions for the associated template. + +""" +type PageListTemplateDefinitionSlots { + header: TemplateSlotInlineDefinition +} + +type PageListTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance { + """ + Whether all slots in this template are empty. + + """ + allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + Load the associated definition for this template. + + """ + definition: PageListTemplateDefinition! + """ + The associated entity for this template instance. + + """ + entity: Entity! + """ + Whether this template instance should be hidden based on some logic. + + At present, this only occurs if certain slots are empty. + + """ + hidden: Boolean! + id: ID! + """ + The time this object was last rendered. + + """ + lastRenderedAt: ISO8601DateTime + layoutKind: LayoutKind! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + + """ + nextSiblings: [TemplateInstanceSibling!]! + """ + Return all preceding siblings to the current template in order of proximity. + + If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + + """ + prevSiblings: [TemplateInstanceSibling!]! + """ + Rendered slots for this template. + + """ + slots: PageListTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ + slug: Slug! + templateKind: TemplateKind! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +""" +Rendered slots for the associated template. + +""" +type PageListTemplateInstanceSlots { + header: TemplateSlotInlineInstance +} + +""" +Connections can be paginated by cursor or number. + +""" +interface Paginated { + """ + Information to aid in pagination. + + """ + pageInfo: PageInfo! +} + +""" +A permalink is a persistant link to a resource with a human-readable URI. +Each resource can have multiple permalinks, but only one can be marked as canonical. + +""" +type Permalink implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """ + Whether this permalink is the canonical one for the `permalinkable`. + + """ + canonical: Boolean! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + """ + The type of resource this permalink points to. + + """ + kind: PermalinkableKind! + """ + The resource this permalink points to. + + """ + permalinkable: Permalinkable! + """ + The slug of the `permalinkable` record. + + It can be used for quickly generating non-canonical links to the resource + based on the `kind` without needing to load the associated record. + + """ + permalinkableSlug: String! + """ + The encoded slug for this record. + + """ + slug: Slug! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + The URI of the permalink. Used for generating routes and also serves as a unique identifier. + + **Note**: URIs are _case-insensitive_ and may only contain alphanumeric characters and hyphens. + Hyphens may not be consecutive nor may they appear at the start nor the end of the URI. + + """ + uri: String! +} + +"""The connection type for Permalink.""" +type PermalinkConnection implements Paginated { + """A list of edges.""" + edges: [PermalinkEdge!]! + """A list of nodes.""" + nodes: [Permalink!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""Autogenerated input type of PermalinkCreate""" +input PermalinkCreateInput { + """ + Whether this permalink should be the canonical permalink for its resource. + + If true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink. + + """ + canonical: Boolean = false + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The ID of the resource to which this permalink will belong. + + It can be changed. + + """ + permalinkableId: ID! + """ + The URI for the permalink. + + It is case-insensitive and must be unique system-wide. + + It may only contain letters, numbers, and hyphens. + It may not begin nor end with a hyphen, nor contain consecutive hyphens. + + """ + uri: String! +} + +"""Autogenerated return type of PermalinkCreate.""" +type PermalinkCreatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The newly-modified permalink, if successful. + + """ + permalink: Permalink +} + +"""Autogenerated input type of PermalinkDestroy""" +input PermalinkDestroyInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The permalink to destroy. + + """ + permalinkId: ID! +} + +"""Autogenerated return type of PermalinkDestroy.""" +type PermalinkDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + Whether or not the model was successfully destroyed. If false, check globalErrors + """ + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""An edge in a connection.""" +type PermalinkEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: Permalink! +} + +""" +Sort a collection of `Permalink` records by specific properties and directions. + +""" +enum PermalinkOrder { + """ + Sort permalinks by their default order: canonical first, then by uri alphabetically. + """ + DEFAULT + """Sort permalinks by oldest created date.""" + OLDEST + """Sort permalinks by newest created date.""" + RECENT +} + +"""Autogenerated input type of PermalinkUpdate""" +input PermalinkUpdateInput { + """ + Whether this permalink should be the canonical permalink for its resource. + + If true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink. + + """ + canonical: Boolean = false + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The permalink to update. + + """ + permalinkId: ID! + """ + The ID of the resource to which this permalink will belong. + + It can be changed. + + """ + permalinkableId: ID! + """ + The URI for the permalink. + + It is case-insensitive and must be unique system-wide. + + It may only contain letters, numbers, and hyphens. + It may not begin nor end with a hyphen, nor contain consecutive hyphens. + + """ + uri: String! +} + +"""Autogenerated return type of PermalinkUpdate.""" +type PermalinkUpdatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The newly-modified permalink, if successful. + + """ + permalink: Permalink +} + +""" +An interface for models which can have permalinks. + +""" +interface Permalinkable { + """ + The canonical permalink for this resource, if one is set. + + """ + canonicalPermalink: Permalink + """ + All permalinks associated with this resource. + + """ + permalinks: [Permalink!]! +} + +""" +An enum that helps describe the different kinds of records +that can be permalinked. + +""" +enum PermalinkableKind { + """ + This permalink points to a collection. + + """ + COLLECTION + """ + This permalink points to a community. + + """ + COMMUNITY + """ + This permalink points to an item. + + """ + ITEM +} + +"""A grant of a specific permission within a specific scope.""" +type PermissionGrant { + """Whether this permission has been granted in the current context.""" + allowed: Boolean! + """The unqualified, single name for this permission.""" + name: String! + """ + The fully-qualified path for this permission (composed of scope + name). + """ + path: String! + """The scope (or namespace) for this permission.""" + scope: String +} + +"""A mapping of permissions specific to a certain scope""" +interface PermissionGrid implements ExposesPermissions { + """ + A list of allowed actions for the given user on this entity (and its descendants). + """ + allowedActions: [String!]! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! +} + +""" +A person that has made contributions. + +""" +type PersonContributor implements CommonModel & CommonPermissions & Contributor & ContributorBase & HasDefaultTimestamps & HasHarvestModificationStatus & Node & Sluggable { + """ + Only applicable when `kind` = `PERSON`. + + """ + affiliation: String + attributions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: ContributorAttributionOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ContributorAttributionConnection! + bio: String + """ + Whether the current user has the ability to claim this contributor profile as their own. + + This requires both that the user has permission to manage the system broadly, + and that they do not already have a contributor profile linked to their account. + + It also requires the contributor to be unclaimed. + + It is associated with the `contributorClaim` mutation. + + """ + canClaim: AuthorizationResult! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has the ability to link this contributor profile to any user account. + + This differs from `canClaim` in that it does not require the contributor to be unclaimed, + and can specify the user account to link to. + + It is associated with the `contributorUserLinkUpsert` mutation. + + """ + canLinkUser: AuthorizationResult! + """ + Whether the current user has the ability to use this contributor profile as a source in a merge operation. + + """ + canMergeSource: AuthorizationResult! + """ + Whether the current user has the ability to use this contributor profile as a target in a merge operation. + + """ + canMergeTarget: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """ + Whether this contributor has been claimed by a user. + + """ + claimed: Boolean! + """ + The total number of collection contributions from this contributor. + + """ + collectionContributionCount: Int! + collectionContributions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: ContributionOrder = TARGET_TITLE_ASCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): CollectionContributionConnection! + """ + The total number of contributions (item + collection) from this contributor. + + """ + contributionCount: Int! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + email: String + """ + Only applicable when `kind` = `PERSON`. + + """ + familyName: String + """ + Only applicable when `kind` = `PERSON`. + + """ + givenName: String + """ + The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have + no effect on this record. + + """ + harvestModificationStatus: HarvestModificationStatus! + id: ID! + identifier: String! + """An optional image associated with the contributor.""" + image: ImageAttachment! + """Configurable metadata for the image attachment""" + imageMetadata: ImageMetadata + """ + The total number of item contributions from this contributor. + + """ + itemContributionCount: Int! + itemContributions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: ContributionOrder = TARGET_TITLE_ASCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ItemContributionConnection! + kind: ContributorKind! + """ + Only applicable when `kind` = `ORGANIZATION`. + + """ + legalName: String + links: [ContributorLink!]! + """ + Only applicable when `kind` = `ORGANIZATION`. + + """ + location: String + """ + Whether this contributor is currently involved in an active merge as either a source or target. + + """ + mergeBusy: Boolean! + """ + The status of this contributor in the context of being a merge source. + + """ + mergeSourceStatus: ContributorMergeSourceStatus! + """ + The target of the merge, if available. + + """ + mergeTarget: ContributorBase + """ + The status of this contributor in the context of being a merge target. + + """ + mergeTargetStatus: ContributorMergeTargetStatus! + """ + A display name, independent of the type of contributor. + + """ + name: String! + """ + An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. + + """ + orcid: String + prefix: String + """ + The encoded slug for this record. + + """ + slug: Slug! + suffix: String + """ + Only applicable when `kind` = `PERSON`. + + """ + title: String + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + url: String + """ + The link between this contributor and a user, if any exists. + + """ + userLink: ContributorUserLink +} + +"""Autogenerated input type of PreviewSlot""" +input PreviewSlotInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The entity to update. + + """ + entityId: ID! + """ + The kind of slot to render. + + """ + kind: TemplateSlotKind! + """ + The template to render. + + """ + template: String! +} + +"""Autogenerated return type of PreviewSlot.""" +type PreviewSlotPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The rendered slot (if successful) + + """ + slot: TemplateSlotInstance +} + +""" +When altering a schema version for an entity, there are various strategies that can be used to determine how to handle the provided properties. +""" +enum PropertyApplicationStrategy { + """If set to this value, property values will be validated and applied""" + APPLY + """ + If set to this value, property values will not be applied, and the entity will likely exist in an invalid state. + """ + SKIP +} + +""" +An interface for querying information about access control and roles within the system. + +""" +interface QueriesAccessAndRoles { + """ + Retrieve all access grants. + + """ + accessGrants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + entity: AccessGrantEntityFilter = ALL + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + subject: AccessGrantSubjectFilter = ALL + ): AnyAccessGrantConnection! + """ + List all roles. + + """ + roles( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: RoleOrder = DEFAULT + ): RoleConnection! +} + +""" +Fields for querying details about contributors and contributions. + +""" +interface QueriesContrib { + """Look up a collection contribution by slug""" + collectionContribution(slug: Slug!): CollectionContribution + """ + Look up contribution role configuration for a given contributable (or globally). + """ + contributionRoles( + """The contributable to load for, if applicable.""" + contributableId: ID + ): ContributionRoleConfiguration! + """Look up a contributor by slug""" + contributor(slug: Slug!): Contributor + """ + Look up a contributor `by` a certain `value`. + + """ + contributorLookup( + """ + The field to search a contributor with. Unless otherwise specified, the provided + `value` will be an exact match. + + """ + by: ContributorLookupField! + """ + For certain fields, the values are not guaranteed to be unique. In these instances, + the *most recently* created contributor will be selected by default. If the first + is preferred, specify `order: OLDEST`. + + """ + order: SimpleOrder! = RECENT + """ + The actual value to look a contributor up `by`. + + """ + value: String! + ): Contributor + """A list of all contributors in the system""" + contributors( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: ContributorFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + kind: ContributorFilterKind = ALL + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ContributorFilterInput!] = [] + order: ContributorOrder = NAME_ASCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """ + Search for contributors with names that start with the provided text. + + **Deprecated**: Use the `nameSearch` filter instead. + + """ + prefix: String + ): AnyContributorConnection! + """Look up an item contribution by slug""" + itemContribution(slug: Slug!): ItemContribution +} + +""" +An interface for querying `ControlledVocabulary` records. + +""" +interface QueriesControlledVocabulary { + controlledVocabularies( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: ControlledVocabularyFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ControlledVocabularyFilterInput!] = [] + order: ControlledVocabularyOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ControlledVocabularyConnection! + """ + Retrieve a single `ControlledVocabulary` by slug. + + """ + controlledVocabulary( + """ + The slug to look up. + + """ + slug: Slug! + ): ControlledVocabulary +} + +""" +An interface for querying `ControlledVocabularySource` records. + +""" +interface QueriesControlledVocabularySource { + """ + Retrieve a single `ControlledVocabularySource` by slug. + + """ + controlledVocabularySource( + """ + The slug to look up. + + """ + slug: Slug! + ): ControlledVocabularySource + controlledVocabularySources( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: ControlledVocabularySourceFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ControlledVocabularySourceFilterInput!] = [] + order: ControlledVocabularySourceOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ControlledVocabularySourceConnection! +} + +""" +An interface for querying `DepositorRequest` records. + +""" +interface QueriesDepositorRequest { + """ + Retrieve a single `DepositorRequest` by slug. + + """ + depositorRequest( + """ + The slug to look up. + + """ + slug: Slug! + ): DepositorRequest + depositorRequests( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: DepositorRequestFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [DepositorRequestFilterInput!] = [] + order: DepositorRequestOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): DepositorRequestConnection! +} + +""" +Fields for querying all entities from the top level of the hierarchy. + +""" +interface QueriesEntities { + """Look up an asset by slug""" + asset(slug: Slug!): Asset + """Look up a collection by slug""" + collection(slug: Slug!): Collection + """List all communities""" + communities( + access: EntityPermissionFilter = SKIP + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: EntityOrder = PUBLISHED_DESCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): CommunityConnection! + """Look up a community by slug""" + community(slug: Slug!): Community + """Look up a community by its title""" + communityByTitle(title: String!): Community + """Look up an item by slug""" + item(slug: Slug!): Item +} + +""" +An interface for querying `HarvestAttempt` records. + +""" +interface QueriesHarvestAttempt { + """ + Retrieve a single `HarvestAttempt` by slug. + + """ + harvestAttempt( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestAttempt + """ + Query all harvest attempts in the system. + + """ + harvestAttempts( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestAttemptOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestAttemptConnection! +} + +""" +An interface for querying `HarvestExample` records. + +""" +interface QueriesHarvestExample { + """ + Retrieve harvest examples for the system. + + """ + harvestExamples( + """ + Whether to look for "generic" harvesting examples which are not associated + with any protocol or metadata. + + """ + generic: Boolean = false + """ + The metadata format to filter by. + + """ + metadataFormat: HarvestMetadataFormat + """ + The protocol to filter by. + + """ + protocol: HarvestProtocol + ): [HarvestExample!]! +} + +""" +An interface for querying `HarvestMapping` records. + +""" +interface QueriesHarvestMapping { + """ + Retrieve a single `HarvestMapping` by slug. + + """ + harvestMapping( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestMapping + """ + Query all harvest mappings in the system. + + """ + harvestMappings( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestMappingOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestMappingConnection! +} + +""" +An interface for querying `HarvestMessage` records. + +""" +interface QueriesHarvestMessage { + harvestMessages( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: HarvestMessageFilterInput = {severity: INFO} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [HarvestMessageFilterInput!] = [] + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestMessageConnection! +} + +""" +An interface for querying `HarvestRecord` records. + +""" +interface QueriesHarvestRecord { + """ + Retrieve a single `HarvestRecord` by slug. + + """ + harvestRecord( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestRecord + """ + Query all harvest records in the system. + + """ + harvestRecords( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestRecordOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestRecordConnection! +} + +""" +An interface for querying `HarvestSet` records. + +To query a collection of harvest sets, you must check from the Harvest Source. + +""" +interface QueriesHarvestSet { + """ + Retrieve a single `HarvestSet` by slug. + + """ + harvestSet( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestSet +} + +""" +An interface for querying `HarvestSource` records. + +""" +interface QueriesHarvestSource { + """ + Retrieve a single `HarvestSource` by slug. + + """ + harvestSource( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestSource + harvestSources( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestSourceOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestSourceConnection! +} + +""" +An interface for querying `Permalink` records. + +""" +interface QueriesPermalink { + """ + Retrieve a single `Permalink` by slug. + + """ + permalink( + """ + The slug to look up. + + """ + slug: Slug! + ): Permalink + """ + Retrieve a single `Permalink` by its URI. + + """ + permalinkByUri( + """ + The URI to look up. + + """ + uri: String! + ): Permalink + permalinks( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: PermalinkOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): PermalinkConnection! +} + +""" +Fields for querying schemas and schema-related data. + +""" +interface QueriesSchemas { + """A list of ordering paths for creating and updating orderings.""" + orderingPaths( + """ + If passed, this will restrict the property fields returned to the selected schemas. + """ + schemas: [OrderingSchemaFilterInput!] + ): [OrderingPath!]! + """Look up a schema definition by slug""" + schemaDefinition(slug: Slug!): SchemaDefinition + """List all schema definitions""" + schemaDefinitions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + namespace: String + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SchemaDefinitionConnection! + """Look up a schema version by slug""" + schemaVersion(slug: Slug!): SchemaVersion + """List all options for schema versions""" + schemaVersionOptions(kind: SchemaKind = ITEM, namespace: String): [SchemaVersionOption!]! + """List all schema versions""" + schemaVersions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + namespace: String + order: SchemaVersionOrder = LATEST + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SchemaVersionConnection! +} + +""" +An interface for querying `Submission` records. + +""" +interface QueriesSubmission { """ - Update the global configuration for this site. + Retrieve a single `Submission` by slug. """ - updateGlobalConfiguration( - """Parameters for UpdateGlobalConfiguration""" - input: UpdateGlobalConfigurationInput! - ): UpdateGlobalConfigurationPayload - """Update an item""" - updateItem( - """Parameters for UpdateItem""" - input: UpdateItemInput! - ): UpdateItemPayload - """Update an ordering by ID""" - updateOrdering( - """Parameters for UpdateOrdering""" - input: UpdateOrderingInput! - ): UpdateOrderingPayload - """Update an organization contributor""" - updateOrganizationContributor( - """Parameters for UpdateOrganizationContributor""" - input: UpdateOrganizationContributorInput! - ): UpdateOrganizationContributorPayload + submission( + """ + The slug to look up. + + """ + slug: Slug! + ): Submission """ - Update a page. + Retrieve a list of `Submission` records, optionally filtered by various criteria. """ - updatePage( - """Parameters for UpdatePage""" - input: UpdatePageInput! - ): UpdatePagePayload - """Update a person contributor""" - updatePersonContributor( - """Parameters for UpdatePersonContributor""" - input: UpdatePersonContributorInput! - ): UpdatePersonContributorPayload + submissions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionFilterInput!] = [] + order: SubmissionOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionConnection! +} + +""" +An interface for querying `SubmissionComment` records. + +""" +interface QueriesSubmissionComment { """ - Update the name or permissions for a given role. + Retrieve a single `SubmissionComment` by slug. """ - updateRole( - """Parameters for UpdateRole""" - input: UpdateRoleInput! - ): UpdateRolePayload + submissionComment( + """ + The slug to look up. + + """ + slug: Slug! + ): SubmissionComment """ - Update a user. + Retrieve a list of `SubmissionComment` records, optionally filtered by `submission`. """ - updateUser( - """Parameters for UpdateUser""" - input: UpdateUserInput! - ): UpdateUserPayload + submissionComments( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionCommentFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionCommentFilterInput!] = [] + order: SubmissionCommentOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionCommentConnection! +} + +""" +An interface for querying `SubmissionReview` records. + +""" +interface QueriesSubmissionReview { """ - Update the current viewer (i.e. you). + Retrieve a single `SubmissionReview` by slug. """ - updateViewerSettings( - """Parameters for UpdateViewerSettings""" - input: UpdateViewerSettingsInput! - ): UpdateViewerSettingsPayload + submissionReview( + """ + The slug to look up. + + """ + slug: Slug! + ): SubmissionReview + submissionReviews( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionReviewFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionReviewFilterInput!] = [] + order: SubmissionReviewOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionReviewConnection! +} + +""" +An interface for querying `SubmissionTarget` records. + +""" +interface QueriesSubmissionTarget { """ - Upsert a Contribution by contributable & contributor ID. It will override any - existing contributions for the same contributor on the same entity. + Retrieve a single `SubmissionTarget` by slug. """ - upsertContribution( - """Parameters for UpsertContribution""" - input: UpsertContributionInput! - ): UpsertContributionPayload + submissionTarget( + """ + The slug to look up. + + """ + slug: Slug! + ): SubmissionTarget """ - Reset a password for the current or specified user + Retrieve a list of `SubmissionTarget` records, optionally filtered by various criteria. """ - userResetPassword( - """Parameters for UserResetPassword""" - input: UserResetPasswordInput! - ): UserResetPasswordPayload -} - -""" -An error for a specific attribute in a mutation—intended for use with react-hook-form and similarly shaped structures -""" -type MutationAttributeError { - """The accumulated messages for this combination of path and type""" - messages: [String!]! - """The attribute that should have the error""" - path: String! - """A grouping type for the attribute""" - type: String! -} - -enum MutationErrorScope { - ATTRIBUTE - GLOBAL -} - -""" -An error that encapsulates the entire mutation input and is not tied to a specific input field. -""" -type MutationGlobalError { - """The actual message""" - message: String! - type: String! + submissionTargets( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionTargetFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionTargetFilterInput!] = [] + order: SubmissionTargetOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionTargetConnection! } """ -Entity schemas can define named ancestors, which allows UI developers to refer -authoritatively to significant relatives in an entity's ancestor. This object -represents the connection between an originating entity and its ancestors, -should any be defined for the schema. +An interface for querying `SubmissionTargetReviewer` records. """ -type NamedAncestor { - """The actual ancestor""" - ancestor: Entity! - """The depth of the ancestor in the hierarchy""" - ancestorDepth: Int! - """ - The name of the ancestor. Guaranteed to be unique for this specific entity. - """ - name: String! - """The relative depth of the originating entity""" - originDepth: Int! +interface QueriesSubmissionTargetReviewer { """ - The relative depth from the source entity to its ancestor. In other words, `(origin_depth - ancestor_depth)`. - Used for sorting ancestors deterministically. + Retrieve a single `SubmissionTargetReviewer` by slug. """ - relativeDepth: Int! + submissionTargetReviewer( + """ + The slug to look up. + + """ + slug: Slug! + ): SubmissionTargetReviewer + submissionTargetReviewers( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionTargetReviewerFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionTargetReviewerFilterInput!] = [] + order: SubmissionTargetReviewerOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionTargetReviewerConnection! } """ -An enumerated value associated with the templating subsystem. +Fields for querying system-level information about the current installation. """ -enum NavigationBackground { - """ - A dark gradient is applied to the background of this template. - - """ - DARK +interface QueriesSystem implements QueriesUser { + """Access top-level analytics.""" + analytics: Analytics! + """Fetch the global configuration for this installation""" + globalConfiguration: GlobalConfiguration! """ - A light gradient is applied to the background of this template. - + A helper field that is used to look up various details about the WDP-API ecosystem. """ - LIGHT + systemInfo: SystemInfo! + """Look up a user by slug""" + user(slug: Slug!): User + """A list of all users in the system""" + users( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: UserOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """ + Search for users with given OR family names that start with the provided text. + """ + prefix: String + ): UserConnection! """ - No background is applied to this template. + The currently authenticated user. AKA: you """ - NONE + viewer: User! } -type NavigationLayoutDefinition implements LayoutDefinition & Node & Sluggable { - createdAt: ISO8601DateTime! - id: ID! - layoutKind: LayoutKind! - slug: Slug! - """ - This layout will only ever have one template, so it can be fetched directly without needing the union. - - """ - template: NavigationTemplateDefinition +interface QueriesUser { + """Look up a user by slug""" + user(slug: Slug!): User + """A list of all users in the system""" + users( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: UserOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """ + Search for users with given OR family names that start with the provided text. + """ + prefix: String + ): UserConnection! """ - The ordered template definitions available for this layout. + The currently authenticated user. AKA: you """ - templates: [AnyNavigationTemplateDefinition!]! - updatedAt: ISO8601DateTime! + viewer: User! } -type NavigationLayoutInstance implements LayoutInstance & Node & Renderable & Sluggable { +""" +The entry point for retrieving data from within the Meru API. + +""" +type Query implements QueriesAccessAndRoles & QueriesContrib & QueriesControlledVocabulary & QueriesControlledVocabularySource & QueriesDepositorRequest & QueriesEntities & QueriesHarvestAttempt & QueriesHarvestExample & QueriesHarvestMapping & QueriesHarvestMessage & QueriesHarvestRecord & QueriesHarvestSet & QueriesHarvestSource & QueriesPermalink & QueriesSchemas & QueriesSubmission & QueriesSubmissionComment & QueriesSubmissionReview & QueriesSubmissionTarget & QueriesSubmissionTargetReviewer & QueriesSystem & QueriesUser & Searchable { """ - Whether all templates in this instance are hidden. + Retrieve all access grants. """ - allHidden: Boolean! + accessGrants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + entity: AccessGrantEntityFilter = ALL + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + subject: AccessGrantSubjectFilter = ALL + ): AnyAccessGrantConnection! + """Access top-level analytics.""" + analytics: Analytics! + """Look up an asset by slug""" + asset(slug: Slug!): Asset + """Look up a collection by slug""" + collection(slug: Slug!): Collection + """Look up a collection contribution by slug""" + collectionContribution(slug: Slug!): CollectionContribution + """List all communities""" + communities( + access: EntityPermissionFilter = SKIP + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: EntityOrder = PUBLISHED_DESCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): CommunityConnection! + """Look up a community by slug""" + community(slug: Slug!): Community + """Look up a community by its title""" + communityByTitle(title: String!): Community """ - Whether all slots in all template instances in this layout are empty. - + Look up contribution role configuration for a given contributable (or globally). """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! + contributionRoles( + """The contributable to load for, if applicable.""" + contributableId: ID + ): ContributionRoleConfiguration! + """Look up a contributor by slug""" + contributor(slug: Slug!): Contributor """ - The associated entity for this layout instance. + Look up a contributor `by` a certain `value`. """ - entity: Entity! - id: ID! + contributorLookup( + """ + The field to search a contributor with. Unless otherwise specified, the provided + `value` will be an exact match. + + """ + by: ContributorLookupField! + """ + For certain fields, the values are not guaranteed to be unique. In these instances, + the *most recently* created contributor will be selected by default. If the first + is preferred, specify `order: OLDEST`. + + """ + order: SimpleOrder! = RECENT + """ + The actual value to look a contributor up `by`. + + """ + value: String! + ): Contributor + """A list of all contributors in the system""" + contributors( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: ContributorFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + kind: ContributorFilterKind = ALL + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ContributorFilterInput!] = [] + order: ContributorOrder = NAME_ASCENDING + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """ + Search for contributors with names that start with the provided text. + + **Deprecated**: Use the `nameSearch` filter instead. + + """ + prefix: String + ): AnyContributorConnection! + controlledVocabularies( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: ControlledVocabularyFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ControlledVocabularyFilterInput!] = [] + order: ControlledVocabularyOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ControlledVocabularyConnection! """ - The time this object was last rendered. + Retrieve a single `ControlledVocabulary` by slug. """ - lastRenderedAt: ISO8601DateTime + controlledVocabulary( + """ + The slug to look up. + + """ + slug: Slug! + ): ControlledVocabulary """ - The layout definition for this type. + Retrieve a single `ControlledVocabularySource` by slug. """ - layoutDefinition: NavigationLayoutDefinition! - layoutKind: LayoutKind! - slug: Slug! + controlledVocabularySource( + """ + The slug to look up. + + """ + slug: Slug! + ): ControlledVocabularySource + controlledVocabularySources( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: ControlledVocabularySourceFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [ControlledVocabularySourceFilterInput!] = [] + order: ControlledVocabularySourceOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): ControlledVocabularySourceConnection! """ - This layout will only ever have one template, so it can be fetched directly without needing the union. + Retrieve a single `DepositorRequest` by slug. """ - template: NavigationTemplateInstance + depositorRequest( + """ + The slug to look up. + + """ + slug: Slug! + ): DepositorRequest + depositorRequests( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: DepositorRequestFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [DepositorRequestFilterInput!] = [] + order: DepositorRequestOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): DepositorRequestConnection! + """Fetch the global configuration for this installation""" + globalConfiguration: GlobalConfiguration! """ - The ordered template instances available for this layout. + Retrieve a single `HarvestAttempt` by slug. """ - templates: [AnyNavigationTemplateInstance!]! - updatedAt: ISO8601DateTime! -} - -type NavigationTemplateDefinition implements Node & Sluggable & TemplateDefinition { + harvestAttempt( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestAttempt """ - The background gradient to use for this template. Affects presentation. + Query all harvest attempts in the system. """ - background: NavigationBackground - createdAt: ISO8601DateTime! + harvestAttempts( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestAttemptOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestAttemptConnection! """ - If true, the metadata template/tab should be hidden for this schema. + Retrieve harvest examples for the system. """ - hideMetadata: Boolean - id: ID! - layoutKind: LayoutKind! + harvestExamples( + """ + Whether to look for "generic" harvesting examples which are not associated + with any protocol or metadata. + + """ + generic: Boolean = false + """ + The metadata format to filter by. + + """ + metadataFormat: HarvestMetadataFormat + """ + The protocol to filter by. + + """ + protocol: HarvestProtocol + ): [HarvestExample!]! """ - Slot definitions for this template. + Retrieve a single `HarvestMapping` by slug. """ - slots: NavigationTemplateDefinitionSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Slot definitions for the associated template. - -""" -type NavigationTemplateDefinitionSlots { - entityLabel: TemplateSlotInlineDefinition -} - -type NavigationTemplateInstance implements Node & Renderable & Sluggable & TemplateInstance { + harvestMapping( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestMapping """ - Whether all slots in this template are empty. + Query all harvest mappings in the system. """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! + harvestMappings( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestMappingOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestMappingConnection! + harvestMessages( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: HarvestMessageFilterInput = {severity: INFO} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [HarvestMessageFilterInput!] = [] + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestMessageConnection! """ - Load the associated definition for this template. + Retrieve a single `HarvestRecord` by slug. """ - definition: NavigationTemplateDefinition! + harvestRecord( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestRecord """ - The associated entity for this template instance. + Query all harvest records in the system. """ - entity: Entity! + harvestRecords( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestRecordOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestRecordConnection! """ - Whether this template instance should be hidden based on some logic. - - At present, this only occurs if certain slots are empty. + Retrieve a single `HarvestSet` by slug. """ - hidden: Boolean! - id: ID! + harvestSet( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestSet """ - The time this object was last rendered. + Retrieve a single `HarvestSource` by slug. """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! + harvestSource( + """ + The slug to look up. + + """ + slug: Slug! + ): HarvestSource + harvestSources( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: HarvestSourceOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): HarvestSourceConnection! + """Look up an item by slug""" + item(slug: Slug!): Item + """Look up an item contribution by slug""" + itemContribution(slug: Slug!): ItemContribution + """Fetches an object given its ID.""" + node( + """ID of the object.""" + id: ID! + ): Node + """Fetches a list of objects given a list of IDs.""" + nodes( + """IDs of the objects.""" + ids: [ID!]! + ): [Node]! + """A list of ordering paths for creating and updating orderings.""" + orderingPaths( + """ + If passed, this will restrict the property fields returned to the selected schemas. + """ + schemas: [OrderingSchemaFilterInput!] + ): [OrderingPath!]! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + Retrieve a single `Permalink` by slug. """ - nextSiblings: [TemplateInstanceSibling!]! + permalink( + """ + The slug to look up. + + """ + slug: Slug! + ): Permalink """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + Retrieve a single `Permalink` by its URI. """ - prevSiblings: [TemplateInstanceSibling!]! + permalinkByUri( + """ + The URI to look up. + + """ + uri: String! + ): Permalink + permalinks( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: PermalinkOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): PermalinkConnection! """ - Rendered slots for this template. + List all roles. """ - slots: NavigationTemplateInstanceSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Rendered slots for the associated template. - -""" -type NavigationTemplateInstanceSlots { - entityLabel: TemplateSlotInlineInstance -} - -"""An object with an ID.""" -interface Node { - """ID of the object.""" - id: ID! -} - -"""The priority for NULL values when sorting""" -enum NullOrderPriority { - FIRST - LAST -} - -""" -Require that `path ≥ value` while enforcing that value is numeric. - -Note: this will also work for integer paths. Coercion is handled -transparently by the API. - -""" -input NumericGTEOperatorInput { - path: String! - value: Float! -} - -""" -Require that `path ≤ value` while enforcing that value is numeric. - -Note: this will also work for integer paths. Coercion is handled -transparently by the API. - -""" -input NumericLTEOperatorInput { - path: String! - value: Float! -} - -""" -An interface for properties that have a set of predefined options to choose from. - -""" -interface OptionableProperty { - """The list of predefined options available for this property.""" - options: [SelectOption!]! -} - -""" -The boolean result of evaluating the left and right predicates. At least one must be true. - -While this is implemented, it is not likely that the first version of the search -UI will utilize it. It is intended for advanced searching. - -""" -input OrOperatorInput { - left: SearchPredicateInput! - right: SearchPredicateInput! -} - -"""Ordering for a specific column""" -type OrderDefinition { - direction: Direction! - nulls: NullOrderPriority! - path: String! -} - -"""Ordering for a specific column""" -input OrderDefinitionInput { - direction: Direction = ASCENDING - nulls: NullOrderPriority = LAST - path: String! -} - -""" -An ordering that belongs to an entity and arranges its children in a pre-configured way -""" -type Ordering implements Node & Searchable & Sluggable { - children( + roles( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: RoleOrder = DEFAULT + ): RoleConnection! + """Look up a schema definition by slug""" + schemaDefinition(slug: Slug!): SchemaDefinition + """List all schema definitions""" + schemaDefinitions( """Returns the elements in the list that come after the specified cursor.""" after: String """ @@ -13985,68 +21030,40 @@ type Ordering implements Node & Searchable & Sluggable { first: Int """Returns the last _n_ elements from the list.""" last: Int + namespace: String + order: SimpleOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SchemaDefinitionConnection! + """Look up a schema version by slug""" + schemaVersion(slug: Slug!): SchemaVersion + """List all options for schema versions""" + schemaVersionOptions(kind: SchemaKind = ITEM, namespace: String): [SchemaVersionOption!]! + """List all schema versions""" + schemaVersions( + """Returns the elements in the list that come after the specified cursor.""" + after: String """ - You can specify the direction to retrieve entries for an ordering. - INVERSE will be identical to DEFAULT if the ordering is marked constant. - + Returns the elements in the list that come before the specified cursor. """ - order: OrderingEntrySortMode = DEFAULT + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + namespace: String + order: SchemaVersionOrder = LATEST """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - ): OrderingEntryConnection! - """ - A constant ordering should be treated as not being able to invert itself. - """ - constant: Boolean! - """The number of entries currently visible within the ordering""" - count: Int! - createdAt: ISO8601DateTime! - """ - Whether the ordering has been disabled—orderings inherited from schemas will be disabled if deleted. - """ - disabled: Boolean! - """The time the ordering was disabled, if applicable""" - disabledAt: ISO8601Date - """The entity that owns the ordering""" - entity: Entity! - filter: OrderingFilterDefinition! - """Optional markdown content to render after the children""" - footer: String - """Optional markdown content to render before the children""" - header: String - """ - A hidden ordering represents an ordering that should not be shown in the frontend, - when iterating over an entity's available orderings. It does not affect access, as - hidden orderings may still serve a functional purpose for their schema. - - """ - hidden: Boolean! - id: ID! - """ - A unique identifier for the ordering within the context of its parent entity. - """ - identifier: String! - """Whether the ordering was inherited from its entity's schema definition""" - inheritedFromSchema: Boolean! - """An optional, human-readable name for the ordering""" - name: String - order: [OrderDefinition!]! - """ - For orderings that are `inheritedFromSchema`, this tracks whether or not the - entity has been modified from the schema's definition. It is always false - for custom, user-created orderings. - - """ - pristine: Boolean! - """ - Configuration for how to render an ordering and its entries. - - """ - render: OrderingRenderDefinition! + ): SchemaVersionConnection! """Search from this level of the API using it as the origin""" search( """ @@ -14063,2485 +21080,2140 @@ type Ordering implements Node & Searchable & Sluggable { """ visibility: EntityVisibilityFilter = VISIBLE ): SearchScope! - select: OrderingSelectDefinition! - slug: Slug! """ - A tree ordering has some special handling to return entities - in deterministic order based on their hierarchical position - and relation to other entities in the same ordering. + Retrieve a single `Submission` by slug. - This is effectively a shortcut for `Ordering.render.mode === "TREE"`. + """ + submission( + """ + The slug to look up. + + """ + slug: Slug! + ): Submission + """ + Retrieve a single `SubmissionComment` by slug. """ - tree: Boolean! - updatedAt: ISO8601DateTime! -} - -""" -An ordering's availability refers to it being enabled or disabled. - -""" -enum OrderingAvailabilityFilter { - """Do not filter orderings by whether they are enabled or disabled.""" - ALL - """Fetch only *disabled* orderings.""" - DISABLED - """Fetch only *enabled* orderings.""" - ENABLED -} - -""" -An enumerated value associated with the templating subsystem. - -""" -enum OrderingBackground { + submissionComment( + """ + The slug to look up. + + """ + slug: Slug! + ): SubmissionComment """ - A dark gradient is applied to the background of this template. + Retrieve a list of `SubmissionComment` records, optionally filtered by `submission`. """ - DARK + submissionComments( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionCommentFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionCommentFilterInput!] = [] + order: SubmissionCommentOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionCommentConnection! """ - A light gradient is applied to the background of this template. + Retrieve a single `SubmissionReview` by slug. """ - LIGHT + submissionReview( + """ + The slug to look up. + + """ + slug: Slug! + ): SubmissionReview + submissionReviews( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionReviewFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionReviewFilterInput!] = [] + order: SubmissionReviewOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionReviewConnection! """ - No background is applied to this template. + Retrieve a single `SubmissionTarget` by slug. """ - NONE -} - -"""The connection type for Ordering.""" -type OrderingConnection implements Paginated { - """A list of edges.""" - edges: [OrderingEdge!]! - """A list of nodes.""" - nodes: [Ordering!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} - -""" -A definition for an ordering (may be dynamic). - -""" -type OrderingDefinition { + submissionTarget( + """ + The slug to look up. + + """ + slug: Slug! + ): SubmissionTarget """ - A constant ordering should be treated as not being able to invert itself. + Retrieve a single `SubmissionTargetReviewer` by slug. + """ - constant: Boolean! - filter: OrderingFilterDefinition! + submissionTargetReviewer( + """ + The slug to look up. + + """ + slug: Slug! + ): SubmissionTargetReviewer + submissionTargetReviewers( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionTargetReviewerFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionTargetReviewerFilterInput!] = [] + order: SubmissionTargetReviewerOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionTargetReviewerConnection! """ - A hidden ordering represents an ordering that should not be shown in the frontend, - when iterating over an entity's available orderings. It does not affect access, as - hidden orderings may still serve a functional purpose for their schema. + Retrieve a list of `SubmissionTarget` records, optionally filtered by various criteria. """ - hidden: Boolean! + submissionTargets( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionTargetFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionTargetFilterInput!] = [] + order: SubmissionTargetOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionTargetConnection! """ - A unique identifier for the ordering within the context of its parent entity. + Retrieve a list of `Submission` records, optionally filtered by various criteria. + """ - identifier: String! - """An optional, human-readable name for the ordering""" - name: String - order: [OrderDefinition!]! + submissions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. + + """ + filters: SubmissionFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """ + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. + + """ + orFilters: [SubmissionFilterInput!] = [] + order: SubmissionOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionConnection! """ - Configuration for how to render an ordering and its entries. - + A helper field that is used to look up various details about the WDP-API ecosystem. """ - render: OrderingRenderDefinition! - select: OrderingSelectDefinition! + systemInfo: SystemInfo! + """Look up a user by slug""" + user(slug: Slug!): User + """A list of all users in the system""" + users( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + order: UserOrder = RECENT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + """ + Search for users with given OR family names that start with the provided text. + """ + prefix: String + ): UserConnection! """ - A tree ordering has some special handling to return entities - in deterministic order based on their hierarchical position - and relation to other entities in the same ordering. - - This is effectively a shortcut for `Ordering.render.mode === "TREE"`. + The currently authenticated user. AKA: you """ - tree: Boolean! -} - -enum OrderingDirectSelection { - CHILDREN - DESCENDANTS - NONE -} - -"""An edge in a connection.""" -type OrderingEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: Ordering! + viewer: User! } """ -An entry within an ordering, it can refer to an entity or an entity link +An entity which can be limited in its visibility, based on some configured attributes. + """ -type OrderingEntry implements Node & Sluggable { - """ - When the associated `Ordering` is a `TREE`, and the current entry is a leaf, this array can be used - to get the associated ancestors within the entry that - - """ - ancestors: [OrderingEntry!]! - createdAt: ISO8601DateTime! - """ - The actual element being ordered. At present, this will only be a `Community`, `Collection`, or `Item`, - but future implementations of orderings may include other content, such as presentation elements. - - """ - entry: OrderingEntryable! - """ - The delegated `slug` from the associated `entry`. - - This can be null because future entries may not implement it. - - """ - entrySlug: Slug +interface ReferencesEntityVisibility { """ - The delegated `title` from the associated `entry`. - - This can be null because future entries may not implement it. + Whether the entity is _currently_ hidden, based on the server's time zone. """ - entryTitle: String - id: ID! + currentlyHidden: Boolean! """ - The next entry in the current ordering, if one exists. This will be null if this entry is the last. + Whether the entity is _currently_ visible, based on the server's time zone. """ - nextSibling: OrderingEntry - """The parent ordering""" - ordering: Ordering! + currentlyVisible: Boolean! """ - The 1-based position of this entry. + Whether the entity's visibility is set to `HIDDEN` """ - position: Int + hidden: Boolean! """ - The previous entry in the current ordering, if one exists. This will be null if this entry is the first. + Specify a time to check to see if the entity will be hidden. """ - prevSibling: OrderingEntry + hiddenAsOf( + """ + If no value is provided, it will default to the current time. + + """ + time: ISO8601DateTime + ): Boolean! + """If present, this is the timestamp the entity was hidden at""" + hiddenAt: ISO8601DateTime + """If an entity is available in the frontend""" + visibility: EntityVisibility! """ - A calculation of the depth of an entry in the hierarchy, relative to the ordering's owning entity. + Whether the entity's visibility is set to `VISIBLE`. """ - relativeDepth: Int! - slug: Slug! + visible: Boolean! + """If present, this is the timestamp an entity is visible after""" + visibleAfterAt: ISO8601DateTime """ - When an ordering's render mode is set to TREE, its entries will have this set. - It is a normalized depth based on what other entities were accepted into the ordering. + Specify a time to check to see if the entity will be visible. """ - treeDepth: Int - updatedAt: ISO8601DateTime! + visibleAsOf( + """ + If no value is provided, it will default to the current time. + + """ + time: ISO8601DateTime + ): Boolean! + """If present, this is the timestamp an entity is visible until""" + visibleUntilAt: ISO8601DateTime } -"""The connection type for OrderingEntry.""" -type OrderingEntryConnection implements Paginated { - """A list of edges.""" - edges: [OrderingEntryEdge!]! - """A list of nodes.""" - nodes: [OrderingEntry!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} +""" +An interface for retrieving certain shared, common variable-precision dates +that are associated with events in the publication, collection, and release +of an entity. -"""An edge in a connection.""" -type OrderingEntryEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: OrderingEntry! +""" +interface ReferencesGlobalEntityDates { + """The date this entity was published""" + published: VariablePrecisionDate! } -""" -When fetching entries from an ordering, you can swap between the default or a special 'inverted' mode -""" -enum OrderingEntrySortMode { - """Retrieve the ordering entries as defined by default""" - DEFAULT +"""Autogenerated input type of RenderLayouts""" +input RenderLayoutsInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Retrieve the ordering entries in an inverted order, accounting for paths + The entity to render layouts on. + """ - INVERSE -} - -""" -An entity or link which can appear in an ordering. - -""" -interface OrderingEntryable implements Node { - """ID of the object.""" - id: ID! + entityId: ID! } -""" -A collection of settings for filtering what appears what entities -may populate an ordering. At present, this only supports schemas. - -""" -type OrderingFilterDefinition { +"""Autogenerated return type of RenderLayouts.""" +type RenderLayoutsPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - If set, any child or descendant that matches one of these schemas will - be availabel to be included in the ordering. + The newly-rendered entity with its updated layouts, if successful. """ - schemas: [OrderingSchemaFilter!]! + entity: AnyEntity + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String } """ -A collection of settings for filtering what appears what entities -may populate an ordering. At present, this only supports schemas. +An interface describing an instance type that can be rendered for a given entity. """ -input OrderingFilterDefinitionInput { +interface Renderable { """ - If set, any child or descendant that matches one of these schemas will - be availabel to be included in the ordering. + The time this object was last rendered. """ - schemas: [OrderingSchemaFilterInput!] + lastRenderedAt: ISO8601DateTime } -""" -An enum used to order `Ordering`s. It uses `DETERMINISTIC` by default to ensure a consistent rendering experience. -""" -enum OrderingOrder { +"""Autogenerated input type of ReparentEntity""" +input ReparentEntityInput { """ - Sort orderings by their static position of the ordering, falling back to the name if unset. + The collection in need of a new parent + """ - DETERMINISTIC - """Sort orderings by oldest created date""" - OLDEST - """Sort orderings by newest created date""" - RECENT -} - -""" -This represents a valid path that can be used for orderings. - -""" -interface OrderingPath { - """A helpful description of the path""" - description: String - """A logical grouping for ordering paths""" - grouping: OrderingPathGrouping! - """A human-readable label for the path""" - label: String! + childId: ID! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Some paths may have a prefix. For instance, schema properties will have the name of the schema. + The ID for the new parent entity. For children of the collection type, this + must be a community or another collection. For children of the item type, + this must be a collection or another item. """ - labelPrefix: String - """The exact path that should be provided to mutation inputs.""" - path: String! - """The schema property type""" - type: SchemaPropertyType! + parentId: ID! } -"""A logical grouping for ordering paths.""" -enum OrderingPathGrouping { +"""Autogenerated return type of ReparentEntity.""" +type ReparentEntityPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """If the child was successfully reparented, this field will be populated""" + child: AnyChildEntity + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +"""Autogenerated input type of ResetOrdering""" +input ResetOrderingInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + orderingId: ID! +} + +"""Autogenerated return type of ResetOrdering.""" +type ResetOrderingPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + ordering: Ordering +} + +"""Autogenerated input type of RevokeAccess""" +input RevokeAccessInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + entityId: ID! + roleId: ID! + userId: ID! +} + +"""Autogenerated return type of RevokeAccess.""" +type RevokeAccessPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + entity: AnyEntity + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """Whether or not access was revoked""" + revoked: Boolean +} + +"""A named role in the Meru API""" +type Role implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """The access control list for this specific role""" + accessControlList: AccessControlList! + """A list of action names that have been granted to this role""" + allowedActions: [String!]! """ - Paths under this type come from _ancestors_ in a schema. - Not every entity is guaranteed to have one, and in orderings - with mixed entities, missing props will be treated as null. + Whether the current user has permission to destroy this record. """ - ANCESTOR_PROPS + canDestroy: AuthorizationResult! """ - Static properties that are directly on an ancestor. + Whether the current user has permission to update this record. """ - ANCESTOR_STATIC + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """Only relevant for `custom` roles, this affects sorting.""" + customPriority: Int """ - Static properties that are directly on an entity. + The global access control list that this assigned role implies, based on its sort order. """ - ENTITY + globalAccessControlList: GlobalAccessControlList! """ - Static properties that are derived from a link. + A list of global action names that this role implies, based on its sort order. """ - LINK + globalAllowedActions: [String!]! + id: ID! """ - Paths under this type come from a schema. Not every entity is guaranteed - to have one, and in orderings with mixed entities, missing props will be - treated as null. + For `system` roles, this will be populated with the unique identifier + that marks this as a system role. """ - PROPS + identifier: RoleSystemIdentifier """ - Static properties that are derived from a schema. + The specific kind of role this is, based on how it entered the WDP-API. """ - SCHEMA -} - -""" -Configuration for controlling how an ordering renders itself and its entries. - -""" -type OrderingRenderDefinition { - """How to render entries within""" - mode: OrderingRenderMode! -} - -""" -Describe how an ordering should render its entries. - -""" -input OrderingRenderDefinitionInput { - mode: OrderingRenderMode = FLAT -} - -""" -How entries in an ordering should be rendered. - -""" -enum OrderingRenderMode { + kind: RoleKind! + """The human readable name of the role within the system""" + name: String! """ - The default for most orderings. Every ordering is considered to be on - the same level of the hierarchy, and positions are calculated based - solely on the paths. + Surfaced from the accessControlList for convenience, these are returned as + an array that allows a user to check for the state of all possible roles + without having to specify them explicitly in the GraphQL request """ - FLAT + permissions: [PermissionGrant!]! """ - A special mode for handling orderings that should operate like a tree. In this setting, - entries will be calculated first as though they were flat, then analyzed in order to - adjust the positioning to account for the entry's ancestors and position relative to - other entries in the ordering. + Used internally to sort roles and ensure certain role types are above + and below others, irrespective of priority. """ - TREE -} - -""" -This defines a specific schema that an ordering can filter its entries by -""" -type OrderingSchemaFilter { + primacy: RolePrimacy! """ - The identifier within the namespace for the schema. + The calculated sort priority for this role. - """ - identifier: String! - """ - The namespace the schema occupies. + * For `custom` roles, it is based on `custom_priority`. + * For `system` roles, it is based on hard-coded values within the system + and cannot be modified. """ - namespace: String! + priority: Int! """ - An optional version requirement for the associated schema. + The encoded slug for this record. """ - version: VersionRequirement + slug: Slug! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! +} + +"""The connection type for Role.""" +type RoleConnection implements Paginated { + """A list of edges.""" + edges: [RoleEdge!]! + """A list of nodes.""" + nodes: [Role!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""An edge in a connection.""" +type RoleEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: Role! } """ -This defines a specific schema that an ordering can filter its entries by +A categorization of a `Role` based on how it gets into the WDP-API. + """ -input OrderingSchemaFilterInput { - """ - The identifier within the namespace for the schema. - - """ - identifier: String! +enum RoleKind { """ - The namespace the schema occupies. + Custom roles are created and managed through the `createRole`, `updateRole`, and `destroyRole` mutations. """ - namespace: String! + CUSTOM """ - An optional version requirement for this ordering. It supports - Ruby's version declaration syntax, so you can provide a value - like `">= 1.2"` to match against semantically-versioned schemas. + System roles are shipped by default with WDP-API and cannot be modified. """ - version: VersionRequirement + SYSTEM +} + +"""Sort roles by a specific property and order""" +enum RoleOrder { + """Sort roles by default priority within the system""" + DEFAULT + """Sort roles by their name A-Z""" + NAME_ASCENDING + """Sort roles by their name Z-A""" + NAME_DESCENDING + """Sort roles by oldest created date""" + OLDEST + """Sort roles by newest created date""" + RECENT } """ -Defines how an ordering should select its entries. +A grid of permissions related to role management in Meru. -""" -type OrderingSelectDefinition { - direct: OrderingDirectSelection! - links: OrderingSelectLinkDefinition! -} +It lives in the `GlobalAccessControlList`. -""" -Define how an ordering should select its entries +This does not determine anything about role _assignment_, +for that, see the `manageAccess` permission in entity grids. +Instead, the permissions here are solely related to managing +role records themselves. """ -input OrderingSelectDefinitionInput { - direct: OrderingDirectSelection = CHILDREN - links: OrderingSelectLinkDefinitionInput +type RolePermissionGrid implements CRUDPermissionGrid & ExposesPermissions & PermissionGrid { + """ + A list of allowed actions for the given user on this entity (and its descendants). + """ + allowedActions: [String!]! + create: Boolean! + delete: Boolean! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! + read: Boolean! + update: Boolean! } """ -Describes how an ordering should select its links. +The level of importance any given role has when it comes to determing what a user's "primary" role is. """ -type OrderingSelectLinkDefinition { - contains: Boolean! - references: Boolean! +enum RolePrimacy { + """ + Values with this primacy level are the default. Any custom roles will be in this scope. + """ + DEFAULT + """ + Values with this primacy level take priority over all others. They cannot be directly assigned through the API. + """ + HIGH + """ + Values with this primacy level are always sorted after every other role. + """ + LOW } """ -Describe how an ordering should select its links. +This will identify _which_ `system` role this is, if applicable. See `RoleKind` for more information. """ -input OrderingSelectLinkDefinitionInput { - contains: Boolean - references: Boolean -} - -type OrderingTemplateDefinition implements Node & Sluggable & TemplateDefinition { +enum RoleSystemIdentifier { """ - The background gradient to use for this template. Affects presentation. + A global administrator. This role cannot be directly assigned. """ - background: OrderingBackground - createdAt: ISO8601DateTime! - id: ID! - layoutKind: LayoutKind! + ADMIN """ - The identifier for the ordering to derive next/prev siblings from. - - Refer to `orderingSource` and `selectionSource` for more details. + An author can update and read its own entity, but does not have permissions to do anything else. """ - orderingIdentifier: SchemaComponent + AUTHOR """ - A reference to the entity that contains an ordering identified by `orderingIdentifier`. - It operates exactly like `selectionSource`. See that property for more documentation. - - **Note**: While `self` is allowed here, it only makes sense if the rendering entity - is contained in one of its own orderings, which doesn't happen normally. The template - will still render, but it likely won't find siblings. + A depositor can read anything under its assigned hierarchy, and can also deposit new items and collections. """ - orderingSource: TemplateSelectionSource - orderingSourceAncestorName: SchemaComponent - orderingSourceMode: SelectionSourceMode + DEPOSITOR """ - What entity to use for detecting the positional prev/next siblings. - - By default, it is `self`. However, it can be overridden for creating templates that - navigate through parent issues, volumes, journals, etc. For instance, an article could - create an `` template that has the following properties set: - - * `selectionSource`: `"ancestors.issue"` - * `orderingSource`: `"ancestors.journal"` - * `orderingIdentifier`: `"issues"` - - This would use the _journal's_ `issues` ordering to navigate through the article's - associated `issues`, and provide a quick way to navigate through varying levels of - the upper hierarchy from lower points in the tree. + An editor has basic update permissions for a specific point in the hierarchy. """ - selectionSource: TemplateSelectionSource + EDITOR """ - The derived name of the ancestor used for the `selectionSource`. + A manager can be assigned to handle most `Community` and other entity management concerns. - Exposed for introspection only. + They can also appoint other roles (except for other managers) to any entity they manage. """ - selectionSourceAncestorName: SchemaComponent + MANAGER """ - An enum representing what mode `selectionSource` is in. Not directly set, - it is used internally for lookups. + A reader is anyone who has been given explicit read-access to an entity. + This role is primarily used by the administration UI. - """ - selectionSourceMode: SelectionSourceMode - """ - Slot definitions for this template. + **Note**: Anonymous users can still view public entities in the frontend. """ - slots: OrderingTemplateDefinitionSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! + READER """ - This controls how wide the template should render. - - **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - template that also uses `HALF`. + A reviewer can review any assigned entity as well as its subcollections and items. """ - width: TemplateWidth + REVIEWER } """ -Slot definitions for the associated template. +A property on a `SchemaInstance`. """ -type OrderingTemplateDefinitionSlots { - nextLabel: TemplateSlotInlineDefinition - previousLabel: TemplateSlotInlineDefinition -} - -type OrderingTemplateInstance implements Node & Renderable & Sluggable & TemplateHasOrderingPair & TemplateInstance { +interface ScalarProperty implements SchemaProperty { """ - Whether all slots in this template are empty. + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. - """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! - """ - Load the associated definition for this template. + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. """ - definition: OrderingTemplateDefinition! + array: Boolean! """ - The associated entity for this template instance. + A human-readable description for the property. It should describe the purpose of the + property as well as some details about the types of values it looks for. + + It can be rendered as help text, hints, etc. """ - entity: Entity! + description: String """ - Whether this template instance should be hidden based on some logic. - - At present, this only occurs if certain slots are empty. + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. """ - hidden: Boolean! - id: ID! + fullPath: String! """ - The time this object was last rendered. + The purpose or intent of this property relative to its entity, parents, and others. """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! + function: SchemaPropertyFunction! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + Instructions for filling out this property during submission, if applicable. """ - nextSiblings: [TemplateInstanceSibling!]! + instructions: String """ - Access the prev/next siblings within the template's specified ordering. + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. """ - orderingPair: TemplateOrderingPair! + isWide: Boolean! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + Provided for introspection. This describes the underlying structure of the data type. """ - prevSiblings: [TemplateInstanceSibling!]! + kind: SchemaPropertyKind! """ - Rendered slots for this template. + A human-readable label for the schema property. """ - slots: OrderingTemplateInstanceSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Rendered slots for the associated template. - -""" -type OrderingTemplateInstanceSlots { - nextLabel: TemplateSlotInlineInstance - previousLabel: TemplateSlotInlineInstance -} - -enum OrderingVisibilityFilter { - """Do not filter orderings by their visibility.""" - ALL - """Fetch only *hidden* orderings.""" - HIDDEN + label: String! """ - Fetch only *visible* orderings. This has no bearing on the ordering's *availability*. + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. + """ - VISIBLE -} - -""" -An organization that has made contributions. - -""" -type OrganizationContributor implements Contributor & ContributorBase & HasHarvestModificationStatus & Node & Sluggable { + orderable: Boolean! """ - Only applicable when `kind` = `PERSON`. + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. """ - affiliation: String - attributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: ContributorAttributionOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ContributorAttributionConnection! - bio: String + path: String! """ - The total number of collection contributions from this contributor. + Whether or not this property is required in order for the schema instance + to be considered valid. + + Note: invalid data provided to a schema property will still invalidate + the instance as a whole—the required trait only determines whether a value + **must** be set. """ - collectionContributionCount: Int! - collectionContributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: ContributionOrder = TARGET_TITLE_ASCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): CollectionContributionConnection! - """ - The total number of contributions (item + collection) from this contributor. + required: Boolean! + """ + Whether or not this property should be displayed as part of the submission process for this schema. """ - contributionCount: Int! - createdAt: ISO8601DateTime! - email: String + submittable: Boolean! """ - Only applicable when `kind` = `PERSON`. + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. """ - familyName: String + type: SchemaPropertyType! +} + +""" +A string primitive with a very constrained format, representing components +of a schema like namespaces, identifiers, ordering names, etc. + +It is also used in the templating subsystem. + +It corresponds to the regular expression `(?-mix:\A[a-z][a-z0-9_]*?[a-z0-9]\z)`. + +""" +scalar SchemaComponent + +""" +A schema definition is a logical grouping of `SchemaVersion`s that identifies +only the shared kind, namespace, and identifier. The name is also most likely +shared, although it can change between schema versions, and the value on the +definition will default to whatever the most recent version uses. + +""" +type SchemaDefinition implements CommonModel & CommonPermissions & DescribesSchema & HasDefaultTimestamps & Node & Sluggable { """ - Only applicable when `kind` = `PERSON`. + Whether the current user has permission to destroy this record. """ - givenName: String + canDestroy: AuthorizationResult! """ - The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have - no effect on this record. + Whether the current user has permission to update this record. """ - harvestModificationStatus: HarvestModificationStatus! - id: ID! - identifier: String! - """An optional image associated with the contributor.""" - image: ImageAttachment! - """Configurable metadata for the image attachment""" - imageMetadata: ImageMetadata + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - The total number of item contributions from this contributor. + The full declaration for this schema, including namespace, identifier, and version (if available). """ - itemContributionCount: Int! - itemContributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: ContributionOrder = TARGET_TITLE_ASCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ItemContributionConnection! - kind: ContributorKind! + declaration: String! + id: ID! """ - Only applicable when `kind` = `ORGANIZATION`. + A unique (per-namespace) value that names the schema within the system. """ - legalName: String - links: [ContributorLink!]! + identifier: String! """ - Only applicable when `kind` = `ORGANIZATION`. + The kind of entity this schema applies to. """ - location: String + kind: SchemaKind! """ - A display name, independent of the type of contributor. + A human-readable name for the schema. """ name: String! """ - An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. + A unique namespace the schema lives in. """ - orcid: String - prefix: String - slug: Slug! - suffix: String + namespace: String! """ - Only applicable when `kind` = `PERSON`. + The encoded slug for this record. """ - title: String - updatedAt: ISO8601DateTime! - url: String -} - -"""A page of arbitrary content for an entity""" -type Page implements Node { - body: String! - createdAt: ISO8601DateTime! - entity: Entity! - """The hero image for a page""" - heroImage: ImageAttachment! - """Configurable metadata for the hero_image attachment""" - heroImageMetadata: ImageMetadata - id: ID! - position: Int - slug: String! - title: String! + slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -"""The connection type for Page.""" -type PageConnection implements Paginated { +"""The connection type for SchemaDefinition.""" +type SchemaDefinitionConnection implements Paginated { """A list of edges.""" - edges: [PageEdge!]! + edges: [SchemaDefinitionEdge!]! """A list of nodes.""" - nodes: [Page!]! + nodes: [SchemaDefinition!]! """Information to aid in pagination.""" pageInfo: PageInfo! } -"""Determines the direction that page-number based pagination should flow""" -enum PageDirection { - BACKWARDS - FORWARDS -} - """An edge in a connection.""" -type PageEdge { +type SchemaDefinitionEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: Page! -} - -"""Information about pagination in a connection.""" -type PageInfo { - """When paginating forwards, the cursor to continue.""" - endCursor: String - """When paginating forwards, are there more items?""" - hasNextPage: Boolean! - """When paginating backwards, are there more items?""" - hasPreviousPage: Boolean! - """ - The page (if page-based pagination is supported and one was provided, does not introspect a value with cursor-based pagination) - """ - page: Int - """ - The total number of pages available to the connection (if page-based pagination supported and a page was provided) - """ - pageCount: Int - """ - The number of edges/nodes per page (if page-based pagination supported and a page was provided) - """ - perPage: Int - """When paginating backwards, the cursor to continue.""" - startCursor: String - """ - The total number of nodes available to this connection, constrained by applied filters (if any) - """ - totalCount: Int! - """ - The total number of nodes available to this connection, independent of any filters - """ - totalUnfilteredCount: Int! + node: SchemaDefinition! } """ -An enumerated value associated with the templating subsystem. +Being an instance that implements a schema version with strongly-typed properties. +Overlaps with Entity, but intended for focused access to just the properties +and the necessary context. """ -enum PageListBackground { - """ - A dark gradient is applied to the background of this template. - - """ - DARK +interface SchemaInstance { """ - A light gradient is applied to the background of this template. + Expose all available entities for this schema property. """ - LIGHT + availableEntitiesFor( + """ + The full path to the schema property. Please note, paths are snake_case, not camelCase. + + """ + fullPath: String! + ): [EntitySelectOption!]! """ - No background is applied to this template. + The context for our schema instance. Includes form values and necessary referents. """ - NONE -} - -type PageListTemplateDefinition implements Node & Sluggable & TemplateDefinition { + schemaInstanceContext: SchemaInstanceContext! """ - The background gradient to use for this template. Affects presentation. + A list of schema properties associated with this instance or version. """ - background: PageListBackground - createdAt: ISO8601DateTime! - id: ID! - layoutKind: LayoutKind! + schemaProperties: [SchemaProperty!]! """ - Slot definitions for this template. + Read a single schema property by its full path. """ - slots: PageListTemplateDefinitionSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! - """ - This controls how wide the template should render. - - **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - template that also uses `HALF`. + schemaProperty( + """ + The full path to the schema property. Please note, paths are snake_case, not camelCase. + + """ + fullPath: String! + ): SchemaProperty +} + +"""A context that describes the current state of the form""" +type SchemaInstanceContext { + assets: [AssetSelectOption!]! + contributors: [ContributorSelectOption!]! + """Not yet populated. May be used in the future.""" + defaultValues: JSON! + """The entity ID for this schema instance.""" + entityId: ID! + """The values for the schema form on this instance""" + fieldValues: JSON! + """The slug for the current schema version""" + schemaVersionSlug: String! + """Information about the validity of the schema instance""" + validity: SchemaInstanceValidation +} + +type SchemaInstanceValidation { + errors: [SchemaValueError!]! + valid: Boolean! + validatedAt: ISO8601DateTime! +} + +"""The kind of entity a schema applies to""" +enum SchemaKind { + COLLECTION + COMMUNITY + ITEM +} + +""" +This ordering path represents a schema property and is variably +available based on whether matched entities' schemas implement it. + +""" +type SchemaOrderingPath implements OrderingPath { + """A helpful description of the path""" + description: String + """A logical grouping for ordering paths""" + grouping: OrderingPathGrouping! + """A human-readable label for the path""" + label: String! + """ + Some paths may have a prefix. For instance, schema properties will have the name of the schema. """ - width: TemplateWidth + labelPrefix: String + """The exact path that should be provided to mutation inputs.""" + path: String! + schemaVersion: SchemaVersion! + """The schema property type""" + type: SchemaPropertyType! } """ -Slot definitions for the associated template. +A property on a `SchemaInstance`. """ -type PageListTemplateDefinitionSlots { - header: TemplateSlotInlineDefinition -} - -type PageListTemplateInstance implements Node & Renderable & Sluggable & TemplateInstance { +interface SchemaProperty { """ - Whether all slots in this template are empty. + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. - """ - allSlotsEmpty: Boolean! - createdAt: ISO8601DateTime! - """ - Load the associated definition for this template. + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. """ - definition: PageListTemplateDefinition! + array: Boolean! """ - The associated entity for this template instance. + A human-readable description for the property. It should describe the purpose of the + property as well as some details about the types of values it looks for. + + It can be rendered as help text, hints, etc. """ - entity: Entity! + description: String """ - Whether this template instance should be hidden based on some logic. - - At present, this only occurs if certain slots are empty. + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. """ - hidden: Boolean! - id: ID! + fullPath: String! """ - The time this object was last rendered. + Provided for introspection. This describes the underlying structure of the data type. """ - lastRenderedAt: ISO8601DateTime - layoutKind: LayoutKind! + kind: SchemaPropertyKind! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. """ - nextSiblings: [TemplateInstanceSibling!]! + orderable: Boolean! """ - Return all preceding siblings to the current template in order of proximity. - - If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. """ - prevSiblings: [TemplateInstanceSibling!]! + path: String! """ - Rendered slots for this template. + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. """ - slots: PageListTemplateInstanceSlots! - slug: Slug! - templateKind: TemplateKind! - updatedAt: ISO8601DateTime! -} - -""" -Rendered slots for the associated template. - -""" -type PageListTemplateInstanceSlots { - header: TemplateSlotInlineInstance -} - -"""Connections can be paginated by cursor or number.""" -interface Paginated { - """Information to aid in pagination.""" - pageInfo: PageInfo! + type: SchemaPropertyType! } """ -A permalink is a persistant link to a resource with a human-readable URI. -Each resource can have multiple permalinks, but only one can be marked as canonical. - +Schema properties can serve various functions. This helps communicate the purpose of them, for building UIs, and general introspection. """ -type Permalink implements Node & Sluggable { +enum SchemaPropertyFunction { """ - Whether this permalink is the canonical one for the `permalinkable`. + This property acts as data inherently representative of the entity. Full text of an article, titling, and other such purposes. """ - canonical: Boolean! - createdAt: ISO8601DateTime! - id: ID! + CONTENT """ - The type of resource this permalink points to. + This property is intended to offer further information about the content, but not necessarily the content itself. + Most metadata should be things that are filterable or searchable to help users find and learn more about related + content. """ - kind: PermalinkableKind! + METADATA """ - The resource this permalink points to. + This property is used for presenting information *about* the content, or how it should be formatted, but is less reflective + of the content itself. An option for changing a specific render style, an additional image to display, etc. """ - permalinkable: Permalinkable! + PRESENTATION """ - The slug of the `permalinkable` record. - - It can be used for quickly generating non-canonical links to the resource - based on the `kind` without needing to load the associated record. + This property is only used when ordering this entity by ancestors. It should not generally be visible in the frontend, but + remain editable by admins to adjust ordering. """ - permalinkableSlug: String! - slug: Slug! - updatedAt: ISO8601DateTime! + SORTING """ - The URI of the permalink. Used for generating routes and also serves as a unique identifier. - - **Note**: URIs are _case-insensitive_ and may only contain alphanumeric characters and hyphens. - Hyphens may not be consecutive nor may they appear at the start nor the end of the URI. + This property's purpose remains unspecified and is likely the mark of a schema still in development. It should not generally + be in a finished schema, as it is important to help communicate the intent of a property for those building a UI. """ - uri: String! + UNSPECIFIED } -"""The connection type for Permalink.""" -type PermalinkConnection implements Paginated { - """A list of edges.""" - edges: [PermalinkEdge!]! - """A list of nodes.""" - nodes: [Permalink!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} +""" +The _kind_ of a data type for a schema property. Mostly informational +in the API, this value represents the underlying structure of the data type. -"""Autogenerated input type of PermalinkCreate""" -input PermalinkCreateInput { +""" +enum SchemaPropertyKind { """ - Whether this permalink should be the canonical permalink for its resource. + A complex data type that is composed of multiple subproperties + or requires other processing. Their values cannot be easily + mapped to GraphQL / JavaScript primitives. - If true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink. + See `VariableDateProperty`, `FullTextProperty` for examples. """ - canonical: Boolean = false - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + COMPLEX + """A composite of other properties. See `GroupProperty`""" + GROUP """ - The ID of the resource to which this permalink will belong. + A reference (or references) to other models in the system. - It can be changed. + See `AssetProperty`, `ContributorsProperty` for examples """ - permalinkableId: ID! + REFERENCE """ - The URI for the permalink. - - It is case-insensitive and must be unique system-wide. - - It may only contain letters, numbers, and hyphens. - It may not begin nor end with a hyphen, nor contain consecutive hyphens. + The most common type of property, and what most values are likely to be. Strings, + integers, floats, booleans, and so on. """ - uri: String! + SIMPLE } -"""Autogenerated return type of PermalinkCreate.""" -type PermalinkCreatePayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String +""" +A path to a schema property (it will always be a string primitive). + +It can come in the form of a `"single_property"` or a `"nested.property"`. + +This scalar is only used to assert the _format_, it does not +validate that it is an existing schema property. + +""" +scalar SchemaPropertyPath + +"""The data type for a schema property.""" +enum SchemaPropertyType { """ - The newly-modified permalink, if successful. - + A reference to a single asset owned by the schema instance. See `AssetProperty` """ - permalink: Permalink -} - -"""Autogenerated input type of PermalinkDestroy""" -input PermalinkDestroyInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + ASSET """ - The permalink to destroy. - + A reference to multiple assets owned by the schema instance. See `AssetsProperty` """ - permalinkId: ID! -} - -"""Autogenerated return type of PermalinkDestroy.""" -type PermalinkDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + ASSETS + """True or false, yes or no, a checkbox. See `BooleanProperty`""" + BOOLEAN + """ + A reference to a single contributor in the system. See `ContributorProperty` + """ + CONTRIBUTOR + """ + A reference to multiple contributors in the system. See `ContributorsProperty` + """ + CONTRIBUTORS + CONTROLLED_VOCABULARIES + CONTROLLED_VOCABULARY + """An ISO8601-formatted date. See `DateProperty`""" + DATE + """An email address. See `EmailProperty`""" + EMAIL + """A reference to multiple entities. See `EntitiesProperty`""" + ENTITIES + """A reference to a single entity. See `EntityProperty`""" + ENTITY + """A decimal / floating-point number. See `FloatProperty`""" + FLOAT + """A complex type representing textual content. See `FullTextProperty`""" + FULL_TEXT + """A type composed of other properties. See `GroupProperty`""" + GROUP + """A whole number. See `IntegerProperty`""" + INTEGER + """Markdown-formatted text. See `MarkdownProperty`""" + MARKDOWN + """ + A dropdown that supports selecting multiple values. See `MultiselectProperty` + """ + MULTISELECT + """A dropdown that can select only one value. See `SelectProperty`""" + SELECT + """Simple text values. See `StringProperty`""" + STRING + """An array of tags that can be introspected. See `TagsProperty`""" + TAGS + """An ISO8601-formatted timestamp. See `TimestampProperty`""" + TIMESTAMP + """A fallback type for invalid schemas. See `UnknownProperty`""" + UNKNOWN + """A complex type representing a URL, with metadata. See `URLProperty`""" + URL """ - Whether or not the model was successfully destroyed. If false, check globalErrors + A complex type representing a date that cannot be expressed exactly. See `VariableDateProperty` """ - destroyed: Boolean - """The ID of the deleted model""" - destroyedId: ID - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + VARIABLE_DATE } -"""An edge in a connection.""" -type PermalinkEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: Permalink! +""" +Configuration for controlling how instances of a schema render outside of orderings. + +""" +type SchemaRenderDefinition { + """How to render a list""" + listMode: SchemaRenderListMode! } """ -Sort a collection of `Permalink` records by specific properties and directions. +How instances that implement a certain schema should be rendered outside of an ordering, +when rendering only entities for the same type of schema. + +This value is currently only intended to be used by the frontend. It enforces no special +handling within the API itself, unlike an `OrderingRenderModeType`. """ -enum PermalinkOrder { - """ - Sort permalinks by their default order: canonical first, then by uri alphabetically. - """ - DEFAULT - """Sort permalinks by oldest created date.""" - OLDEST - """Sort permalinks by newest created date.""" - RECENT +enum SchemaRenderListMode { + GRID + TABLE + TREE } -"""Autogenerated input type of PermalinkUpdate""" -input PermalinkUpdateInput { +"""An error that stems from trying to apply an invalid schema value.""" +type SchemaValueError { + """An error with the entire set of values""" + base: Boolean! @deprecated(reason: "Not presently used: see globalErrors") + """Whether this is a hint""" + hint: Boolean! + """A human-readable description of the error""" + message: String! + """Additional metadata attached to the error""" + metadata: JSON + """Which input value this error came from""" + path: String! +} + +""" +A specific version of a `SchemaDefinition`. + +""" +type SchemaVersion implements CommonModel & CommonPermissions & DescribesSchema & HasDefaultTimestamps & HasSchemaProperties & Node & Searchable & Sluggable { """ - Whether this permalink should be the canonical permalink for its resource. - - If true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink. + Whether the current user has permission to destroy this record. """ - canonical: Boolean = false - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + canDestroy: AuthorizationResult! """ - The permalink to update. + Whether the current user has permission to update this record. """ - permalinkId: ID! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - The ID of the resource to which this permalink will belong. - - It can be changed. + The full declaration for this schema, including namespace, identifier, and version (if available). """ - permalinkableId: ID! + declaration: String! """ - The URI for the permalink. - - It is case-insensitive and must be unique system-wide. - - It may only contain letters, numbers, and hyphens. - It may not begin nor end with a hyphen, nor contain consecutive hyphens. + Declarations / slugs for `enforcedChildVersions`. """ - uri: String! -} - -"""Autogenerated return type of PermalinkUpdate.""" -type PermalinkUpdatePayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + enforcedChildDeclarations: [Slug!]! """ - The newly-modified permalink, if successful. + A list of entity kinds that make acceptable children for this schema. """ - permalink: Permalink -} - -""" -An interface for models which can have permalinks. - -""" -interface Permalinkable { + enforcedChildKinds: [ChildEntityKind!]! """ - The canonical permalink for this resource, if one is set. + The versions that this schema accepts as a child. - """ - canonicalPermalink: Permalink - """ - All permalinks associated with this resource. + If there are no schemas, then this schema does not enforce its children. """ - permalinks: [Permalink!]! -} - -""" -An enum that helps describe the different kinds of records -that can be permalinked. - -""" -enum PermalinkableKind { + enforcedChildVersions: [SchemaVersion!]! """ - This permalink points to a collection. + Declarations / slugs for `enforcedParentVersions`. """ - COLLECTION + enforcedParentDeclarations: [Slug!]! """ - This permalink points to a community. + A list of entity kinds that make acceptable parents for this schema. """ - COMMUNITY + enforcedParentKinds: [SchemaKind!]! """ - This permalink points to an item. + The versions that are allowed to parent this schema. - """ - ITEM -} - -"""A grant of a specific permission within a specific scope.""" -type PermissionGrant { - """Whether this permission has been granted in the current context.""" - allowed: Boolean! - """The unqualified, single name for this permission.""" - name: String! - """ - The fully-qualified path for this permission (composed of scope + name). - """ - path: String! - """The scope (or namespace) for this permission.""" - scope: String -} - -"""A mapping of permissions specific to a certain scope""" -interface PermissionGrid implements ExposesPermissions { - """ - A list of allowed actions for the given user on this entity (and its descendants). - """ - allowedActions: [String!]! - """An array of hashes that can be requested to load in a context""" - permissions: [PermissionGrant!]! -} - -""" -A person that has made contributions. - -""" -type PersonContributor implements Contributor & ContributorBase & HasHarvestModificationStatus & Node & Sluggable { - """ - Only applicable when `kind` = `PERSON`. + If there are no schemas, then this schema does not enforce its parentage. """ - affiliation: String - attributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: ContributorAttributionOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ContributorAttributionConnection! - bio: String + enforcedParentVersions: [SchemaVersion!]! + """A boolean for the logic on `enforcedChildVersions`.""" + enforcesChildren: Boolean! + """A boolean for the logic on `enforcedParentVersions`.""" + enforcesParent: Boolean! + id: ID! """ - The total number of collection contributions from this contributor. + A unique (per-namespace) value that names the schema within the system. """ - collectionContributionCount: Int! - collectionContributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: ContributionOrder = TARGET_TITLE_ASCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): CollectionContributionConnection! + identifier: String! """ - The total number of contributions (item + collection) from this contributor. + The kind of entity this schema applies to. """ - contributionCount: Int! - createdAt: ISO8601DateTime! - email: String + kind: SchemaKind! """ - Only applicable when `kind` = `PERSON`. + A human-readable name for the schema. """ - familyName: String + name: String! """ - Only applicable when `kind` = `PERSON`. + A unique namespace the schema lives in. """ - givenName: String + namespace: String! """ - The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have - no effect on this record. + A semantic version for the schema """ - harvestModificationStatus: HarvestModificationStatus! - id: ID! - identifier: String! - """An optional image associated with the contributor.""" - image: ImageAttachment! - """Configurable metadata for the image attachment""" - imageMetadata: ImageMetadata + number: String! """ - The total number of item contributions from this contributor. + Configuration for rendering schema instances outside of orderings. """ - itemContributionCount: Int! - itemContributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: ContributionOrder = TARGET_TITLE_ASCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ItemContributionConnection! - kind: ContributorKind! + render: SchemaRenderDefinition! """ - Only applicable when `kind` = `ORGANIZATION`. + The shared schema definition for all versions of this namespace and identifier. """ - legalName: String - links: [ContributorLink!]! + schemaDefinition: SchemaDefinition! """ - Only applicable when `kind` = `ORGANIZATION`. + A list of schema properties associated with this instance or version. """ - location: String + schemaProperties: [SchemaProperty!]! + """Search from this level of the API using it as the origin""" + search( + """ + When searching from a scoped entity, sometimes you want to limit the depth of the search. + + `maxDepth: 1` will restrict to just the entity's direct children (or direct links). + + """ + maxDepth: Int + """ + Restrict the results by a certain level of visibility. This requires an authenticated user + for anything but `VISIBLE`: any other option will be silently discarded when anonymous. + + """ + visibility: EntityVisibilityFilter = VISIBLE + ): SearchScope! """ - A display name, independent of the type of contributor. + A subset of properties that can be searched for this schema. """ - name: String! + searchableProperties: [SearchableProperty!]! """ - An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. + The encoded slug for this record. """ - orcid: String - prefix: String slug: Slug! - suffix: String """ - Only applicable when `kind` = `PERSON`. + The versions that are allowed to be submitted to this schema. """ - title: String + submittableVersions: [SchemaVersion!]! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! - url: String + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -"""Autogenerated input type of PreviewSlot""" -input PreviewSlotInput { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +"""The connection type for SchemaVersion.""" +type SchemaVersionConnection implements Paginated { + """A list of edges.""" + edges: [SchemaVersionEdge!]! + """A list of nodes.""" + nodes: [SchemaVersion!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +"""An edge in a connection.""" +type SchemaVersionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SchemaVersion! +} + +type SchemaVersionOption { + identifier: String! + kind: SchemaKind! + """The label to display in a select box""" + label: String! + name: String! + namespace: String! + schemaDefinition: SchemaDefinition! + schemaVersion: SchemaVersion! + """The value to use in a select box""" + value: String! +} + +"""Order schema versions by various factors""" +enum SchemaVersionOrder { + """Order with newest versions at the top""" + LATEST + """Order with oldest versions at the top""" + OLDEST +} + +""" +These operators serve as keys for `SearchPredicateInput`. + +""" +enum SearchOperator { + """See `AndOperatorInput`""" + and + """See `DateEqualsOperatorInput`""" + dateEquals + """See `DateGTEOperatorInput`""" + dateGTE + """See `DateLTEOperatorInput`""" + dateLTE + """See `EqualsOperatorInput`""" + equals + """See `InAnyOperatorInput`""" + inAny + """See `MatchesOperatorInput`""" + matches + """See `NumericGTEOperatorInput`""" + numericGTE + """See `NumericLTEOperatorInput`""" + numericLTE + """See `OrOperatorInput`""" + or +} + +""" +The type of origin for this search scope. + +""" +enum SearchOriginType { + ENTITY + GLOBAL + ORDERING + SCHEMA +} + +""" +A predicate clause for searching entities. + +Each key corresponds to a `SearchOperator`, and multiple keys combined +in the same predicate will be implicitly `AND`ed together. + +""" +input SearchPredicateInput { + """See `AndOperatorInput`""" + and: AndOperatorInput + """See `DateEqualsOperatorInput`""" + dateEquals: DateEqualsOperatorInput + """See `DateGTEOperatorInput`""" + dateGTE: DateGTEOperatorInput + """See `DateLTEOperatorInput`""" + dateLTE: DateLTEOperatorInput + """See `EqualsOperatorInput`""" + equals: EqualsOperatorInput + """See `InAnyOperatorInput`""" + inAny: InAnyOperatorInput + """See `MatchesOperatorInput`""" + matches: MatchesOperatorInput + """See `NumericGTEOperatorInput`""" + numericGTE: NumericGTEOperatorInput + """See `NumericLTEOperatorInput`""" + numericLTE: NumericLTEOperatorInput + """See `OrOperatorInput`""" + or: OrOperatorInput +} + +""" +An entity that's the result of a search. + +""" +type SearchResult implements Node & Sluggable { """ - The entity to update. + A reference to the actual entity returned by the search query. """ - entityId: ID! + entity: Entity! """ - The kind of slot to render. + The encoded ID that will point to the entity itself, not a special ID for the search result record. """ - kind: TemplateSlotKind! + id: ID! """ - The template to render. + The kind of entity returned by the search results. """ - template: String! -} - -"""Autogenerated return type of PreviewSlot.""" -type PreviewSlotPayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String + kind: EntityKind! """ - The rendered slot (if successful) + The schema version of the returned entity. """ - slot: TemplateSlotInstance -} - -""" -When altering a schema version for an entity, there are various strategies that can be used to determine how to handle the provided properties. -""" -enum PropertyApplicationStrategy { - """If set to this value, property values will be validated and applied""" - APPLY + schemaVersion: SchemaVersion! """ - If set to this value, property values will not be applied, and the entity will likely exist in an invalid state. + The slug for the entity. + """ - SKIP + slug: Slug! + """ + The title for the entity. + + """ + title: String! } -""" -An interface for querying information about access control and roles within the system. +"""The connection type for SearchResult.""" +type SearchResultConnection implements Paginated { + """A list of edges.""" + edges: [SearchResultEdge!]! + """A list of nodes.""" + nodes: [SearchResult!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} -""" -interface QueriesAccessAndRoles { +"""An edge in a connection.""" +type SearchResultEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SearchResult! +} + +type SearchScope { """ - Retrieve all access grants. + The available schema versions underneath this search scope. + + """ + availableSchemaVersions: [SchemaVersion!]! + coreProperties: [SearchableCoreProperty!]! + originType: SearchOriginType! + """ + The results of a search. + + You must specify one of the following options in order to activate a search: + + * `predicates` + * `prefix` + * `query` + * `schema` + + If _none_ of these are set, the search will be considered empty, and return 0 results. """ - accessGrants( + results( + access: EntityPermissionFilter = SKIP """Returns the elements in the list that come after the specified cursor.""" after: String """ Returns the elements in the list that come before the specified cursor. """ before: String - entity: AccessGrantEntityFilter = ALL """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" last: Int - order: SimpleOrder = RECENT + order: EntityOrder = PUBLISHED_DESCENDING """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - subject: AccessGrantSubjectFilter = ALL - ): AnyAccessGrantConnection! - """ - List all roles. - - """ - roles( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: RoleOrder = DEFAULT - ): RoleConnection! -} - -""" -Fields for querying details about contributors and contributions. - -""" -interface QueriesContrib { - """Look up a collection contribution by slug""" - collectionContribution(slug: Slug!): CollectionContribution - """ - Look up contribution role configuration for a given contributable (or globally). - """ - contributionRoles( - """The contributable to load for, if applicable.""" - contributableId: ID - ): ContributionRoleConfiguration! - """Look up a contributor by slug""" - contributor(slug: Slug!): Contributor - """ - Look up a contributor `by` a certain `value`. - - """ - contributorLookup( """ - The field to search a contributor with. Unless otherwise specified, the provided - `value` will be an exact match. + The predicates to search for, if any. """ - by: ContributorLookupField! + predicates: [SearchPredicateInput!] = [] """ - For certain fields, the values are not guaranteed to be unique. In these instances, - the *most recently* created contributor will be selected by default. If the first - is preferred, specify `order: OLDEST`. + Search for entities with titles that start with the provided text (case-insensitive). """ - order: SimpleOrder! = RECENT + prefix: String """ - The actual value to look a contributor up `by`. + Search all text associated with individual entities. + + Basic quoting and similar features are supported. See + [websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for + more information. """ - value: String! - ): Contributor - """A list of all contributors in the system""" - contributors( - """Returns the elements in the list that come after the specified cursor.""" - after: String + query: String + """Filter by a namespace.name schema identifier""" + schema: [String!] + scope: EntityDescendantScopeFilter = ALL + ): SearchResultConnection! + visibility: EntityVisibilityFilter! +} + +interface Searchable { + """Search from this level of the API using it as the origin""" + search( """ - Returns the elements in the list that come before the specified cursor. + When searching from a scoped entity, sometimes you want to limit the depth of the search. + + `maxDepth: 1` will restrict to just the entity's direct children (or direct links). + """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - kind: ContributorFilterKind = ALL - """Returns the last _n_ elements from the list.""" - last: Int - order: ContributorOrder = NAME_ASCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int + maxDepth: Int """ - Search for contributors with names that start with the provided text. + Restrict the results by a certain level of visibility. This requires an authenticated user + for anything but `VISIBLE`: any other option will be silently discarded when anonymous. """ - prefix: String - ): AnyContributorConnection! - """Look up an item contribution by slug""" - itemContribution(slug: Slug!): ItemContribution + visibility: EntityVisibilityFilter = VISIBLE + ): SearchScope! +} + +type SearchableCoreProperty implements SearchableProperty { + description: String + label: String! + searchOperators: [SearchOperator!]! + searchPath: String! } """ -An interface for querying `ControlledVocabulary` records. +An interface for properties that can be searched. """ -interface QueriesControlledVocabulary { - controlledVocabularies( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: ControlledVocabularyFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [ControlledVocabularyFilterInput!] = [] - order: ControlledVocabularyOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ControlledVocabularyConnection! +interface SearchableProperty { + description: String + label: String! + searchOperators: [SearchOperator!]! + searchPath: String! +} + +"""An option for a select-type property.""" +type SelectOption { + """The display label for the option.""" + label: String! + """The underlying value for the option.""" + value: String! +} + +type SelectProperty implements OptionableProperty & ScalarProperty & SchemaProperty & SearchableProperty { """ - Retrieve a single `ControlledVocabulary` by slug. + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. + + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. """ - controlledVocabulary( - """ - The slug to look up. - - """ - slug: Slug! - ): ControlledVocabulary + array: Boolean! + defaultSelection: String + description: String + """ + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. + + """ + fullPath: String! + """ + The purpose or intent of this property relative to its entity, parents, and others. + + """ + function: SchemaPropertyFunction! + """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. + + """ + isWide: Boolean! + """ + Provided for introspection. This describes the underlying structure of the data type. + + """ + kind: SchemaPropertyKind! + label: String! + """The list of predefined options available for this property.""" + options: [SelectOption!]! + """ + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. + + """ + orderable: Boolean! + """ + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. + + """ + path: String! + """ + Whether or not this property is required in order for the schema instance + to be considered valid. + + Note: invalid data provided to a schema property will still invalidate + the instance as a whole—the required trait only determines whether a value + **must** be set. + + """ + required: Boolean! + searchOperators: [SearchOperator!]! + searchPath: String! + selection: String + """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. + + """ + type: SchemaPropertyType! } """ -An interface for querying `ControlledVocabularySource` records. +An enumerated value associated with the templating subsystem. """ -interface QueriesControlledVocabularySource { +enum SelectionSourceMode { """ - Retrieve a single `ControlledVocabularySource` by slug. + Selections should inherit from a named ancestor of this entity. """ - controlledVocabularySource( - """ - The slug to look up. - - """ - slug: Slug! - ): ControlledVocabularySource - controlledVocabularySources( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: ControlledVocabularySourceFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [ControlledVocabularySourceFilterInput!] = [] - order: ControlledVocabularySourceOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ControlledVocabularySourceConnection! -} - -""" -Fields for querying all entities from the top level of the hierarchy. - -""" -interface QueriesEntities { - """Look up an asset by slug""" - asset(slug: Slug!): Asset - """Look up a collection by slug""" - collection(slug: Slug!): Collection - """List all communities""" - communities( - access: EntityPermissionFilter = SKIP - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: EntityOrder = PUBLISHED_DESCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): CommunityConnection! - """Look up a community by slug""" - community(slug: Slug!): Community - """Look up a community by its title""" - communityByTitle(title: String!): Community - """Look up an item by slug""" - item(slug: Slug!): Item -} - -""" -An interface for querying `HarvestAttempt` records. - -""" -interface QueriesHarvestAttempt { + ANCESTOR """ - Retrieve a single `HarvestAttempt` by slug. + Selections should inherit from the hierarchical parent of this entity. """ - harvestAttempt( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestAttempt + PARENT """ - Query all harvest attempts in the system. + Selections should inherit from the exact entity in question """ - harvestAttempts( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestAttemptOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestAttemptConnection! + SELF } """ -An interface for querying `HarvestExample` records. +Permissions related to managing global configuration settings in Meru. """ -interface QueriesHarvestExample { +type SettingsPermissionGrid implements ExposesPermissions & PermissionGrid { """ - Retrieve harvest examples for the system. + A list of allowed actions for the given user on this entity (and its descendants). + """ + allowedActions: [String!]! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! + """ + Whether the user can update global configuration settings in Meru. """ - harvestExamples( - """ - Whether to look for "generic" harvesting examples which are not associated - with any protocol or metadata. - - """ - generic: Boolean = false - """ - The metadata format to filter by. - - """ - metadataFormat: HarvestMetadataFormat - """ - The protocol to filter by. - - """ - protocol: HarvestProtocol - ): [HarvestExample!]! + update: Boolean! } """ -An interface for querying `HarvestMapping` records. +The directionality of a sibling relationship, relative to a specific record (referred to as the 'source'). """ -interface QueriesHarvestMapping { +enum SiblingKind { """ - Retrieve a single `HarvestMapping` by slug. + This sibling comes after the source record. """ - harvestMapping( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestMapping + NEXT """ - Query all harvest mappings in the system. + This sibling comes before the source record. """ - harvestMappings( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestMappingOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestMappingConnection! -} - -""" -An interface for querying `HarvestMessage` records. - -""" -interface QueriesHarvestMessage { - harvestMessages( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: HarvestMessageFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [HarvestMessageFilterInput!] = [] - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestMessageConnection! + PREV } """ -An interface for querying `HarvestRecord` records. +A generic enum for sorting models that don't have anything more specific implemented. """ -interface QueriesHarvestRecord { +enum SimpleOrder { """ - Retrieve a single `HarvestRecord` by slug. + Sort models by oldest created date. """ - harvestRecord( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestRecord + OLDEST """ - Query all harvest records in the system. + Sort models by newest created date. - """ - harvestRecords( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestRecordOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestRecordConnection! + """ + RECENT } """ -An interface for querying `HarvestSet` records. - -To query a collection of harvest sets, you must check from the Harvest Source. +A value for updating the site's configuration. """ -interface QueriesHarvestSet { +type SiteFooter { """ - Retrieve a single `HarvestSet` by slug. + A copyright statement that lives in the site's footer. """ - harvestSet( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestSet + copyrightStatement: String! + """ + A description that lives in the site's footer. + + """ + description: String! } """ -An interface for querying `HarvestSource` records. +A value for updating the site's configuration. """ -interface QueriesHarvestSource { +input SiteFooterInput { """ - Retrieve a single `HarvestSource` by slug. + A copyright statement that lives in the site's footer. """ - harvestSource( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestSource - harvestSources( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestSourceOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestSourceConnection! + copyrightStatement: String + """ + A description that lives in the site's footer. + + """ + description: String } -""" -An interface for querying `Permalink` records. - -""" -interface QueriesPermalink { +"""An interface for accessing derivatives of the site logo (if present).""" +type SiteLogoAttachment implements HasAttachmentStorage & ImageIdentification { + """Alt text for accessible images""" + alt: String + """Configurable metadata for the image.""" + metadata: ImageMetadata + """The original source for the image""" + original: ImageOriginal! """ - Retrieve a single `Permalink` by slug. + The original filename, if one was detected during attachment. + + Filename detection is not always consistent across browsers, so this + may not always be present, even with a valid attachment. """ - permalink( - """ - The slug to look up. - - """ - slug: Slug! - ): Permalink + originalFilename: String """ - Retrieve a single `Permalink` by its URI. + The intended purpose of this image attachment. This is intended to + help fragments that operate solely on image subcomponents to have + some context for what they are without extra work. """ - permalinkByUri( - """ - The URI to look up. - - """ - uri: String! - ): Permalink - permalinks( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: PermalinkOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): PermalinkConnection! + purpose: ImagePurpose! + """ + A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit. + """ + sansText: ImageSize! + """ + This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + + """ + storage: AttachmentStorage + """ + A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high. + """ + withText: ImageSize! +} + +"""An option that determines how the site logo should be rendered""" +enum SiteLogoMode { + """The site logo is unavailable.""" + NONE + """The site logo should be displayed with the site title _hidden_.""" + SANS_TEXT + """The site logo should be displayed with the site title _visible_.""" + WITH_TEXT } """ -Fields for querying schemas and schema-related data. +Configuration settings for information about this installation. """ -interface QueriesSchemas { - """A list of ordering paths for creating and updating orderings.""" - orderingPaths( - """ - If passed, this will restrict the property fields returned to the selected schemas. - """ - schemas: [OrderingSchemaFilterInput!] - ): [OrderingPath!]! - """Look up a schema definition by slug""" - schemaDefinition(slug: Slug!): SchemaDefinition - """List all schema definitions""" - schemaDefinitions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - namespace: String - order: SimpleOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): SchemaDefinitionConnection! - """Look up a schema version by slug""" - schemaVersion(slug: Slug!): SchemaVersion - """List all options for schema versions""" - schemaVersionOptions(kind: SchemaKind = ITEM, namespace: String): [SchemaVersionOption!]! - """List all schema versions""" - schemaVersions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - namespace: String - order: SchemaVersionOrder = LATEST - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): SchemaVersionConnection! +type SiteSettings { + """ + Settings related to the site's footer. + + """ + footer: SiteFooter! + """ + The text that appears on the root page of the frontend. Supports basic markdown. + + """ + installationHomePageCopy: String! + """ + The name of the installation. + + """ + installationName: String! + """ + How the logo should be rendered. + + """ + logoMode: SiteLogoMode! + """ + The name of the provider supporting and maintaining this installation. + + """ + providerName: String! } """ -Fields for querying system-level information about the current installation. +A value for updating the site's configuration. """ -interface QueriesSystem implements QueriesUser { - """Access top-level analytics.""" - analytics: Analytics! - """Fetch the global configuration for this installation""" - globalConfiguration: GlobalConfiguration! +input SiteSettingsInput { """ - A helper field that is used to look up various details about the WDP-API ecosystem. + Settings for the site's footer. + """ - systemInfo: SystemInfo! - """Look up a user by slug""" - user(slug: Slug!): User - """A list of all users in the system""" - users( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: UserOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - """ - Search for users with given OR family names that start with the provided text. - """ - prefix: String - ): UserConnection! + footer: SiteFooterInput + """ + The text that appears on the root page of the frontend. Supports basic markdown. + + """ + installationHomePageCopy: String """ - The currently authenticated user. AKA: you + The name of the installation. """ - viewer: User! + installationName: String + """ + How the logo should be rendered. + + """ + logoMode: SiteLogoMode + """ + The name of the provider supporting and maintaining this installation. + + """ + providerName: String } -interface QueriesUser { - """Look up a user by slug""" - user(slug: Slug!): User - """A list of all users in the system""" - users( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: UserOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - """ - Search for users with given OR family names that start with the provided text. - """ - prefix: String - ): UserConnection! +""" +A slug that can identify a record in context. + +""" +scalar Slug + +""" +Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + +""" +interface Sluggable { """ - The currently authenticated user. AKA: you + The encoded slug for this record. """ - viewer: User! + slug: Slug! } """ -The entry point for retrieving data from within the Meru API. +Most mutations implement this interface in their payload in order to offer a standardize response value +""" +interface StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String +} + +""" +This property is static and is always available on an +entity, irrespective of its schema. """ -type Query implements QueriesAccessAndRoles & QueriesContrib & QueriesControlledVocabulary & QueriesControlledVocabularySource & QueriesEntities & QueriesHarvestAttempt & QueriesHarvestExample & QueriesHarvestMapping & QueriesHarvestMessage & QueriesHarvestRecord & QueriesHarvestSet & QueriesHarvestSource & QueriesPermalink & QueriesSchemas & QueriesSystem & QueriesUser & Searchable { +type StaticOrderingPath implements OrderingPath { + """A helpful description of the path""" + description: String + """A logical grouping for ordering paths""" + grouping: OrderingPathGrouping! + """A human-readable label for the path""" + label: String! """ - Retrieve all access grants. + Some paths may have a prefix. For instance, schema properties will have the name of the schema. """ - accessGrants( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - entity: AccessGrantEntityFilter = ALL - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: SimpleOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - subject: AccessGrantSubjectFilter = ALL - ): AnyAccessGrantConnection! - """Access top-level analytics.""" - analytics: Analytics! - """Look up an asset by slug""" - asset(slug: Slug!): Asset - """Look up a collection by slug""" - collection(slug: Slug!): Collection - """Look up a collection contribution by slug""" - collectionContribution(slug: Slug!): CollectionContribution - """List all communities""" - communities( - access: EntityPermissionFilter = SKIP - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: EntityOrder = PUBLISHED_DESCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): CommunityConnection! - """Look up a community by slug""" - community(slug: Slug!): Community - """Look up a community by its title""" - communityByTitle(title: String!): Community + labelPrefix: String + """The exact path that should be provided to mutation inputs.""" + path: String! + """The schema property type""" + type: SchemaPropertyType! +} + +type StringProperty implements ScalarProperty & SchemaProperty & SearchableProperty { """ - Look up contribution role configuration for a given contributable (or globally). + Provided for introspection. This describes whether or not the property's value + comes in an array rather than representing a discrete piece of information. + + See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + for examples. + """ - contributionRoles( - """The contributable to load for, if applicable.""" - contributableId: ID - ): ContributionRoleConfiguration! - """Look up a contributor by slug""" - contributor(slug: Slug!): Contributor + array: Boolean! + content: String + default: String + description: String """ - Look up a contributor `by` a certain `value`. + The full path that represents the property on the schema instance. It is guaranteed + to be unique for the instance, and can be used to grab a property directly, as well as + facilitating schema validation and errors within the admin application's forms. """ - contributorLookup( - """ - The field to search a contributor with. Unless otherwise specified, the provided - `value` will be an exact match. - - """ - by: ContributorLookupField! - """ - For certain fields, the values are not guaranteed to be unique. In these instances, - the *most recently* created contributor will be selected by default. If the first - is preferred, specify `order: OLDEST`. - - """ - order: SimpleOrder! = RECENT - """ - The actual value to look a contributor up `by`. - - """ - value: String! - ): Contributor - """A list of all contributors in the system""" - contributors( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - kind: ContributorFilterKind = ALL - """Returns the last _n_ elements from the list.""" - last: Int - order: ContributorOrder = NAME_ASCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - """ - Search for contributors with names that start with the provided text. - - """ - prefix: String - ): AnyContributorConnection! - controlledVocabularies( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: ControlledVocabularyFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [ControlledVocabularyFilterInput!] = [] - order: ControlledVocabularyOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ControlledVocabularyConnection! + fullPath: String! + """ + The purpose or intent of this property relative to its entity, parents, and others. + + """ + function: SchemaPropertyFunction! + """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ + Whether to render a field as "wide" (two columns) in the form. + This is intended to help structure forms logically, as well as + provide ample space for certain types of data input, particularly + full-text, markdown, and other such complex fields. + + """ + isWide: Boolean! + """ + Provided for introspection. This describes the underlying structure of the data type. + + """ + kind: SchemaPropertyKind! + label: String! """ - Retrieve a single `ControlledVocabulary` by slug. + Provided for introspection. Whether this property can be used to order entities. + For certain data types, there's no sensible way to order properties. """ - controlledVocabulary( - """ - The slug to look up. - - """ - slug: Slug! - ): ControlledVocabulary + orderable: Boolean! """ - Retrieve a single `ControlledVocabularySource` by slug. + The "short" path for the property. For properties nested within a group, this can + be considered the name of the property without the group's prefix. """ - controlledVocabularySource( - """ - The slug to look up. - - """ - slug: Slug! - ): ControlledVocabularySource - controlledVocabularySources( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: ControlledVocabularySourceFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [ControlledVocabularySourceFilterInput!] = [] - order: ControlledVocabularySourceOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): ControlledVocabularySourceConnection! - """Fetch the global configuration for this installation""" - globalConfiguration: GlobalConfiguration! + path: String! """ - Retrieve a single `HarvestAttempt` by slug. + Whether or not this property is required in order for the schema instance + to be considered valid. + + Note: invalid data provided to a schema property will still invalidate + the instance as a whole—the required trait only determines whether a value + **must** be set. """ - harvestAttempt( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestAttempt + required: Boolean! + searchOperators: [SearchOperator!]! + searchPath: String! """ - Query all harvest attempts in the system. + Whether or not this property should be displayed as part of the submission process for this schema. """ - harvestAttempts( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestAttemptOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestAttemptConnection! + submittable: Boolean! """ - Retrieve harvest examples for the system. + Provided for introspection. This represents the actual data type this property + uses. + + Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + since the actual implementations of these properties differ in the GraphQL types + associated with their values. """ - harvestExamples( - """ - Whether to look for "generic" harvesting examples which are not associated - with any protocol or metadata. - - """ - generic: Boolean = false - """ - The metadata format to filter by. - - """ - metadataFormat: HarvestMetadataFormat - """ - The protocol to filter by. - - """ - protocol: HarvestProtocol - ): [HarvestExample!]! + type: SchemaPropertyType! +} + +""" +A submission against a `SubmissionTarget`, representing a single attempt +to deposit an entity into the system. + +""" +type Submission implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Retrieve a single `HarvestMapping` by slug. + The timestamp of when the submitter accepted the agreement for this submission, if applicable. """ - harvestMapping( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestMapping + agreementAcceptedAt: ISO8601DateTime """ - Query all harvest mappings in the system. + The state transitions that are available for this submission, + based on its current state and the permissions of the current user. """ - harvestMappings( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestMappingOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestMappingConnection! - harvestMessages( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """ - Filters that **must** match. - - """ - filters: HarvestMessageFilterInput = null - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - """ - An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, - though a UI could be built. - - **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. - - """ - orFilters: [HarvestMessageFilterInput!] = [] - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestMessageConnection! + availableTransitions: [SubmissionStatus!]! """ - Retrieve a single `HarvestRecord` by slug. + Whether or not the current user can alter the schema version of this submission. """ - harvestRecord( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestRecord + canAlterSchemaVersion: AuthorizationResult! """ - Query all harvest records in the system. + Whether or not the current user can comment on this submission. """ - harvestRecords( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: HarvestRecordOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): HarvestRecordConnection! + canComment: AuthorizationResult! """ - Retrieve a single `HarvestSet` by slug. + Whether the current user has permission to destroy this record. """ - harvestSet( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestSet + canDestroy: AuthorizationResult! """ - Retrieve a single `HarvestSource` by slug. + Whether or not the current user can migrate this submission. + + """ + canMigrate: AuthorizationResult! + """ + Whether or not the current user can publish this submission. + + """ + canPublish: AuthorizationResult! + """ + Whether or not the current user can request a review of this submission. + + """ + canRequestReview: AuthorizationResult! + """ + Whether or not the current user can review this submission. + + """ + canReview: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + """ + The current status of the submission, similar to `state` but with metadata about mutability and locking. + + """ + currentStatus: SubmissionStatus! + """ + The actual entity record that will be published as part of this submission. + + The actual edits and content for the entity happen on it. + + """ + entity: Entity + id: ID! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + The current state of the submission. + + """ + state: SubmissionState! + """ + The {SubmissionTarget} against which this submission is being made. + + It can be null if the submission gets moved away later after publication. + + """ + submissionTarget: SubmissionTarget + """ + The state transitions that this submission has undergone. """ - harvestSource( - """ - The slug to look up. - - """ - slug: Slug! - ): HarvestSource - harvestSources( + transitions( """Returns the elements in the list that come after the specified cursor.""" after: String """ @@ -16552,165 +23224,74 @@ type Query implements QueriesAccessAndRoles & QueriesContrib & QueriesControlled first: Int """Returns the last _n_ elements from the list.""" last: Int - order: HarvestSourceOrder = DEFAULT """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - ): HarvestSourceConnection! - """Look up an item by slug""" - item(slug: Slug!): Item - """Look up an item contribution by slug""" - itemContribution(slug: Slug!): ItemContribution - """Fetches an object given its ID.""" - node( - """ID of the object.""" - id: ID! - ): Node - """Fetches a list of objects given a list of IDs.""" - nodes( - """IDs of the objects.""" - ids: [ID!]! - ): [Node]! - """A list of ordering paths for creating and updating orderings.""" - orderingPaths( - """ - If passed, this will restrict the property fields returned to the selected schemas. - """ - schemas: [OrderingSchemaFilterInput!] - ): [OrderingPath!]! + ): SubmissionTransitionConnection! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - Retrieve a single `Permalink` by slug. + The user that created this submission. """ - permalink( - """ - The slug to look up. - - """ - slug: Slug! - ): Permalink + user: User! +} + +""" +The record of a batch publication of one or more submissions within a submission target. + +""" +type SubmissionBatchPublication implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Retrieve a single `Permalink` by its URI. + Whether the current user has permission to destroy this record. """ - permalinkByUri( - """ - The URI to look up. - - """ - uri: String! - ): Permalink - permalinks( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: PermalinkOrder = DEFAULT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): PermalinkConnection! + canDestroy: AuthorizationResult! """ - List all roles. + Whether the current user has permission to update this record. """ - roles( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: RoleOrder = DEFAULT - ): RoleConnection! - """Look up a schema definition by slug""" - schemaDefinition(slug: Slug!): SchemaDefinition - """List all schema definitions""" - schemaDefinitions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - namespace: String - order: SimpleOrder = RECENT - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): SchemaDefinitionConnection! - """Look up a schema version by slug""" - schemaVersion(slug: Slug!): SchemaVersion - """List all options for schema versions""" - schemaVersionOptions(kind: SchemaKind = ITEM, namespace: String): [SchemaVersionOption!]! - """List all schema versions""" - schemaVersions( - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - namespace: String - order: SchemaVersionOrder = LATEST - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - ): SchemaVersionConnection! - """Search from this level of the API using it as the origin""" - search( - """ - When searching from a scoped entity, sometimes you want to limit the depth of the search. - - `maxDepth: 1` will restrict to just the entity's direct children (or direct links). - - """ - maxDepth: Int - """ - Restrict the results by a certain level of visibility. This requires an authenticated user - for anything but `VISIBLE`: any other option will be silently discarded when anonymous. - - """ - visibility: EntityVisibilityFilter = VISIBLE - ): SearchScope! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! """ - A helper field that is used to look up various details about the WDP-API ecosystem. + The list of submissions included in this batch publication. + """ - systemInfo: SystemInfo! - """Look up a user by slug""" - user(slug: Slug!): User - """A list of all users in the system""" - users( + publications: [SubmissionPublication!]! + """ + The total number of submissions included in this batch publication. + + """ + publicationsCount: Int! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + The current state of the batch publication process. + + """ + state: SubmissionBatchPublicationState! + """ + The submission target that the included submissions belong to. + + """ + submissionTarget: SubmissionTarget! + """ + The transitions that the batch publication process has gone through. + + """ + transitions( """Returns the elements in the list that come after the specified cursor.""" after: String """ @@ -16721,172 +23302,258 @@ type Query implements QueriesAccessAndRoles & QueriesContrib & QueriesControlled first: Int """Returns the last _n_ elements from the list.""" last: Int - order: UserOrder = RECENT """The page of edges/nodes to fetch""" page: Int """The direction in which pages advance (to traverse pages backwards)""" pageDirection: PageDirection = FORWARDS """The amount of edges / nodes to fetch per page""" perPage: Int - """ - Search for users with given OR family names that start with the provided text. - """ - prefix: String - ): UserConnection! + ): SubmissionBatchPublicationTransitionConnection! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - The currently authenticated user. AKA: you + The user that initiated the batch publication, if applicable. """ - viewer: User! + user: User } """ -An entity which can be limited in its visibility, based on some configured attributes. +The state of a batch of submission publications. """ -interface ReferencesEntityVisibility { +enum SubmissionBatchPublicationState { """ - Whether the entity is _currently_ hidden, based on the server's time zone. + The batch of submissions has been batched for publication and will be processed in the background. """ - currentlyHidden: Boolean! + BATCHED """ - Whether the entity is _currently_ visible, based on the server's time zone. + The batch of submissions has finished. """ - currentlyVisible: Boolean! + FINISHED """ - Whether the entity's visibility is set to `HIDDEN` + The batch of submissions is pending publication. """ - hidden: Boolean! + PENDING +} + +""" +A transition for a `SubmissionBatchPublication`. + +""" +type SubmissionBatchPublicationTransition implements CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable { """ - Specify a time to check to see if the entity will be hidden. + Whether the current user has permission to destroy this record. """ - hiddenAsOf( - """ - If no value is provided, it will default to the current time. - - """ - time: ISO8601DateTime - ): Boolean! - """If present, this is the timestamp the entity was hidden at""" - hiddenAt: ISO8601DateTime - """If an entity is available in the frontend""" - visibility: EntityVisibility! + canDestroy: AuthorizationResult! """ - Whether the entity's visibility is set to `VISIBLE`. + Whether the current user has permission to update this record. """ - visible: Boolean! - """If present, this is the timestamp an entity is visible after""" - visibleAfterAt: ISO8601DateTime + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - Specify a time to check to see if the entity will be visible. + The state that the submission batch publication is transitioning from. This will be null if the submission target is being created. """ - visibleAsOf( - """ - If no value is provided, it will default to the current time. - - """ - time: ISO8601DateTime - ): Boolean! - """If present, this is the timestamp an entity is visible until""" - visibleUntilAt: ISO8601DateTime + fromState: SubmissionBatchPublicationState + id: ID! + """ + Whether this is the most recent transition. + + """ + mostRecent: Boolean! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + The state that the submission batch publication is transitioning to. + + """ + toState: SubmissionBatchPublicationState! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + The user who performed the transition, if available. + + Some transitions may happen through automated processes, so the user will not always be set. + + """ + user: User +} + +"""The connection type for SubmissionBatchPublicationTransition.""" +type SubmissionBatchPublicationTransitionConnection implements Paginated { + """A list of edges.""" + edges: [SubmissionBatchPublicationTransitionEdge!]! + """A list of nodes.""" + nodes: [SubmissionBatchPublicationTransition!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } """ -An interface for retrieving certain shared, common variable-precision dates -that are associated with events in the publication, collection, and release -of an entity. +An edge in a connection for `SubmissionBatchPublicationTransition`. + +""" +type SubmissionBatchPublicationTransitionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SubmissionBatchPublicationTransition! +} -""" -interface ReferencesGlobalEntityDates { - """The date this entity was published""" - published: VariablePrecisionDate! +"""Autogenerated input type of SubmissionBatchPublish""" +input SubmissionBatchPublishInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """The IDs of the submissions to publish.""" + submissionIds: [ID!]! + """The ID of the submission target that the submissions belong to.""" + submissionTargetId: ID! } -"""Autogenerated input type of RenderLayouts""" -input RenderLayoutsInput { +"""Autogenerated return type of SubmissionBatchPublish.""" +type SubmissionBatchPublishPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String """ - The entity to render layouts on. - + The submission batch publication that was created to track this process. """ - entityId: ID! + submissionBatchPublication: SubmissionBatchPublication + """The submission target that the submissions belong to.""" + submissionTarget: SubmissionTarget } -"""Autogenerated return type of RenderLayouts.""" -type RenderLayoutsPayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! +"""Autogenerated input type of SubmissionChangeState""" +input SubmissionChangeStateInput { """A unique identifier for the client performing the mutation.""" clientMutationId: String """ - The newly-rendered entity with its updated layouts, if successful. + The ID of the {Submission} to update. """ - entity: AnyEntity + submissionId: ID! + """ + The state to which the submission should be transitioned. + + """ + toState: SubmissionState! +} + +"""Autogenerated return type of SubmissionChangeState.""" +type SubmissionChangeStatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") globalErrors: [MutationGlobalError!]! """Not presently used""" haltCode: String + """ + The modified submission, if successful. + + """ + submission: Submission } """ -An interface describing an instance type that can be rendered for a given entity. +A comment on a `Submission`. """ -interface Renderable { +type SubmissionComment implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - The time this object was last rendered. + Whether the current user has permission to destroy this record. """ - lastRenderedAt: ISO8601DateTime -} - -"""Autogenerated input type of ReparentEntity""" -input ReparentEntityInput { + canDestroy: AuthorizationResult! """ - The collection in need of a new parent + Whether the current user has permission to update this record. """ - childId: ID! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + canUpdate: AuthorizationResult! """ - The ID for the new parent entity. For children of the collection type, this - must be a community or another collection. For children of the item type, - this must be a collection or another item. + The content of the comment. """ - parentId: ID! + content: String! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + """ + The role of the comment, quickly delineating if it was from the submitter or a reviewer. + + """ + role: SubmissionCommentRole! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + The submission that this comment is on. + + """ + submission: Submission! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + The user that made this comment. + + """ + user: User! } -"""Autogenerated return type of ReparentEntity.""" -type ReparentEntityPayload implements StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - """If the child was successfully reparented, this field will be populated""" - child: AnyChildEntity - """A unique identifier for the client performing the mutation.""" - clientMutationId: String - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String +"""The connection type for SubmissionComment.""" +type SubmissionCommentConnection implements Paginated { + """A list of edges.""" + edges: [SubmissionCommentEdge!]! + """A list of nodes.""" + nodes: [SubmissionComment!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } -"""Autogenerated input type of ResetOrdering""" -input ResetOrderingInput { +"""Autogenerated input type of SubmissionCommentCreate""" +input SubmissionCommentCreateInput { """A unique identifier for the client performing the mutation.""" clientMutationId: String - orderingId: ID! + """ + The content of the comment. + + """ + content: String! + """ + The ID of the `Submission` to which the comment will be attached. + + """ + submissionId: ID! } -"""Autogenerated return type of ResetOrdering.""" -type ResetOrderingPayload implements StandardMutationPayload { +"""Autogenerated return type of SubmissionCommentCreate.""" +type SubmissionCommentCreatePayload implements StandardMutationPayload { attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String @@ -16894,1412 +23561,1760 @@ type ResetOrderingPayload implements StandardMutationPayload { globalErrors: [MutationGlobalError!]! """Not presently used""" haltCode: String - ordering: Ordering + """ + The newly-modified submission comment, if successful. + + """ + submissionComment: SubmissionComment } -"""Autogenerated input type of RevokeAccess""" -input RevokeAccessInput { +"""Autogenerated input type of SubmissionCommentDestroy""" +input SubmissionCommentDestroyInput { """A unique identifier for the client performing the mutation.""" clientMutationId: String - entityId: ID! - roleId: ID! - userId: ID! + """ + The submission comment to destroy. + + """ + submissionCommentId: ID! } -"""Autogenerated return type of RevokeAccess.""" -type RevokeAccessPayload implements StandardMutationPayload { +"""Autogenerated return type of SubmissionCommentDestroy.""" +type SubmissionCommentDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { attributeErrors: [MutationAttributeError!]! """A unique identifier for the client performing the mutation.""" clientMutationId: String - entity: AnyEntity + """ + Whether or not the model was successfully destroyed. If false, check globalErrors + """ + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") globalErrors: [MutationGlobalError!]! """Not presently used""" haltCode: String - """Whether or not access was revoked""" - revoked: Boolean } -"""A named role in the WDP API""" -type Role implements ExposesEffectiveAccess & Node & Sluggable { - """The access control list for this specific role""" - accessControlList: AccessControlList! - """A list of action names that have been granted to this role""" - allowedActions: [String!]! - createdAt: ISO8601DateTime! - """Only relevant for `custom` roles, this affects sorting.""" - customPriority: Int - """ - User-specific access permissions for this object. - - """ - effectiveAccess: EffectiveAccess! +""" +An edge in a connection for `SubmissionComment`. + +""" +type SubmissionCommentEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SubmissionComment! +} + +""" +Filtering options for `SubmissionComment` records. + +""" +input SubmissionCommentFilterInput { """ - The global access control list that this assigned role implies, based on its sort order. + Filter the model's `created_at` with time constraints. """ - globalAccessControlList: GlobalAccessControlList! + createdAt: FilterMatchTimeInput """ - A list of global action names that this role implies, based on its sort order. + Filter the model's `updated_at` with time constraints. """ - globalAllowedActions: [String!]! - id: ID! + updatedAt: FilterMatchTimeInput +} + +""" +Sort a collection of `SubmissionComment` records by specific properties and directions. + +""" +enum SubmissionCommentOrder { + """Sort submission comments by their default order.""" + DEFAULT + """Sort submission comments by oldest created date.""" + OLDEST + """Sort submission comments by newest created date.""" + RECENT +} + +""" +The role of a commenter on a `SubmissionComment`. + +""" +enum SubmissionCommentRole { """ - For `system` roles, this will be populated with the unique identifier - that marks this as a system role. + This comment is from a reviewer, manager, admin, or other user with privileges. """ - identifier: RoleSystemIdentifier + REVIEWER """ - The specific kind of role this is, based on how it entered the WDP-API. + This comment is from the submitter. """ - kind: RoleKind! - """The human readable name of the role within the system""" - name: String! + SUBMITTER +} + +"""Autogenerated input type of SubmissionCommentUpdate""" +input SubmissionCommentUpdateInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - Surfaced from the accessControlList for convenience, these are returned as - an array that allows a user to check for the state of all possible roles - without having to specify them explicitly in the GraphQL request + The content of the comment. """ - permissions: [PermissionGrant!]! + content: String! """ - Used internally to sort roles and ensure certain role types are above - and below others, irrespective of priority. + The submission comment to update. """ - primacy: RolePrimacy! + submissionCommentId: ID! +} + +"""Autogenerated return type of SubmissionCommentUpdate.""" +type SubmissionCommentUpdatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String """ - The calculated sort priority for this role. - - * For `custom` roles, it is based on `custom_priority`. - * For `system` roles, it is based on hard-coded values within the system - and cannot be modified. + The newly-modified submission comment, if successful. """ - priority: Int! - slug: Slug! - updatedAt: ISO8601DateTime! + submissionComment: SubmissionComment } -"""The connection type for Role.""" -type RoleConnection implements Paginated { +"""The connection type for Submission.""" +type SubmissionConnection implements Paginated { """A list of edges.""" - edges: [RoleEdge!]! + edges: [SubmissionEdge!]! """A list of nodes.""" - nodes: [Role!]! + nodes: [Submission!]! """Information to aid in pagination.""" pageInfo: PageInfo! } -"""An edge in a connection.""" -type RoleEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: Role! -} - -""" -A categorization of a `Role` based on how it gets into the WDP-API. - -""" -enum RoleKind { +"""Autogenerated input type of SubmissionCreate""" +input SubmissionCreateInput { """ - Custom roles are created and managed through the `createRole`, `updateRole`, and `destroyRole` mutations. + Whether or not the submitter has accepted the agreement for this submission. + + This must be true. """ - CUSTOM + agreementAccepted: Boolean = false + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - System roles are shipped by default with WDP-API and cannot be modified. + The ID of the parent entity for the submission. + + This is derived from one of the `depositTargets` of the specified `SubmissionTarget`. """ - SYSTEM + parentEntityId: ID! + """ + The ID of the {SchemaVersion} to be used for the submission. + + """ + schemaVersionId: ID! + """ + The ID of the {SubmissionTarget} against which the submission is being made. + + """ + submissionTargetId: ID! + """ + The title of the submission. + + This gets passed to the entity when it is built. + + """ + title: String! } -"""Sort roles by a specific property and order""" -enum RoleOrder { - """Sort roles by default priority within the system""" - DEFAULT - """Sort roles by their name A-Z""" - NAME_ASCENDING - """Sort roles by their name Z-A""" - NAME_DESCENDING - """Sort roles by oldest created date""" - OLDEST - """Sort roles by newest created date""" - RECENT +"""Autogenerated return type of SubmissionCreate.""" +type SubmissionCreatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The newly-modified submission, if successful. + + """ + submission: Submission } """ -The level of importance any given role has when it comes to determing what a user's "primary" role is. +The mode of deposit for a submission target. This defines where deposits are made +relative to the entity specified by the submission target. """ -enum RolePrimacy { - """ - Values with this primacy level are the default. Any custom roles will be in this scope. - """ - DEFAULT +enum SubmissionDepositMode { """ - Values with this primacy level take priority over all others. They cannot be directly assigned through the API. + Deposits to the submission target are made to a descendant of the specified entity. + + For instance, if the submission target is defined on a `nglp:journal`, + deposits of an `nglp:journal_article` might be made to `nglp:journal_issue` + entities that are descendants of the journal. + """ - HIGH + DESCENDANT """ - Values with this primacy level are always sorted after every other role. + Deposits on the submission target are made directly to the entity specified. + """ - LOW + DIRECT } """ -This will identify _which_ `system` role this is, if applicable. See `RoleKind` for more information. +A submission deposit target defines an actual target +entity for submissions. For instance, a `SubmissionTarget` +might be defined on an `nglp:journal`, but it defines a +`SubmissionDepositTarget` that points to an `nglp:journal_issue`. """ -enum RoleSystemIdentifier { +type SubmissionDepositTarget implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - A global administrator. This role cannot be directly assigned. + Whether the current user has permission to destroy this record. """ - ADMIN + canDestroy: AuthorizationResult! """ - An editor has basic update permissions for a specific point in the hierarchy. + Whether the current user has permission to update this record. """ - EDITOR + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - A manager can be assigned to handle most `Community` and other entity management concerns. - - They can also appoint other roles (except for other managers) to any entity they manage. + The deposit mode of this submission deposit target. This indicates the relationship + of the associated `entity` to this record's parent `SubmissionTarget`. """ - MANAGER + depositMode: SubmissionDepositMode! """ - A reader is anyone who has been given explicit read-access to an entity. - This role is primarily used by the administration UI. + The entity that this submission deposit target points to. - **Note**: Anonymous users can still view public entities in the frontend. + """ + entity: Entity! + id: ID! + """ + The encoded slug for this record. """ - READER + slug: Slug! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ -A property on a `SchemaInstance`. +An edge in a connection for `Submission`. """ -interface ScalarProperty implements SchemaProperty { +type SubmissionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: Submission! +} + +""" +Filtering options for `Submission` records. + +""" +input SubmissionFilterInput { """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + Filter the model's `created_at` with time constraints. """ - array: Boolean! + createdAt: FilterMatchTimeInput """ - A human-readable description for the property. It should describe the purpose of the - property as well as some details about the types of values it looks for. + Filter by in state. - It can be rendered as help text, hints, etc. + """ + inState: [SubmissionState!] + """ + Filter submissions to only those with the given parent entity(ies). """ - description: String + parentEntityIds: [ID!] """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + Perform a full-text search to approximately match the provided string. """ - fullPath: String! + prefix: String """ - The purpose or intent of this property relative to its entity, parents, and others. + Perform a full-text search to approximately match the provided string. """ - function: SchemaPropertyFunction! + query: String """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + Filter submissions to only those with the given schema version(s). """ - isWide: Boolean! + schemaVersionIds: [ID!] """ - Provided for introspection. This describes the underlying structure of the data type. + Filter submissions to only those with the given submission target(s). """ - kind: SchemaPropertyKind! + submissionTargetIds: [ID!] """ - A human-readable label for the schema property. + Filter the model's `updated_at` with time constraints. """ - label: String! + updatedAt: FilterMatchTimeInput """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + Filter submissions to only those created by the given user(s). """ - orderable: Boolean! + userIds: [ID!] +} + +"""Autogenerated input type of SubmissionLeaveReview""" +input SubmissionLeaveReviewInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + An additional comment to store with the review proper. """ - path: String! + comment: String """ - Whether or not this property is required in order for the schema instance - to be considered valid. + The submission to review. - Note: invalid data provided to a schema property will still invalidate - the instance as a whole—the required trait only determines whether a value - **must** be set. + """ + submissionId: ID! + """ + The submission state to be placed in. """ - required: Boolean! + toState: SubmissionReviewState! +} + +"""Autogenerated return type of SubmissionLeaveReview.""" +type SubmissionLeaveReviewPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String """ - Provided for introspection. This represents the actual data type this property - uses. + The associated submission. - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. + """ + submission: Submission + """ + The associated review. """ - type: SchemaPropertyType! + submissionReview: SubmissionReview } """ -A string primitive with a very constrained format, representing components -of a schema like namespaces, identifiers, ordering names, etc. - -It is also used in the templating subsystem. - -It corresponds to the regular expression `(?-mix:\A[a-z][a-z0-9_]*?[a-z0-9]\z)`. +Sort a collection of `Submission` records by specific properties and directions. """ -scalar SchemaComponent +enum SubmissionOrder { + """Sort submissions by their default order.""" + DEFAULT + """Sort submissions by oldest created date.""" + OLDEST + """Sort submissions by newest created date.""" + RECENT +} """ -A schema definition is a logical grouping of `SchemaVersion`s that identifies -only the shared kind, namespace, and identifier. The name is also most likely -shared, although it can change between schema versions, and the value on the -definition will default to whatever the most recent version uses. +The record of a `Submission`'s publication process. """ -type SchemaDefinition implements DescribesSchema & Node & Sluggable { - createdAt: ISO8601DateTime! +type SubmissionPublication implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - The full declaration for this schema, including namespace, identifier, and version (if available). + Whether the current user has permission to destroy this record. """ - declaration: String! + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! id: ID! """ - A unique (per-namespace) value that names the schema within the system. + The encoded slug for this record. """ - identifier: String! + slug: Slug! """ - The kind of entity this schema applies to. + The state of the publication process. """ - kind: SchemaKind! + state: SubmissionPublicationState! """ - A human-readable name for the schema. + The submission that is being published. """ - name: String! + submission: Submission! """ - A unique namespace the schema lives in. + The transitions that the publication process has gone through. """ - namespace: String! - slug: Slug! + transitions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionPublicationTransitionConnection! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + The user that initiated the publication process, if applicable. + + """ + user: User } -"""The connection type for SchemaDefinition.""" -type SchemaDefinitionConnection implements Paginated { - """A list of edges.""" - edges: [SchemaDefinitionEdge!]! - """A list of nodes.""" - nodes: [SchemaDefinition!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! -} +""" +The state of a submission's publication. -"""An edge in a connection.""" -type SchemaDefinitionEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: SchemaDefinition! +""" +enum SubmissionPublicationState { + """ + The submission has been batched for publication and will be processed in the background. + + """ + BATCHED + """ + The submission failed to publish. + + """ + FAILURE + """ + The submission is pending publication. + + """ + PENDING + """ + The submission has been successfully published. + + """ + SUCCESS } """ -Being an instance that implements a schema version with strongly-typed properties. -Overlaps with Entity, but intended for focused access to just the properties -and the necessary context. +A transition for a `SubmissionPublication`. """ -interface SchemaInstance { +type SubmissionPublicationTransition implements CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable { """ - Expose all available entities for this schema property. + Whether the current user has permission to destroy this record. """ - availableEntitiesFor( - """ - The full path to the schema property. Please note, paths are snake_case, not camelCase. - - """ - fullPath: String! - ): [EntitySelectOption!]! + canDestroy: AuthorizationResult! """ - The context for our schema instance. Includes form values and necessary referents. + Whether the current user has permission to update this record. """ - schemaInstanceContext: SchemaInstanceContext! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - A list of schema properties associated with this instance or version. + The state that the submission publication is transitioning from. This will be null if the submission target is being created. """ - schemaProperties: [SchemaProperty!]! + fromState: SubmissionPublicationState + id: ID! """ - Read a single schema property by its full path. + Whether this is the most recent transition. """ - schemaProperty( - """ - The full path to the schema property. Please note, paths are snake_case, not camelCase. - - """ - fullPath: String! - ): SchemaProperty + mostRecent: Boolean! + """ + The encoded slug for this record. + + """ + slug: Slug! + """ + The state that the submission publication is transitioning to. + + """ + toState: SubmissionPublicationState! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + The user who performed the transition, if available. + + Some transitions may happen through automated processes, so the user will not always be set. + + """ + user: User } -"""A context that describes the current state of the form""" -type SchemaInstanceContext { - assets: [AssetSelectOption!]! - contributors: [ContributorSelectOption!]! - """Not yet populated. May be used in the future.""" - defaultValues: JSON! - """The entity ID for this schema instance.""" - entityId: ID! - """The values for the schema form on this instance""" - fieldValues: JSON! - """The slug for the current schema version""" - schemaVersionSlug: String! - """Information about the validity of the schema instance""" - validity: SchemaInstanceValidation +"""The connection type for SubmissionPublicationTransition.""" +type SubmissionPublicationTransitionConnection implements Paginated { + """A list of edges.""" + edges: [SubmissionPublicationTransitionEdge!]! + """A list of nodes.""" + nodes: [SubmissionPublicationTransition!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } -type SchemaInstanceValidation { - errors: [SchemaValueError!]! - valid: Boolean! - validatedAt: ISO8601DateTime! +""" +An edge in a connection for `SubmissionPublicationTransition`. + +""" +type SubmissionPublicationTransitionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SubmissionPublicationTransition! +} + +"""Autogenerated input type of SubmissionPublish""" +input SubmissionPublishInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The ID for the submission to publish. + + """ + submissionId: ID! } -"""The kind of entity a schema applies to""" -enum SchemaKind { - COLLECTION - COMMUNITY - ITEM +"""Autogenerated return type of SubmissionPublish.""" +type SubmissionPublishPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The entity that the published submission belongs to, if successful. + + """ + entity: Entity + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The submission that was published, if successful. + + """ + submission: Submission + """ + The actual record of the publication, if successful. + + """ + submissionPublication: SubmissionPublication } -""" -This ordering path represents a schema property and is variably -available based on whether matched entities' schemas implement it. +"""Autogenerated input type of SubmissionRequestReview""" +input SubmissionRequestReviewInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + An optional comment to store alongside the review. + + """ + comment: String + """ + The submission to review. + + """ + submissionId: ID! + """ + The id of the user to request the review from. + + """ + userId: ID! +} -""" -type SchemaOrderingPath implements OrderingPath { - """A helpful description of the path""" - description: String - """A logical grouping for ordering paths""" - grouping: OrderingPathGrouping! - """A human-readable label for the path""" - label: String! +"""Autogenerated return type of SubmissionRequestReview.""" +type SubmissionRequestReviewPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String """ - Some paths may have a prefix. For instance, schema properties will have the name of the schema. + The associated submission. """ - labelPrefix: String - """The exact path that should be provided to mutation inputs.""" - path: String! - schemaVersion: SchemaVersion! - """The schema property type""" - type: SchemaPropertyType! + submission: Submission + """ + The associated review. + + """ + submissionReview: SubmissionReview } """ -A property on a `SchemaInstance`. +A review of a `Submission` by a specific reviewer. """ -interface SchemaProperty { +type SubmissionReview implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + Whether the current user has permission to destroy this record. """ - array: Boolean! + canDestroy: AuthorizationResult! """ - A human-readable description for the property. It should describe the purpose of the - property as well as some details about the types of values it looks for. + Whether the current user has permission to update this record. - It can be rendered as help text, hints, etc. + """ + canUpdate: AuthorizationResult! + """ + An optional note from the reviewer about this submission review. """ - description: String + comment: String + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + The time that this submission review was last requested. """ - fullPath: String! + requestedAt: ISO8601DateTime """ - Provided for introspection. This describes the underlying structure of the data type. + The encoded slug for this record. """ - kind: SchemaPropertyKind! + slug: Slug! """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + The current state of this submission review. """ - orderable: Boolean! + state: SubmissionReviewState! """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + The submission that this is a review of. """ - path: String! + submission: Submission! """ - Provided for introspection. This represents the actual data type this property - uses. + The state transitions that this submission review has undergone. - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. + """ + transitions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionReviewTransitionConnection! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + The user that created this submission review, if any. """ - type: SchemaPropertyType! + user: User +} + +"""The connection type for SubmissionReview.""" +type SubmissionReviewConnection implements Paginated { + """A list of edges.""" + edges: [SubmissionReviewEdge!]! + """A list of nodes.""" + nodes: [SubmissionReview!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } """ -Schema properties can serve various functions. This helps communicate the purpose of them, for building UIs, and general introspection. +An edge in a connection for `SubmissionReview`. + """ -enum SchemaPropertyFunction { +type SubmissionReviewEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SubmissionReview! +} + +""" +Filtering options for `SubmissionReview` records. + +""" +input SubmissionReviewFilterInput { """ - This property acts as data inherently representative of the entity. Full text of an article, titling, and other such purposes. + Filter the model's `created_at` with time constraints. """ - CONTENT + createdAt: FilterMatchTimeInput """ - This property is intended to offer further information about the content, but not necessarily the content itself. - Most metadata should be things that are filterable or searchable to help users find and learn more about related - content. + Filter by in state. """ - METADATA + inState: [SubmissionReviewState!] """ - This property is used for presenting information *about* the content, or how it should be formatted, but is less reflective - of the content itself. An option for changing a specific render style, an additional image to display, etc. + Filter by multiple Submission. """ - PRESENTATION + submissionIds: [ID!] """ - This property is only used when ordering this entity by ancestors. It should not generally be visible in the frontend, but - remain editable by admins to adjust ordering. + Filter the model's `updated_at` with time constraints. """ - SORTING + updatedAt: FilterMatchTimeInput """ - This property's purpose remains unspecified and is likely the mark of a schema still in development. It should not generally - be in a finished schema, as it is important to help communicate the intent of a property for those building a UI. + Filter by multiple User. """ - UNSPECIFIED + userIds: [ID!] } """ -The _kind_ of a data type for a schema property. Mostly informational -in the API, this value represents the underlying structure of the data type. +Sort a collection of `SubmissionReview` records by specific properties and directions. """ -enum SchemaPropertyKind { +enum SubmissionReviewOrder { + """Sort submission reviews by their default order.""" + DEFAULT + """Sort submission reviews by oldest created date.""" + OLDEST + """Sort submission reviews by newest created date.""" + RECENT +} + +""" +The status of a specific reviewer's review on a submission. + +""" +enum SubmissionReviewState { """ - A complex data type that is composed of multiple subproperties - or requires other processing. Their values cannot be easily - mapped to GraphQL / JavaScript primitives. - - See `VariableDateProperty`, `FullTextProperty` for examples. + The reviewer has approved the submission. """ - COMPLEX - """A composite of other properties. See `GroupProperty`""" - GROUP + APPROVED """ - A reference (or references) to other models in the system. + The review is pending / requested and has not yet been acted upon. - See `AssetProperty`, `ContributorsProperty` for examples + """ + PENDING + """ + The reviewer has rejected the submission. """ - REFERENCE + REJECTED """ - The most common type of property, and what most values are likely to be. Strings, - integers, floats, booleans, and so on. + The reviewer has requested revisions to the submission. """ - SIMPLE + REVISION_REQUESTED } """ -A path to a schema property (it will always be a string primitive). - -It can come in the form of a `"single_property"` or a `"nested.property"`. - -This scalar is only used to assert the _format_, it does not -validate that it is an existing schema property. +A transition for a `SubmissionReview`. """ -scalar SchemaPropertyPath - -"""The data type for a schema property.""" -enum SchemaPropertyType { +type SubmissionReviewTransition implements CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable { """ - A reference to a single asset owned by the schema instance. See `AssetProperty` + Whether the current user has permission to destroy this record. + """ - ASSET + canDestroy: AuthorizationResult! """ - A reference to multiple assets owned by the schema instance. See `AssetsProperty` + Whether the current user has permission to update this record. + """ - ASSETS - """True or false, yes or no, a checkbox. See `BooleanProperty`""" - BOOLEAN + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - A reference to a single contributor in the system. See `ContributorProperty` + The state that the submission target is transitioning from. This will be null if the submission target is being created. + """ - CONTRIBUTOR + fromState: SubmissionReviewState + id: ID! """ - A reference to multiple contributors in the system. See `ContributorsProperty` + Whether this is the most recent transition. + """ - CONTRIBUTORS - CONTROLLED_VOCABULARIES - CONTROLLED_VOCABULARY - """An ISO8601-formatted date. See `DateProperty`""" - DATE - """An email address. See `EmailProperty`""" - EMAIL - """A reference to multiple entities. See `EntitiesProperty`""" - ENTITIES - """A reference to a single entity. See `EntityProperty`""" - ENTITY - """A decimal / floating-point number. See `FloatProperty`""" - FLOAT - """A complex type representing textual content. See `FullTextProperty`""" - FULL_TEXT - """A type composed of other properties. See `GroupProperty`""" - GROUP - """A whole number. See `IntegerProperty`""" - INTEGER - """Markdown-formatted text. See `MarkdownProperty`""" - MARKDOWN + mostRecent: Boolean! """ - A dropdown that supports selecting multiple values. See `MultiselectProperty` + The encoded slug for this record. + """ - MULTISELECT - """A dropdown that can select only one value. See `SelectProperty`""" - SELECT - """Simple text values. See `StringProperty`""" - STRING - """An array of tags that can be introspected. See `TagsProperty`""" - TAGS - """An ISO8601-formatted timestamp. See `TimestampProperty`""" - TIMESTAMP - """A fallback type for invalid schemas. See `UnknownProperty`""" - UNKNOWN - """A complex type representing a URL, with metadata. See `URLProperty`""" - URL + slug: Slug! """ - A complex type representing a date that cannot be expressed exactly. See `VariableDateProperty` + The state that the submission target is transitioning to. + """ - VARIABLE_DATE + toState: SubmissionReviewState! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """ + The user who performed the transition, if available. + + Some transitions may happen through automated processes, so the user will not always be set. + + """ + user: User +} + +"""The connection type for SubmissionReviewTransition.""" +type SubmissionReviewTransitionConnection implements Paginated { + """A list of edges.""" + edges: [SubmissionReviewTransitionEdge!]! + """A list of nodes.""" + nodes: [SubmissionReviewTransition!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } """ -Configuration for controlling how instances of a schema render outside of orderings. +An edge in a connection for `SubmissionReviewTransition`. """ -type SchemaRenderDefinition { - """How to render a list""" - listMode: SchemaRenderListMode! +type SubmissionReviewTransitionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SubmissionReviewTransition! } """ -How instances that implement a certain schema should be rendered outside of an ordering, -when rendering only entities for the same type of schema. - -This value is currently only intended to be used by the frontend. It enforces no special -handling within the API itself, unlike an `OrderingRenderModeType`. +The status of a `Submission`. """ -enum SchemaRenderListMode { - GRID - TABLE - TREE +enum SubmissionState { + """ + The submission has been approved by the review staff and is awaiting publication. + + """ + APPROVED + """ + The initial draft state of a submission. + + """ + DRAFT + """ + The submission has been published and is publicly visible. + + """ + PUBLISHED + """ + The submission has been rejected by the review staff and will not be published, + and is not subject to any further reviews or revisions. + + """ + REJECTED + """ + The review staff has requested revisions to the submission + and the depositor is expected to make changes and resubmit. + + """ + REVISION_REQUESTED + """ + The depositor has submitted the submission for review. + + """ + SUBMITTED + """ + The submission is currently under review. + + """ + UNDER_REVIEW } -"""An error that stems from trying to apply an invalid schema value.""" -type SchemaValueError { - """An error with the entire set of values""" - base: Boolean! @deprecated(reason: "Not presently used: see globalErrors") - """Whether this is a hint""" - hint: Boolean! - """A human-readable description of the error""" - message: String! - """Additional metadata attached to the error""" - metadata: JSON - """Which input value this error came from""" - path: String! +""" +Information about submission status and a particular state. + +This object does double duty for both current status and available transitions. + +""" +type SubmissionStatus { + """ + Whether the current user is allowed to transition the submission to this state. + + """ + canTransition: AuthorizationResult! + """ + Whether the submission is currently in this state. + + """ + current: Boolean! + """ + The current state of the submission. + + """ + fromState: SubmissionState! + """ + Whether the submission will be in a locked state (i.e. not mutable by the depositor). + + """ + lockedState: Boolean! + """ + Whether the submission will be in a mutable state (i.e. mutable by the depositor). + + """ + mutableState: Boolean! + """ + The state to which the submission can be transitioned. + + """ + toState: SubmissionState! } """ -A specific version of a `SchemaDefinition`. +A submission target is a subject of an `Entity`, specifying information about whether +or not it can have new entities deposited to it. """ -type SchemaVersion implements DescribesSchema & HasSchemaProperties & Node & Searchable & Sluggable { - createdAt: ISO8601DateTime! +type SubmissionTarget implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - The full declaration for this schema, including namespace, identifier, and version (if available). + The content of the agreement that must be agreed to before depositing to this submission target, if `agreementRequired` is `true`. """ - declaration: String! + agreementContent: String """ - Declarations / slugs for `enforcedChildVersions`. + The content of the agreement that must be agreed to before depositing to this submission target, + falling back to the global agreement if this submission target doesn't have its own agreement content. """ - enforcedChildDeclarations: [Slug!]! + agreementContentWithFallback: String """ - A list of entity kinds that make acceptable children for this schema. + Whether or not this submission target requires agreement to an agreement before depositing. """ - enforcedChildKinds: [ChildEntityKind!]! + agreementRequired: Boolean! """ - The versions that this schema accepts as a child. + The kinds of child entities that can be deposited to this submission target. - If there are no schemas, then this schema does not enforce its children. + """ + allowedChildKinds: [ChildEntityKind!]! + """ + Whether or not depositors should be automatically approved when they request to become a depositor for this submission target. """ - enforcedChildVersions: [SchemaVersion!]! + autoApproveDepositors: Boolean! """ - Declarations / slugs for `enforcedParentVersions`. + Whether or not the current user can deposit to this submission target. """ - enforcedParentDeclarations: [Slug!]! + canDeposit: AuthorizationResult! """ - A list of entity kinds that make acceptable parents for this schema. + Whether the current user has permission to destroy this record. """ - enforcedParentKinds: [SchemaKind!]! + canDestroy: AuthorizationResult! """ - The versions that are allowed to parent this schema. + Whether or not the current user can manage reviewers for this submission target. - If there are no schemas, then this schema does not enforce its parentage. + """ + canManageReviewers: AuthorizationResult! + """ + Whether or not the current user can publish submissions to this submission target. """ - enforcedParentVersions: [SchemaVersion!]! - """A boolean for the logic on `enforcedChildVersions`.""" - enforcesChildren: Boolean! - """A boolean for the logic on `enforcedParentVersions`.""" - enforcesParent: Boolean! - id: ID! + canPublish: AuthorizationResult! """ - A unique (per-namespace) value that names the schema within the system. + Whether or not the current user can request access to deposit to this submission target. """ - identifier: String! + canRequestDepositAccess: AuthorizationResult! """ - The kind of entity this schema applies to. + Whether or not the current user can reset all agreements for this submission target. """ - kind: SchemaKind! + canResetAllAgreements: AuthorizationResult! """ - A human-readable name for the schema. + Whether or not the current user can review this submission target. """ - name: String! + canReview: AuthorizationResult! """ - A unique namespace the schema lives in. + Whether the current user has permission to update this record. """ - namespace: String! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - A semantic version for the schema + The deposit mode of this submission target, which determines how deposits to it are handled. """ - number: String! + depositMode: SubmissionDepositMode! """ - Configuration for rendering schema instances outside of orderings. + The deposit targets of this submission target, which are the entities that deposits to this submission target are deposited to. """ - render: SchemaRenderDefinition! + depositTargets: [SubmissionDepositTarget!]! """ - The shared schema definition for all versions of this namespace and identifier. + The depositor agreement for this submission target and the current user, if one exists. """ - schemaDefinition: SchemaDefinition! + depositorAgreement: DepositorAgreement """ - A list of schema properties associated with this instance or version. + A description of this submission target, which may include a human-readable title and/or a machine-readable schema.org description. """ - schemaProperties: [SchemaProperty!]! - """Search from this level of the API using it as the origin""" - search( + description: SubmissionTargetDescription! + """ + The entity that this submission target belongs to. + + """ + entity: Entity! + id: ID! + """ + The reviewers that are assigned to review this submission target. + + """ + reviewers( + """Returns the elements in the list that come after the specified cursor.""" + after: String """ - When searching from a scoped entity, sometimes you want to limit the depth of the search. - - `maxDepth: 1` will restrict to just the entity's direct children (or direct links). + Returns the elements in the list that come before the specified cursor. + """ + before: String + """ + Filters that **must** match. """ - maxDepth: Int + filters: SubmissionTargetReviewerFilterInput = {} + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int """ - Restrict the results by a certain level of visibility. This requires an authenticated user - for anything but `VISIBLE`: any other option will be silently discarded when anonymous. + An array of filters, at least one of which must match. This is intended more for debugging and introspection in the API, + though a UI could be built. + + **Note**: If `filters` is also specified, at least one set of filters in `orFilters` must match, along with `filters`. """ - visibility: EntityVisibilityFilter = VISIBLE - ): SearchScope! + orFilters: [SubmissionTargetReviewerFilterInput!] = [] + order: SubmissionTargetReviewerOrder = DEFAULT + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionTargetReviewerConnection! """ - A subset of properties that can be searched for this schema. + The schema versions that deposits to this submission target must conform to. + + """ + schemaVersions: [SchemaVersion!]! + """ + The encoded slug for this record. """ - searchableProperties: [SearchableProperty!]! slug: Slug! + """ + The current state of this submission target, which determines whether or not it can accept deposits. + + """ + state: SubmissionTargetState! + """ + The state transitions that this submission target has undergone. + + """ + transitions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """The page of edges/nodes to fetch""" + page: Int + """The direction in which pages advance (to traverse pages backwards)""" + pageDirection: PageDirection = FORWARDS + """The amount of edges / nodes to fetch per page""" + perPage: Int + ): SubmissionTargetTransitionConnection! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -"""The connection type for SchemaVersion.""" -type SchemaVersionConnection implements Paginated { - """A list of edges.""" - edges: [SchemaVersionEdge!]! - """A list of nodes.""" - nodes: [SchemaVersion!]! - """Information to aid in pagination.""" - pageInfo: PageInfo! +"""Autogenerated input type of SubmissionTargetClose""" +input SubmissionTargetCloseInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The ID of the {SubmissionTarget} to close. + + """ + submissionTargetId: ID! } -"""An edge in a connection.""" -type SchemaVersionEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: SchemaVersion! +"""Autogenerated return type of SubmissionTargetClose.""" +type SubmissionTargetClosePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The modified submission target, if successful. + + """ + submissionTarget: SubmissionTarget } -type SchemaVersionOption { - identifier: String! - kind: SchemaKind! - """The label to display in a select box""" - label: String! - name: String! - namespace: String! - schemaDefinition: SchemaDefinition! - schemaVersion: SchemaVersion! - """The value to use in a select box""" - value: String! +"""Autogenerated input type of SubmissionTargetConfigure""" +input SubmissionTargetConfigureInput { + """ + The content of the agreement that submitters must accept when making a submission to this submission target. + + """ + agreementContent: String + """ + Whether submitters must accept an agreement when making a submission to this submission target. + + If true, `agreementContent` must be non-empty. + + """ + agreementRequired: Boolean = false + """ + Whether depositors should be automatically approved when they request to become a depositor for this submission target. + + The default value for this field can be set on a tenant level, but is `true` by default for now. + + """ + autoApproveDepositors: Boolean = true + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The ID of the entity or submission target to configure. + + This may be the ID of a `SubmissionTarget` or of an entity that can + be configured with a `SubmissionTarget` (i.e. a `Community`, `Collection`, or `Item`). + + """ + configurableId: ID! + """ + The deposit mode for this submission target, which determines how submissions to this target are deposited. + + """ + depositMode: SubmissionDepositMode = DIRECT + """ + A list of deposit targets for this submission target. + + It should be left empty when `depositMode` is `DIRECT`, + and must have at least one descendant when `depositMode` is `DESCENDANTS`. + + """ + depositTargetIds: [ID!] = [] + """ + A description of this submission target, which may be displayed to submitters when making a submission to this target. + + """ + description: SubmissionTargetDescriptionInput! + """ + A list of schema versions that submissions to this submission target must conform to. + + Must be at least one. + + """ + schemaVersionIds: [ID!] = [] +} + +"""Autogenerated return type of SubmissionTargetConfigure.""" +type SubmissionTargetConfigurePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The newly-modified submission target, if successful. + + """ + submissionTarget: SubmissionTarget } -"""Order schema versions by various factors""" -enum SchemaVersionOrder { - """Order with newest versions at the top""" - LATEST - """Order with oldest versions at the top""" - OLDEST +"""The connection type for SubmissionTarget.""" +type SubmissionTargetConnection implements Paginated { + """A list of edges.""" + edges: [SubmissionTargetEdge!]! + """A list of nodes.""" + nodes: [SubmissionTarget!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } """ -These operators serve as keys for `SearchPredicateInput`. +An object representing the description of a submission target. """ -enum SearchOperator { - """See `AndOperatorInput`""" - and - """See `DateEqualsOperatorInput`""" - dateEquals - """See `DateGTEOperatorInput`""" - dateGTE - """See `DateLTEOperatorInput`""" - dateLTE - """See `EqualsOperatorInput`""" - equals - """See `InAnyOperatorInput`""" - inAny - """See `MatchesOperatorInput`""" - matches - """See `NumericGTEOperatorInput`""" - numericGTE - """See `NumericLTEOperatorInput`""" - numericLTE - """See `OrOperatorInput`""" - or +type SubmissionTargetDescription { + """ + This is a preface to the sections that provides a high-level overview of the action and is intended to be displayed to end users. + + """ + instructions: String! + """ + The internal description of the action. + This is a detailed description that may include technical information and is intended for internal use only. It should not be displayed to end users. + + """ + internal: String! + """ + The ordered sections of the action's description. + + """ + sections: [SubmissionTargetSection!]! } """ -The type of origin for this search scope. +An input object representing the description of a submission target. """ -enum SearchOriginType { - ENTITY - GLOBAL - ORDERING - SCHEMA +input SubmissionTargetDescriptionInput { + """ + This is a preface to the sections that provides a high-level overview of the action and is intended to be displayed to end users. + + """ + instructions: String = "" + """ + The internal description of the action. + This is a detailed description that may include technical information and is intended for internal use only. It should not be displayed to end users. + + """ + internal: String = "" + """ + The ordered sections of the action's description. + + The order provided here will be used as the order of the sections in the action's description. + + """ + sections: [SubmissionTargetSectionInput!]! } """ -A predicate clause for searching entities. - -Each key corresponds to a `SearchOperator`, and multiple keys combined -in the same predicate will be implicitly `AND`ed together. +An edge in a connection for `SubmissionTarget`. """ -input SearchPredicateInput { - """See `AndOperatorInput`""" - and: AndOperatorInput - """See `DateEqualsOperatorInput`""" - dateEquals: DateEqualsOperatorInput - """See `DateGTEOperatorInput`""" - dateGTE: DateGTEOperatorInput - """See `DateLTEOperatorInput`""" - dateLTE: DateLTEOperatorInput - """See `EqualsOperatorInput`""" - equals: EqualsOperatorInput - """See `InAnyOperatorInput`""" - inAny: InAnyOperatorInput - """See `MatchesOperatorInput`""" - matches: MatchesOperatorInput - """See `NumericGTEOperatorInput`""" - numericGTE: NumericGTEOperatorInput - """See `NumericLTEOperatorInput`""" - numericLTE: NumericLTEOperatorInput - """See `OrOperatorInput`""" - or: OrOperatorInput +type SubmissionTargetEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SubmissionTarget! } """ -An entity that's the result of a search. +Filtering options for `SubmissionTarget` records. """ -type SearchResult implements Node & Sluggable { +input SubmissionTargetFilterInput { """ - A reference to the actual entity returned by the search query. + Filter the model's `created_at` with time constraints. """ - entity: Entity! + createdAt: FilterMatchTimeInput """ - The encoded ID that will point to the entity itself, not a special ID for the search result record. + Filter by in state. """ - id: ID! + inState: [SubmissionTargetState!] """ - The kind of entity returned by the search results. + Filter the model's `updated_at` with time constraints. """ - kind: EntityKind! + updatedAt: FilterMatchTimeInput +} + +"""Autogenerated input type of SubmissionTargetOpen""" +input SubmissionTargetOpenInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - The schema version of the returned entity. + The ID of the {SubmissionTarget} to open. """ - schemaVersion: SchemaVersion! + submissionTargetId: ID! +} + +"""Autogenerated return type of SubmissionTargetOpen.""" +type SubmissionTargetOpenPayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String """ - The slug for the entity. + The modified submission target, if successful. """ - slug: Slug! + submissionTarget: SubmissionTarget +} + +""" +Sort a collection of `SubmissionTarget` records by specific properties and directions. + +""" +enum SubmissionTargetOrder { + """Sort submission targets by their default order.""" + DEFAULT + """Sort submission targets by oldest created date.""" + OLDEST + """Sort submission targets by newest created date.""" + RECENT +} + +""" +A reviewer assigned to a `SubmissionTarget`. + +""" +type SubmissionTargetReviewer implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """ - The title for the entity. + Whether the current user has permission to destroy this record. """ - title: String! + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! + id: ID! + """ + The encoded slug for this record. + + """ + slug: Slug! + """The submission target this reviewer is assigned to.""" + submissionTarget: SubmissionTarget! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! + """The user assigned as a reviewer.""" + user: User! } -"""The connection type for SearchResult.""" -type SearchResultConnection implements Paginated { +"""The connection type for SubmissionTargetReviewer.""" +type SubmissionTargetReviewerConnection implements Paginated { """A list of edges.""" - edges: [SearchResultEdge!]! + edges: [SubmissionTargetReviewerEdge!]! """A list of nodes.""" - nodes: [SearchResult!]! + nodes: [SubmissionTargetReviewer!]! """Information to aid in pagination.""" pageInfo: PageInfo! } -"""An edge in a connection.""" -type SearchResultEdge { - """A cursor for use in pagination.""" - cursor: String! - """The item at the end of the edge.""" - node: SearchResult! -} - -type SearchScope { +"""Autogenerated input type of SubmissionTargetReviewerCreate""" +input SubmissionTargetReviewerCreateInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - The available schema versions underneath this search scope. + The ID of the `SubmissionTarget` to assign a reviewer to. """ - availableSchemaVersions: [SchemaVersion!]! - coreProperties: [SearchableCoreProperty!]! - originType: SearchOriginType! + submissionTargetId: ID! """ - The results of a search. - - You must specify one of the following options in order to activate a search: - - * `predicates` - * `prefix` - * `query` - * `schema` - - If _none_ of these are set, the search will be considered empty, and return 0 results. + The ID of the `User` to assign the reviewer role to. """ - results( - access: EntityPermissionFilter = SKIP - """Returns the elements in the list that come after the specified cursor.""" - after: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - """Returns the first _n_ elements from the list.""" - first: Int - """Returns the last _n_ elements from the list.""" - last: Int - order: EntityOrder = PUBLISHED_DESCENDING - """The page of edges/nodes to fetch""" - page: Int - """The direction in which pages advance (to traverse pages backwards)""" - pageDirection: PageDirection = FORWARDS - """The amount of edges / nodes to fetch per page""" - perPage: Int - """ - The predicates to search for, if any. - - """ - predicates: [SearchPredicateInput!] = [] - """ - Search for entities with titles that start with the provided text (case-insensitive). - - """ - prefix: String - """ - Search all text associated with individual entities. - - Basic quoting and similar features are supported. See - [websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for - more information. - - """ - query: String - """Filter by a namespace.name schema identifier""" - schema: [String!] - scope: EntityDescendantScopeFilter = ALL - ): SearchResultConnection! - visibility: EntityVisibilityFilter! + userId: ID! } -interface Searchable { - """Search from this level of the API using it as the origin""" - search( - """ - When searching from a scoped entity, sometimes you want to limit the depth of the search. - - `maxDepth: 1` will restrict to just the entity's direct children (or direct links). - - """ - maxDepth: Int - """ - Restrict the results by a certain level of visibility. This requires an authenticated user - for anything but `VISIBLE`: any other option will be silently discarded when anonymous. - - """ - visibility: EntityVisibilityFilter = VISIBLE - ): SearchScope! +"""Autogenerated return type of SubmissionTargetReviewerCreate.""" +type SubmissionTargetReviewerCreatePayload implements StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String + """ + The newly-modified submission target reviewer, if successful. + + """ + submissionTargetReviewer: SubmissionTargetReviewer } -type SearchableCoreProperty implements SearchableProperty { - description: String - label: String! - searchOperators: [SearchOperator!]! - searchPath: String! +"""Autogenerated input type of SubmissionTargetReviewerDestroy""" +input SubmissionTargetReviewerDestroyInput { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + The submission target reviewer to destroy. + + """ + submissionTargetReviewerId: ID! +} + +"""Autogenerated return type of SubmissionTargetReviewerDestroy.""" +type SubmissionTargetReviewerDestroyPayload implements DestroyMutationPayload & StandardMutationPayload { + attributeErrors: [MutationAttributeError!]! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + """ + Whether or not the model was successfully destroyed. If false, check globalErrors + """ + destroyed: Boolean + """The ID of the deleted model""" + destroyedId: ID + errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") + globalErrors: [MutationGlobalError!]! + """Not presently used""" + haltCode: String } """ -An interface for properties that can be searched. +An edge in a connection for `SubmissionTargetReviewer`. """ -interface SearchableProperty { - description: String - label: String! - searchOperators: [SearchOperator!]! - searchPath: String! +type SubmissionTargetReviewerEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SubmissionTargetReviewer! } -"""An option for a select-type property.""" -type SelectOption { - """The display label for the option.""" - label: String! - """The underlying value for the option.""" - value: String! -} +""" +Filtering options for `SubmissionTargetReviewer` records. -type SelectProperty implements OptionableProperty & ScalarProperty & SchemaProperty & SearchableProperty { - """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. - - """ - array: Boolean! - defaultSelection: String - description: String +""" +input SubmissionTargetReviewerFilterInput { """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + Filter the model's `created_at` with time constraints. """ - fullPath: String! + createdAt: FilterMatchTimeInput """ - The purpose or intent of this property relative to its entity, parents, and others. + Filter by the submission target. """ - function: SchemaPropertyFunction! + submissionTargetIds: [ID!] """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + Filter the model's `updated_at` with time constraints. """ - isWide: Boolean! + updatedAt: FilterMatchTimeInput """ - Provided for introspection. This describes the underlying structure of the data type. + Filter by the associated user. """ - kind: SchemaPropertyKind! - label: String! - """The list of predefined options available for this property.""" - options: [SelectOption!]! + userIds: [ID!] +} + +""" +Sort a collection of `SubmissionTargetReviewer` records by specific properties and directions. + +""" +enum SubmissionTargetReviewerOrder { + """Sort submission target reviewers by their default order.""" + DEFAULT + """Sort submission target reviewers by oldest created date.""" + OLDEST + """Sort submission target reviewers by newest created date.""" + RECENT +} + +""" +An object representing a section of a submission target's description. + +""" +type SubmissionTargetSection { """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + The content of the section. This is the actual text that will be displayed for this section of the action's description. """ - orderable: Boolean! + content: String! """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + A unique identifier for the section. This is generated by the system and should not be provided by the client. """ - path: String! + identifier: String! """ - Whether or not this property is required in order for the schema instance - to be considered valid. - - Note: invalid data provided to a schema property will still invalidate - the instance as a whole—the required trait only determines whether a value - **must** be set. + The name of the section. This is used to identify the section and should be unique within an action. """ - required: Boolean! - searchOperators: [SearchOperator!]! - searchPath: String! - selection: String + name: String! """ - Provided for introspection. This represents the actual data type this property - uses. + The position of the section within the action's description. - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. + This value is automatically generated by the API. """ - type: SchemaPropertyType! + position: Int! } """ -An enumerated value associated with the templating subsystem. +An input object representing a section of a submission target's description. """ -enum SelectionSourceMode { - """ - Selections should inherit from a named ancestor of this entity. - - """ - ANCESTOR +input SubmissionTargetSectionInput { """ - Selections should inherit from the hierarchical parent of this entity. + The content of the section. This is the actual text that will be displayed for this section of the submission target's description. """ - PARENT + content: String! """ - Selections should inherit from the exact entity in question + The name of the section. This is used to identify the section and should be unique within a submission target. """ - SELF + name: String! } """ -The directionality of a sibling relationship, relative to a specific record (referred to as the 'source'). +The state of a submission target, describing whether it is accepting submissions or not. """ -enum SiblingKind { +enum SubmissionTargetState { """ - This sibling comes after the source record. + The submission target is not accepting submissions. """ - NEXT + CLOSED """ - This sibling comes before the source record. + The submission target is accepting submissions. """ - PREV + OPEN } """ -A generic enum for sorting models that don't have anything more specific implemented -""" -enum SimpleOrder { - """Sort models by oldest created date""" - OLDEST - """Sort models by newest created date""" - RECENT -} - -"""A value for updating the site's configuration""" -type SiteFooter { - """A copyright statement that lives in the site's footer.""" - copyrightStatement: String! - """A description that lives in the site's footer.""" - description: String! -} +A transition for a `SubmissionTarget`. -"""A value for updating the site's configuration""" -input SiteFooterInput { - """A copyright statement that lives in the site's footer.""" - copyrightStatement: String - """A description that lives in the site's footer.""" - description: String -} - -"""An interface for accessing derivatives of the site logo (if present).""" -type SiteLogoAttachment implements HasAttachmentStorage & ImageIdentification { - """Alt text for accessible images""" - alt: String - """Configurable metadata for the image.""" - metadata: ImageMetadata - """The original source for the image""" - original: ImageOriginal! +""" +type SubmissionTargetTransition implements CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable { """ - The original filename, if one was detected during attachment. - - Filename detection is not always consistent across browsers, so this - may not always be present, even with a valid attachment. + Whether the current user has permission to destroy this record. """ - originalFilename: String + canDestroy: AuthorizationResult! """ - The intended purpose of this image attachment. This is intended to - help fragments that operate solely on image subcomponents to have - some context for what they are without extra work. + Whether the current user has permission to update this record. """ - purpose: ImagePurpose! + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit. + The state that the submission target is transitioning from. This will be null if the submission target is being created. + """ - sansText: ImageSize! + fromState: SubmissionTargetState + id: ID! """ - This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + Whether this is the most recent transition. """ - storage: AttachmentStorage + mostRecent: Boolean! """ - A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high. + The encoded slug for this record. + """ - withText: ImageSize! -} - -"""An option that determines how the site logo should be rendered""" -enum SiteLogoMode { - """The site logo is unavailable.""" - NONE - """The site logo should be displayed with the site title _hidden_.""" - SANS_TEXT - """The site logo should be displayed with the site title _visible_.""" - WITH_TEXT -} - -"""Configuration settings for information about this installation.""" -type SiteSettings { - """Settings related to the site's footer""" - footer: SiteFooter! + slug: Slug! """ - The text that appears on the root page of the frontend. Supports basic markdown. + The state that the submission target is transitioning to. + """ - installationHomePageCopy: String! - """The name of the installation.""" - installationName: String! - """How the logo should be rendered""" - logoMode: SiteLogoMode! - """The name of the provider supporting and maintaining this installation.""" - providerName: String! -} - -"""A value for updating the site's configuration""" -input SiteSettingsInput { - """Settings for the site's footer""" - footer: SiteFooterInput + toState: SubmissionTargetState! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - The text that appears on the root page of the frontend. Supports basic markdown. + The user who performed the transition, if available. + + Some transitions may happen through automated processes, so the user will not always be set. + """ - installationHomePageCopy: String - """The name of the installation.""" - installationName: String - """How the logo should be rendered""" - logoMode: SiteLogoMode - """The name of the provider supporting and maintaining this installation.""" - providerName: String + user: User } -"""A slug that can identify a record in context""" -scalar Slug - -""" -Objects have a serialized slug for looking them up in the system and generating links without UUIDs -""" -interface Sluggable { - slug: Slug! +"""The connection type for SubmissionTargetTransition.""" +type SubmissionTargetTransitionConnection implements Paginated { + """A list of edges.""" + edges: [SubmissionTargetTransitionEdge!]! + """A list of nodes.""" + nodes: [SubmissionTargetTransition!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! } """ -Most mutations implement this interface in their payload in order to offer a standardize response value +An edge in a connection for `SubmissionTargetTransition`. + """ -interface StandardMutationPayload { - attributeErrors: [MutationAttributeError!]! - errors: [UserError!]! @deprecated(reason: "Use attributeErrors or globalErrors") - globalErrors: [MutationGlobalError!]! - """Not presently used""" - haltCode: String +type SubmissionTargetTransitionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SubmissionTargetTransition! } """ -This property is static and is always available on an -entity, irrespective of its schema. +A transition for a `Submission`. """ -type StaticOrderingPath implements OrderingPath { - """A helpful description of the path""" - description: String - """A logical grouping for ordering paths""" - grouping: OrderingPathGrouping! - """A human-readable label for the path""" - label: String! +type SubmissionTransition implements CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable { """ - Some paths may have a prefix. For instance, schema properties will have the name of the schema. + Whether the current user has permission to destroy this record. """ - labelPrefix: String - """The exact path that should be provided to mutation inputs.""" - path: String! - """The schema property type""" - type: SchemaPropertyType! -} - -type StringProperty implements ScalarProperty & SchemaProperty & SearchableProperty { + canDestroy: AuthorizationResult! """ - Provided for introspection. This describes whether or not the property's value - comes in an array rather than representing a discrete piece of information. - - See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - for examples. + Whether the current user has permission to update this record. """ - array: Boolean! - content: String - default: String - description: String + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" + createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ - The full path that represents the property on the schema instance. It is guaranteed - to be unique for the instance, and can be used to grab a property directly, as well as - facilitating schema validation and errors within the admin application's forms. + The state that the submission target is transitioning from. This will be null if the submission target is being created. """ - fullPath: String! + fromState: SubmissionState + id: ID! """ - The purpose or intent of this property relative to its entity, parents, and others. + Whether this is the most recent transition. """ - function: SchemaPropertyFunction! + mostRecent: Boolean! """ - Whether to render a field as "wide" (two columns) in the form. - This is intended to help structure forms logically, as well as - provide ample space for certain types of data input, particularly - full-text, markdown, and other such complex fields. + The encoded slug for this record. """ - isWide: Boolean! + slug: Slug! """ - Provided for introspection. This describes the underlying structure of the data type. + The state that the submission target is transitioning to. """ - kind: SchemaPropertyKind! - label: String! + toState: SubmissionState! + """The date this record was last updated within the API.""" + updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ - Provided for introspection. Whether this property can be used to order entities. - For certain data types, there's no sensible way to order properties. + The user who performed the transition, if available. + + Some transitions may happen through automated processes, so the user will not always be set. """ - orderable: Boolean! + user: User +} + +"""The connection type for SubmissionTransition.""" +type SubmissionTransitionConnection implements Paginated { + """A list of edges.""" + edges: [SubmissionTransitionEdge!]! + """A list of nodes.""" + nodes: [SubmissionTransition!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! +} + +""" +An edge in a connection for `SubmissionTransition`. + +""" +type SubmissionTransitionEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: SubmissionTransition! +} + +""" +Entities can optionally be submitted to. + +""" +interface Submittable { """ - The "short" path for the property. For properties nested within a group, this can - be considered the name of the property without the group's prefix. + Whether the current user has permission to deposit a new entity into this one. """ - path: String! + canDeposit: AuthorizationResult! """ - Whether or not this property is required in order for the schema instance - to be considered valid. - - Note: invalid data provided to a schema property will still invalidate - the instance as a whole—the required trait only determines whether a value - **must** be set. + Whether the current user has permission to review deposits to this entity. """ - required: Boolean! - searchOperators: [SearchOperator!]! - searchPath: String! + canReview: AuthorizationResult! """ - Provided for introspection. This represents the actual data type this property - uses. + THe current submission status of this entity. Is it a draft, published, or unrelated? - Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - since the actual implementations of these properties differ in the GraphQL types - associated with their values. + """ + submissionStatus: EntitySubmissionStatus! + """ + The submission target that this entity can be submitted to, if any. """ - type: SchemaPropertyType! + submissionTarget: SubmissionTarget } """ @@ -18336,10 +25351,27 @@ enum SupplementaryBackground { NONE } -type SupplementaryLayoutDefinition implements LayoutDefinition & Node & Sluggable { +type SupplementaryLayoutDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! id: ID! layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ slug: Slug! """ This layout will only ever have one template, so it can be fetched directly without needing the union. @@ -18351,10 +25383,13 @@ type SupplementaryLayoutDefinition implements LayoutDefinition & Node & Sluggabl """ templates: [AnySupplementaryTemplateDefinition!]! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -type SupplementaryLayoutInstance implements LayoutInstance & Node & Renderable & Sluggable { +type SupplementaryLayoutInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable { """ Whether all templates in this instance are hidden. @@ -18365,7 +25400,20 @@ type SupplementaryLayoutInstance implements LayoutInstance & Node & Renderable & """ allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ The associated entity for this layout instance. @@ -18383,6 +25431,10 @@ type SupplementaryLayoutInstance implements LayoutInstance & Node & Renderable & """ layoutDefinition: SupplementaryLayoutDefinition! layoutKind: LayoutKind! + """ + The encoded slug for this record. + + """ slug: Slug! """ This layout will only ever have one template, so it can be fetched directly without needing the union. @@ -18394,16 +25446,32 @@ type SupplementaryLayoutInstance implements LayoutInstance & Node & Renderable & """ templates: [AnySupplementaryTemplateInstance!]! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } -type SupplementaryTemplateDefinition implements Node & Sluggable & TemplateDefinition { +type SupplementaryTemplateDefinition implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition { """ The background gradient to use for this template. Affects presentation. """ background: SupplementaryBackground + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! id: ID! layoutKind: LayoutKind! """ @@ -18411,9 +25479,16 @@ type SupplementaryTemplateDefinition implements Node & Sluggable & TemplateDefin """ slots: SupplementaryTemplateDefinitionSlots! + """ + The encoded slug for this record. + + """ slug: Slug! templateKind: TemplateKind! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ @@ -18425,13 +25500,26 @@ type SupplementaryTemplateDefinitionSlots { metricsLabel: TemplateSlotInlineDefinition } -type SupplementaryTemplateInstance implements Node & Renderable & Sluggable & TemplateInstance { +type SupplementaryTemplateInstance implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance { """ Whether all slots in this template are empty. """ allSlotsEmpty: Boolean! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ Load the associated definition for this template. @@ -18475,9 +25563,16 @@ type SupplementaryTemplateInstance implements Node & Renderable & Sluggable & Te """ slots: SupplementaryTemplateInstanceSlots! + """ + The encoded slug for this record. + + """ slug: Slug! templateKind: TemplateKind! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! } """ @@ -18537,6 +25632,11 @@ type TagsProperty implements ScalarProperty & SchemaProperty { """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -18576,6 +25676,11 @@ type TagsProperty implements ScalarProperty & SchemaProperty { """ required: Boolean! + """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! tags: [String!]! """ Provided for introspection. This represents the actual data type this property @@ -18844,8 +25949,21 @@ For `NEXT` siblings, the positions are returned in ascending order. If a templat 3 of 5, then these will be returned at position 4 and 5 in that order. """ -type TemplateInstanceSibling implements Node & Sluggable { +type TemplateInstanceSibling implements CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ Whether the sibling has a `DARK` background. @@ -18873,6 +25991,10 @@ type TemplateInstanceSibling implements Node & Sluggable { """ position: Int! + """ + The encoded slug for this record. + + """ slug: Slug! """ The template this sibling is. As of now, this should always be templates within the `MAIN` layout category, @@ -18880,7 +26002,10 @@ type TemplateInstanceSibling implements Node & Sluggable { """ templateKind: TemplateKind! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """ The width of the sibling (if available). @@ -19329,15 +26454,37 @@ enum TemplateWidth { HALF } -"""Configuration settings for the theme of the WDP frontend.""" +""" +Configuration settings for the theme of the Meru frontend. + +""" type ThemeSettings { + """ + The color of the theme, being one of `["cream", "blue", "gray"]`. + + """ color: String! + """ + The font of the theme, being one of `["style1", "style2", "style3"]`. + + """ font: String! } -"""A value for updating the theme""" +""" +Configuration settings for the theme of the Meru frontend. + +""" input ThemeSettingsInput { + """ + The color of the theme, being one of `["cream", "blue", "gray"]`. + + """ color: String! + """ + The font of the theme, being one of `["style1", "style2", "style3"]`. + + """ font: String! } @@ -19366,6 +26513,11 @@ type TimestampProperty implements ScalarProperty & SchemaProperty & SearchablePr """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -19403,6 +26555,11 @@ type TimestampProperty implements ScalarProperty & SchemaProperty & SearchablePr required: Boolean! searchOperators: [SearchOperator!]! searchPath: String! + """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! timestamp: ISO8601DateTime """ Provided for introspection. This represents the actual data type this property @@ -19465,6 +26622,11 @@ type URLProperty implements ScalarProperty & SchemaProperty { """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -19505,6 +26667,11 @@ type URLProperty implements ScalarProperty & SchemaProperty { """ required: Boolean! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -19577,6 +26744,11 @@ type UnknownProperty implements ScalarProperty & SchemaProperty { """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -19617,6 +26789,11 @@ type UnknownProperty implements ScalarProperty & SchemaProperty { """ required: Boolean! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. @@ -19950,6 +27127,10 @@ input UpdateGlobalConfigurationInput { """ contributionRoles: ContributionRoleConfigurationInput + """Possible new settings for contributors""" + contributors: ContributorsSettingsInput + """Possible new settings for depositing behavior""" + depositing: DepositingSettingsInput """Possible new settings for entity behavior""" entities: EntitiesSettingsInput """Possible new settings for the institution""" @@ -20437,7 +27618,7 @@ type UpsertContributionPayload implements StandardMutationPayload { """ A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. """ -type User implements AccessGrantSubject & ExposesPermissions & Node & Sluggable { +type User implements AccessGrantSubject & CommonModel & CommonPermissions & ExposesPermissions & HasDefaultTimestamps & Node & Sluggable { """All access grants for this user""" accessGrants( """Returns the elements in the list that come after the specified cursor.""" @@ -20503,6 +27684,50 @@ type User implements AccessGrantSubject & ExposesPermissions & Node & Sluggable avatar: ImageAttachment! """Configurable metadata for the avatar attachment""" avatarMetadata: ImageMetadata + """ + Whether this user has access to the admin section of Meru. + + Only a `viewer` with admin access will be able to see the actual + result of this auth check. + + """ + canAccessAdmin: AuthorizationResult! + """ + Whether this user has the ability to claim an unclaimed contributor profile as their own. + + This requires both that the user has permission to manage the system broadly, + and that they do not already have a contributor profile linked to their account. + + """ + canClaimContributor: AuthorizationResult! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether this user is a reviewer on **any** submission targets, and should see information about + potential review requests in the UI. + + This is meant to be checked on the `Query.viewer`. + + """ + canReceiveReviewRequests: AuthorizationResult! + """ + Whether the current user has permission to reset this user's password. + + """ + canResetPassword: AuthorizationResult! + """ + Whether this user has permission to trigger revalidation of the entire frontend. + + """ + canRevalidateInstance: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """All access grants for this user on a collection""" collectionAccessGrants( """Returns the elements in the list that come after the specified cursor.""" @@ -20597,7 +27822,15 @@ type User implements AccessGrantSubject & ExposesPermissions & Node & Sluggable """The amount of edges / nodes to fetch per page""" perPage: Int ): UserCommunityAccessGrantConnection! + """ + Any links between this user and contributors in the system. + + """ + contributorLinks: [ContributorUserLink!]! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """ A user's email. Depending on the upstream provider, this may not be set. """ @@ -20668,10 +27901,24 @@ type User implements AccessGrantSubject & ExposesPermissions & Node & Sluggable name: String """An array of hashes that can be requested to load in a context""" permissions: [PermissionGrant!]! + """ + The primary contributor associated with this user, if any. + + For the actual link records, see `User.contributorLinks`. + + """ + primaryContributor: Contributor """The primary role associated with this subject.""" primaryRole: Role + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """Can this user upload anything at all?""" uploadAccess: Boolean! """If a user has any upload access, this token will allow them to do so.""" @@ -20698,19 +27945,39 @@ interface UserAccessGrant { An access grant for a user to a collection. """ -type UserCollectionAccessGrant implements AccessGrant & Node & Sluggable & UserAccessGrant { +type UserCollectionAccessGrant implements AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserAccessGrant { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """The collection to which a user has been granted access""" collection: Collection! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """The polymorphic entity to which access has been granted""" entity: Entity! id: ID! """The role the subject has been assigned""" role: Role! + """ + The encoded slug for this record. + + """ slug: Slug! """The polymorphic subject that has been granted access""" subject: AccessGrantSubject! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """The user which has been granted access""" user: User! } @@ -20737,19 +28004,39 @@ type UserCollectionAccessGrantEdge { An access grant for a user to a community. """ -type UserCommunityAccessGrant implements AccessGrant & Node & Sluggable & UserAccessGrant { +type UserCommunityAccessGrant implements AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserAccessGrant { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """The community to which a user has been granted access""" community: Community! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """The polymorphic entity to which access has been granted""" entity: Entity! id: ID! """The role the subject has been assigned""" role: Role! + """ + The encoded slug for this record. + + """ slug: Slug! """The polymorphic subject that has been granted access""" subject: AccessGrantSubject! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """The user which has been granted access""" user: User! } @@ -20809,7 +28096,7 @@ type UserError { Not presently exposed through the API. """ -type UserGroup implements AccessGrantSubject & Node & Sluggable { +type UserGroup implements AccessGrantSubject & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable { """All access grants for this group""" accessGrants( """Returns the elements in the list that come after the specified cursor.""" @@ -20861,6 +28148,16 @@ type UserGroup implements AccessGrantSubject & Node & Sluggable { """ assignableRoles: [Role!]! + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """All access grants for this group on a collection""" collectionAccessGrants( """Returns the elements in the list that come after the specified cursor.""" @@ -20901,7 +28198,10 @@ type UserGroup implements AccessGrantSubject & Node & Sluggable { """The amount of edges / nodes to fetch per page""" perPage: Int ): UserGroupCommunityAccessGrantConnection! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! description: String! id: ID! """All access grants for this group on an item""" @@ -20927,8 +28227,15 @@ type UserGroup implements AccessGrantSubject & Node & Sluggable { name: String! """The primary role associated with this subject.""" primaryRole: Role + """ + The encoded slug for this record. + + """ slug: Slug! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! users( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -20966,19 +28273,39 @@ interface UserGroupAccessGrant { An access grant for a group to a collection. """ -type UserGroupCollectionAccessGrant implements AccessGrant & Node & Sluggable & UserGroupAccessGrant { +type UserGroupCollectionAccessGrant implements AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserGroupAccessGrant { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """The collection to which a group has been granted access""" collection: Collection! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """The polymorphic entity to which access has been granted""" entity: Entity! id: ID! """The role the subject has been assigned""" role: Role! + """ + The encoded slug for this record. + + """ slug: Slug! """The polymorphic subject that has been granted access""" subject: AccessGrantSubject! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """The group which has been granted access""" userGroup: UserGroup! } @@ -21005,19 +28332,39 @@ type UserGroupCollectionAccessGrantEdge { An access grant for a group to a community. """ -type UserGroupCommunityAccessGrant implements AccessGrant & Node & Sluggable & UserGroupAccessGrant { +type UserGroupCommunityAccessGrant implements AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserGroupAccessGrant { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! """The community to which a group has been granted access""" community: Community! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """The polymorphic entity to which access has been granted""" entity: Entity! id: ID! """The role the subject has been assigned""" role: Role! + """ + The encoded slug for this record. + + """ slug: Slug! """The polymorphic subject that has been granted access""" subject: AccessGrantSubject! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """The group which has been granted access""" userGroup: UserGroup! } @@ -21044,8 +28391,21 @@ type UserGroupCommunityAccessGrantEdge { An access grant for a group to a item. """ -type UserGroupItemAccessGrant implements AccessGrant & Node & Sluggable & UserGroupAccessGrant { +type UserGroupItemAccessGrant implements AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserGroupAccessGrant { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """The polymorphic entity to which access has been granted""" entity: Entity! id: ID! @@ -21053,10 +28413,17 @@ type UserGroupItemAccessGrant implements AccessGrant & Node & Sluggable & UserGr item: Item! """The role the subject has been assigned""" role: Role! + """ + The encoded slug for this record. + + """ slug: Slug! """The polymorphic subject that has been granted access""" subject: AccessGrantSubject! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """The group which has been granted access""" userGroup: UserGroup! } @@ -21083,8 +28450,21 @@ type UserGroupItemAccessGrantEdge { An access grant for a user to a collection. """ -type UserItemAccessGrant implements AccessGrant & Node & Sluggable & UserAccessGrant { +type UserItemAccessGrant implements AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserAccessGrant { + """ + Whether the current user has permission to destroy this record. + + """ + canDestroy: AuthorizationResult! + """ + Whether the current user has permission to update this record. + + """ + canUpdate: AuthorizationResult! + """The date this record was created within the API.""" createdAt: ISO8601DateTime! + """The date this record was created within the API (date only).""" + createdOn: ISO8601Date! """The polymorphic entity to which access has been granted""" entity: Entity! id: ID! @@ -21092,10 +28472,17 @@ type UserItemAccessGrant implements AccessGrant & Node & Sluggable & UserAccessG item: Item! """The role the subject has been assigned""" role: Role! + """ + The encoded slug for this record. + + """ slug: Slug! """The polymorphic subject that has been granted access""" subject: AccessGrantSubject! + """The date this record was last updated within the API.""" updatedAt: ISO8601DateTime! + """The date this record was last updated within the API (date only).""" + updatedOn: ISO8601Date! """The user which has been granted access""" user: User! } @@ -21142,6 +28529,23 @@ enum UserOrder { RECENT } +""" +A grid of permissions related to user management in Meru. + +""" +type UserPermissionGrid implements CRUDPermissionGrid & ExposesPermissions & PermissionGrid { + """ + A list of allowed actions for the given user on this entity (and its descendants). + """ + allowedActions: [String!]! + create: Boolean! + delete: Boolean! + """An array of hashes that can be requested to load in a context""" + permissions: [PermissionGrant!]! + read: Boolean! + update: Boolean! +} + """ A mapping of attributes for a user to update in the authentication provider. @@ -21235,6 +28639,11 @@ type VariableDateProperty implements ScalarProperty & SchemaProperty & Searchabl """ function: SchemaPropertyFunction! """ + Instructions for filling out this property during submission, if applicable. + + """ + instructions: String + """ Whether to render a field as "wide" (two columns) in the form. This is intended to help structure forms logically, as well as provide ample space for certain types of data input, particularly @@ -21273,6 +28682,11 @@ type VariableDateProperty implements ScalarProperty & SchemaProperty & Searchabl searchOperators: [SearchOperator!]! searchPath: String! """ + Whether or not this property should be displayed as part of the submission process for this schema. + + """ + submittable: Boolean! + """ Provided for introspection. This represents the actual data type this property uses. diff --git a/packages/admin/types/graphql-schema.d.ts b/packages/admin/types/graphql-schema.d.ts index a6ad9d54d..7ef0e37e4 100644 --- a/packages/admin/types/graphql-schema.d.ts +++ b/packages/admin/types/graphql-schema.d.ts @@ -173,6 +173,29 @@ export type AccessibleAllAccessGrantsArgs = { subject?: InputMaybe; }; +/** + * Permissions tied to the admin section of Meru. + * + */ +export type AdminPermissionGrid = ExposesPermissions & PermissionGrid & { + __typename?: 'AdminPermissionGrid'; + /** + * A permission to access the admin section of Meru. + * + * This is checked in order to determine whether or not + * the client should redirect from the admin dashboard (or any admin section) + * when a user tries to access it. + * + * Actual access to specific admin features is determined by other permissions. + * + */ + access: Scalars['Boolean']['output']; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; +}; + /** Autogenerated input type of AlterSchemaVersion */ export type AlterSchemaVersionInput = { /** A unique identifier for the client performing the mutation. */ @@ -427,11 +450,24 @@ export type AndOperatorInput = { * to provide time-sensensitive information and news about a specific entity in the system. * */ -export type Announcement = Node & Sluggable & { +export type Announcement = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'Announcement'; /** A body for the announcement */ body: Scalars['String']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** The entity that owns the announcement */ entity: Entity; /** A header value for the announcement */ @@ -439,10 +475,17 @@ export type Announcement = Node & Sluggable & { id: Scalars['ID']['output']; /** The date of the announcement. */ publishedOn: Scalars['ISO8601Date']['output']; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; /** A teaser for the announcement */ teaser: Scalars['String']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** The connection type for Announcement. */ @@ -548,6 +591,13 @@ export type AnyCommunityAccessGrantEdge = { node: AnyCommunityAccessGrant; }; +/** + * An input for `submissionTargetConfigure` that accepts a submission target + * **or** an entity that can be configured. + * + */ +export type AnyConfigurableSubmissionTarget = Collection | Community | Item | SubmissionTarget | { __typename?: "%other" }; + /** A union of types that can be contributed to */ export type AnyContributable = CollectionContribution | ItemContribution | { __typename?: "%other" }; @@ -785,6 +835,10 @@ export type Asset = { preview: ImageAttachment; /** Configurable metadata for the preview attachment */ previewMetadata?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; }; @@ -802,15 +856,28 @@ export type AssetAssetDownloadsByRegionArgs = { usOnly?: InputMaybe; }; -export type AssetAudio = Asset & Node & Sluggable & { +export type AssetAudio = Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'AssetAudio'; altText?: Maybe; assetDownloads: AnalyticsEventCountSummary; assetDownloadsByRegion: AnalyticsRegionCountSummary; attachable: Attachable; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; caption?: Maybe; contentType: Scalars['String']['output']; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; downloadURL?: Maybe; /** @deprecated Use downloadURL instead */ downloadUrl?: Maybe; @@ -821,8 +888,15 @@ export type AssetAudio = Asset & Node & Sluggable & { preview: ImageAttachment; /** Configurable metadata for the preview attachment */ previewMetadata?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; @@ -848,15 +922,28 @@ export type AssetConnection = Paginated & { pageInfo: PageInfo; }; -export type AssetDocument = Asset & Node & Sluggable & { +export type AssetDocument = Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'AssetDocument'; altText?: Maybe; assetDownloads: AnalyticsEventCountSummary; assetDownloadsByRegion: AnalyticsRegionCountSummary; attachable: Attachable; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; caption?: Maybe; contentType: Scalars['String']['output']; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; downloadURL?: Maybe; /** @deprecated Use downloadURL instead */ downloadUrl?: Maybe; @@ -867,8 +954,15 @@ export type AssetDocument = Asset & Node & Sluggable & { preview: ImageAttachment; /** Configurable metadata for the preview attachment */ previewMetadata?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; @@ -892,15 +986,28 @@ export type AssetEdge = { node: Asset; }; -export type AssetImage = Asset & Node & Sluggable & { +export type AssetImage = Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'AssetImage'; altText?: Maybe; assetDownloads: AnalyticsEventCountSummary; assetDownloadsByRegion: AnalyticsRegionCountSummary; attachable: Attachable; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; caption?: Maybe; contentType: Scalars['String']['output']; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; downloadURL?: Maybe; /** @deprecated Use downloadURL instead */ downloadUrl?: Maybe; @@ -911,8 +1018,15 @@ export type AssetImage = Asset & Node & Sluggable & { preview: ImageAttachment; /** Configurable metadata for the preview attachment */ previewMetadata?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; @@ -929,6 +1043,7 @@ export type AssetImageAssetDownloadsByRegionArgs = { /** The supported kinds of assets in the system */ export type AssetKind = + | 'archive' | 'audio' | 'document' | 'image' @@ -950,15 +1065,28 @@ export type AssetKindFilter = | 'VIDEO' | '%future added value'; -export type AssetPdf = Asset & Node & Sluggable & { +export type AssetPdf = Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'AssetPDF'; altText?: Maybe; assetDownloads: AnalyticsEventCountSummary; assetDownloadsByRegion: AnalyticsRegionCountSummary; attachable: Attachable; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; caption?: Maybe; contentType: Scalars['String']['output']; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; downloadURL?: Maybe; /** @deprecated Use downloadURL instead */ downloadUrl?: Maybe; @@ -969,8 +1097,15 @@ export type AssetPdf = Asset & Node & Sluggable & { preview: ImageAttachment; /** Configurable metadata for the preview attachment */ previewMetadata?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; @@ -1030,6 +1165,11 @@ export type AssetProperty = ScalarProperty & SchemaProperty & { * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -1070,6 +1210,11 @@ export type AssetProperty = ScalarProperty & SchemaProperty & { * */ required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -1091,15 +1236,28 @@ export type AssetSelectOption = { value: Scalars['String']['output']; }; -export type AssetUnknown = Asset & Node & Sluggable & { +export type AssetUnknown = Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'AssetUnknown'; altText?: Maybe; assetDownloads: AnalyticsEventCountSummary; assetDownloadsByRegion: AnalyticsRegionCountSummary; attachable: Attachable; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; caption?: Maybe; contentType: Scalars['String']['output']; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; downloadURL?: Maybe; /** @deprecated Use downloadURL instead */ downloadUrl?: Maybe; @@ -1110,8 +1268,15 @@ export type AssetUnknown = Asset & Node & Sluggable & { preview: ImageAttachment; /** Configurable metadata for the preview attachment */ previewMetadata?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; @@ -1126,15 +1291,28 @@ export type AssetUnknownAssetDownloadsByRegionArgs = { usOnly?: InputMaybe; }; -export type AssetVideo = Asset & Node & Sluggable & { +export type AssetVideo = Asset & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'AssetVideo'; altText?: Maybe; assetDownloads: AnalyticsEventCountSummary; assetDownloadsByRegion: AnalyticsRegionCountSummary; attachable: Attachable; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; caption?: Maybe; contentType: Scalars['String']['output']; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; downloadURL?: Maybe; /** @deprecated Use downloadURL instead */ downloadUrl?: Maybe; @@ -1145,8 +1323,15 @@ export type AssetVideo = Asset & Node & Sluggable & { preview: ImageAttachment; /** Configurable metadata for the preview attachment */ previewMetadata?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; @@ -1193,6 +1378,11 @@ export type AssetsProperty = ScalarProperty & SchemaProperty & { * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -1233,6 +1423,11 @@ export type AssetsProperty = ScalarProperty & SchemaProperty & { * */ required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -1301,6 +1496,16 @@ export type Attribution = { roles: Array; }; +export type AuthorizationResult = { + __typename?: 'AuthorizationResult'; + /** Human-readable error message */ + message?: Maybe; + /** Reasons of check failure */ + reasons?: Maybe; + /** Result of applying a policy rule */ + value: Scalars['Boolean']['output']; +}; + /** * An enumerated value associated with the templating subsystem. * @@ -1323,14 +1528,27 @@ export type BlurbBackground = | 'NONE' | '%future added value'; -export type BlurbTemplateDefinition = Node & Sluggable & TemplateDefinition & { +export type BlurbTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { __typename?: 'BlurbTemplateDefinition'; /** * The background gradient to use for this template. Affects presentation. * */ background?: Maybe; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; id: Scalars['ID']['output']; layoutKind: LayoutKind; /** @@ -1338,9 +1556,16 @@ export type BlurbTemplateDefinition = Node & Sluggable & TemplateDefinition & { * */ slots: BlurbTemplateDefinitionSlots; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** * This controls how wide the template should render. * @@ -1362,14 +1587,27 @@ export type BlurbTemplateDefinitionSlots = { subheader?: Maybe; }; -export type BlurbTemplateInstance = Node & Renderable & Sluggable & TemplateInstance & { +export type BlurbTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance & { __typename?: 'BlurbTemplateInstance'; /** * Whether all slots in this template are empty. * */ allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * Load the associated definition for this template. * @@ -1413,9 +1651,16 @@ export type BlurbTemplateInstance = Node & Renderable & Sluggable & TemplateInst * */ slots: BlurbTemplateInstanceSlots; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** @@ -1455,6 +1700,11 @@ export type BooleanProperty = ScalarProperty & SchemaProperty & SearchableProper * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -1493,6 +1743,11 @@ export type BooleanProperty = ScalarProperty & SchemaProperty & SearchableProper required: Scalars['Boolean']['output']; searchOperators: Array; searchPath: Scalars['String']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -1526,8 +1781,6 @@ export type CrudPermissionGrid = { * */ export type ChildEntity = { - /** Derived access control list */ - accessControlList?: Maybe; /** A polymorphic connection for access grants from an entity */ allAccessGrants: AnyAccessGrantConnection; /** A list of allowed actions for the given user on this entity (and its descendants). */ @@ -1547,7 +1800,10 @@ export type ChildEntity = { ancestorOfType?: Maybe; /** Look up an announcement for this entity by slug */ announcement?: Maybe; - /** Announcements for a specific entity */ + /** + * A list of announcements associated with this entity. + * + */ announcements: AnnouncementConnection; /** The role(s) that gave the permissions to access this resource, if any. */ applicableRoles: Array; @@ -1557,10 +1813,78 @@ export type ChildEntity = { assignedUsers: ContextualPermissionConnection; /** Previous entries in the hierarchy */ breadcrumbs: Array; + /** + * Whether the current user has permission to alter the schema version of this entity. + * + * Submission drafts will be denied, even if the user would otherwise have permission. + * + */ + canAlterSchemaVersion: AuthorizationResult; + /** + * Whether the current user has permission to create assets under this entity. + * + */ + canCreateAssets: AuthorizationResult; + /** + * Whether the current user has permission to create collections under this entity. + * + */ + canCreateCollections: AuthorizationResult; + /** + * Whether the current user has permission to create items under this entity. + * + */ + canCreateItems: AuthorizationResult; + /** + * Whether the current user has permission to deposit a new entity into this one. + * + */ + canDeposit: AuthorizationResult; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to manage access to this entity. + * + * This opens up `grantAccess` and `revokeAccess` mutations. + * + */ + canManageAccess: AuthorizationResult; + /** + * Whether the current user has permission to purge this entity. + * + */ + canPurge: AuthorizationResult; + /** + * Whether the current user has permission to reparent this entity. + * + * Submission drafts will be denied, even if the user would otherwise have permission. + * + */ + canReparent: AuthorizationResult; + /** + * Whether the current user has permission to revalidate this entity. + * + */ + canRevalidate: AuthorizationResult; + /** + * Whether the current user has permission to review deposits to this entity. + * + */ + canReview: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; /** The community this entity belongs to */ community: Community; - /** The date this entity was added to the WDP */ + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * Whether the entity is _currently_ hidden, based on the server's time zone. * @@ -1572,7 +1896,9 @@ export type ChildEntity = { */ currentlyVisible: Scalars['Boolean']['output']; /** - * Search and retrieve *all* descendants of this `Entity`, regardless of type. + * All descendants of this entity, regardless of type. + * + * Communities and collections can both contain collections and items. Items will only contain items. * */ descendants: EntityDescendantConnection; @@ -1621,8 +1947,13 @@ export type ChildEntity = { hiddenAsOf: Scalars['Boolean']['output']; /** If present, this is the timestamp the entity was hidden at */ hiddenAt?: Maybe; - /** The depth of the hierarchical entity, taking into account any parent types */ + /** + * The depth of the hierarchical entity, taking into account any parent types. + * + */ hierarchicalDepth: Scalars['Int']['output']; + /** ID of the object. */ + id: Scalars['ID']['output']; /** A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers. */ identifier: Scalars['String']['output']; /** @@ -1631,8 +1962,15 @@ export type ChildEntity = { */ layouts: EntityLayouts; leaf: Scalars['Boolean']['output']; - /** Available link targets for this entity */ + /** + * Available link targets for this entity. + * + */ linkTargetCandidates: LinkTargetCandidateConnection; + /** + * Links from this entity to other entities, along with metadata about those links. + * + */ links: EntityLinkConnection; /** * Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. @@ -1653,12 +1991,16 @@ export type ChildEntity = { /** Look up an ordering that is set up to handle a specific schema. */ orderingForSchema?: Maybe; /** - * Retrieve a connection of orderings for the parent object. + * A list of orderings associated with this entity. * */ orderings: OrderingConnection; /** Look up a page for this entity by slug */ page?: Maybe; + /** + * A list of pages associated with this entity. + * + */ pages: PageConnection; /** An array of hashes that can be requested to load in a context */ permissions: Array; @@ -1671,17 +2013,44 @@ export type ChildEntity = { */ rawDOI?: Maybe; root: Scalars['Boolean']['output']; + /** + * The schema definition that this entity conforms to. + * + */ schemaDefinition: SchemaDefinition; /** * A list of schema properties associated with this instance or version. * */ schemaProperties: Array; + /** + * The hierarchical schema ranks for this entity, which compute the overall structure + * of its descendants by schema definition. + * + */ schemaRanks: Array; + /** + * The schema version that this entity conforms to. + * + */ schemaVersion: SchemaVersion; /** Search from this level of the API using it as the origin */ search: SearchScope; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** + * THe current submission status of this entity. Is it a draft, published, or unrelated? + * + */ + submissionStatus: EntitySubmissionStatus; + /** + * The submission target that this entity can be submitted to, if any. + * + */ + submissionTarget?: Maybe; /** * A human-readable subtitle for the entity. * @@ -1701,8 +2070,10 @@ export type ChildEntity = { * */ title: Scalars['String']['output']; - /** The date this entity was last updated within the WDP */ + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** If an entity is available in the frontend */ visibility: EntityVisibility; /** @@ -2003,22 +2374,20 @@ export type ChildEntityKind = */ export type ClientLocation = /** - * The admin client (http://localhost:3000). + * The admin client (https://admin.sandbox.meru.host). * */ | 'ADMIN' /** - * The frontend client (http://localhost:14700). + * The frontend client (https://sandbox.meru.host). * */ | 'FRONTEND' | '%future added value'; /** A collection of items */ -export type Collection = Accessible & Attachable & Attributable & ChildEntity & Contributable & Entity & EntityBase & ExposesPermissions & HarvestTarget & HasDoi & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & ReferencesEntityVisibility & ReferencesGlobalEntityDates & SchemaInstance & Searchable & Sluggable & { +export type Collection = Accessible & Attachable & Attributable & ChildEntity & CommonModel & CommonPermissions & Contributable & Entity & EntityBase & EntityContextualPermissions & EntityPermissions & ExposesPermissions & HarvestTarget & HasDoi & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & ReferencesEntityVisibility & ReferencesGlobalEntityDates & SchemaInstance & Searchable & Sluggable & Submittable & { __typename?: 'Collection'; - /** Derived access control list */ - accessControlList?: Maybe; accessGrants: AnyCollectionAccessGrantConnection; /** A polymorphic connection for access grants from an entity */ allAccessGrants: AnyAccessGrantConnection; @@ -2039,7 +2408,10 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & ancestorOfType?: Maybe; /** Look up an announcement for this entity by slug */ announcement?: Maybe; - /** Announcements for a specific entity */ + /** + * A list of announcements associated with this entity. + * + */ announcements: AnnouncementConnection; /** The role(s) that gave the permissions to access this resource, if any. */ applicableRoles: Array; @@ -2060,6 +2432,72 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & availableEntitiesFor: Array; /** Previous entries in the hierarchy */ breadcrumbs: Array; + /** + * Whether the current user has permission to alter the schema version of this entity. + * + * Submission drafts will be denied, even if the user would otherwise have permission. + * + */ + canAlterSchemaVersion: AuthorizationResult; + /** + * Whether the current user has permission to create assets under this entity. + * + */ + canCreateAssets: AuthorizationResult; + /** + * Whether the current user has permission to create collections under this entity. + * + */ + canCreateCollections: AuthorizationResult; + /** + * Whether the current user has permission to create items under this entity. + * + */ + canCreateItems: AuthorizationResult; + /** + * Whether the current user has permission to deposit a new entity into this one. + * + */ + canDeposit: AuthorizationResult; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to manage access to this entity. + * + * This opens up `grantAccess` and `revokeAccess` mutations. + * + */ + canManageAccess: AuthorizationResult; + /** + * Whether the current user has permission to purge this entity. + * + */ + canPurge: AuthorizationResult; + /** + * Whether the current user has permission to reparent this entity. + * + * Submission drafts will be denied, even if the user would otherwise have permission. + * + */ + canReparent: AuthorizationResult; + /** + * Whether the current user has permission to revalidate this entity. + * + */ + canRevalidate: AuthorizationResult; + /** + * Whether the current user has permission to review deposits to this entity. + * + */ + canReview: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; /** * The canonical permalink for this resource, if one is set. * @@ -2075,8 +2513,10 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & contributions: CollectionContributionConnection; /** Contributors to this element */ contributors: AnyContributorConnection; - /** The date this entity was added to the WDP */ + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * Whether the entity is _currently_ hidden, based on the server's time zone. * @@ -2088,7 +2528,9 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & */ currentlyVisible: Scalars['Boolean']['output']; /** - * Search and retrieve *all* descendants of this `Entity`, regardless of type. + * All descendants of this entity, regardless of type. + * + * Communities and collections can both contain collections and items. Items will only contain items. * */ descendants: EntityDescendantConnection; @@ -2152,7 +2594,10 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & hiddenAsOf: Scalars['Boolean']['output']; /** If present, this is the timestamp the entity was hidden at */ hiddenAt?: Maybe; - /** The depth of the hierarchical entity, taking into account any parent types */ + /** + * The depth of the hierarchical entity, taking into account any parent types. + * + */ hierarchicalDepth: Scalars['Int']['output']; id: Scalars['ID']['output']; /** A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers. */ @@ -2164,8 +2609,15 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & */ layouts: EntityLayouts; leaf: Scalars['Boolean']['output']; - /** Available link targets for this entity */ + /** + * Available link targets for this entity. + * + */ linkTargetCandidates: LinkTargetCandidateConnection; + /** + * Links from this entity to other entities, along with metadata about those links. + * + */ links: EntityLinkConnection; /** * Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. @@ -2186,12 +2638,16 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & /** Look up an ordering that is set up to handle a specific schema. */ orderingForSchema?: Maybe; /** - * Retrieve a connection of orderings for the parent object. + * A list of orderings associated with this entity. * */ orderings: OrderingConnection; /** Look up a page for this entity by slug */ page?: Maybe; + /** + * A list of pages associated with this entity. + * + */ pages: PageConnection; parent?: Maybe; /** @@ -2212,7 +2668,11 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & /** Retrieve linked collections of the same schema type */ relatedCollections: CollectionConnection; root: Scalars['Boolean']['output']; - schemaDefinition: SchemaDefinition; + /** + * The schema definition that this entity conforms to. + * + */ + schemaDefinition: SchemaDefinition; /** * The context for our schema instance. Includes form values and necessary referents. * @@ -2228,11 +2688,34 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & * */ schemaProperty?: Maybe; + /** + * The hierarchical schema ranks for this entity, which compute the overall structure + * of its descendants by schema definition. + * + */ schemaRanks: Array; + /** + * The schema version that this entity conforms to. + * + */ schemaVersion: SchemaVersion; /** Search from this level of the API using it as the origin */ search: SearchScope; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** + * THe current submission status of this entity. Is it a draft, published, or unrelated? + * + */ + submissionStatus: EntitySubmissionStatus; + /** + * The submission target that this entity can be submitted to, if any. + * + */ + submissionTarget?: Maybe; /** * A human-readable subtitle for the entity. * @@ -2252,8 +2735,10 @@ export type Collection = Accessible & Attachable & Attributable & ChildEntity & * */ title: Scalars['String']['output']; - /** The date this entity was last updated within the WDP */ + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** Access grants for specific users */ userAccessGrants: UserCollectionAccessGrantConnection; /** Not presently used */ @@ -2427,9 +2912,11 @@ export type CollectionContributionsArgs = { export type CollectionContributorsArgs = { after?: InputMaybe; before?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; kind?: InputMaybe; last?: InputMaybe; + orFilters?: InputMaybe>; order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; @@ -2495,9 +2982,11 @@ export type CollectionItemsArgs = { access?: InputMaybe; after?: InputMaybe; before?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; last?: InputMaybe; nodeFilter?: InputMaybe; + orFilters?: InputMaybe>; order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; @@ -2640,18 +3129,38 @@ export type CollectionVisibleAsOfArgs = { * Attributions for collections. * */ -export type CollectionAttribution = Attribution & Node & Sluggable & { +export type CollectionAttribution = Attribution & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'CollectionAttribution'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; contributor: ContributorBase; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; id: Scalars['ID']['output']; /** * A priority-ordered list of the roles the associated contributor had. * */ roles: Array; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** The connection type for Collection. */ @@ -2666,16 +3175,29 @@ export type CollectionConnection = Paginated & { }; /** A contribution to a collection */ -export type CollectionContribution = Contribution & ContributionBase & Node & Sluggable & { +export type CollectionContribution = CommonModel & CommonPermissions & Contribution & ContributionBase & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'CollectionContribution'; /** A potentially-overridden value from person contributors */ affiliation?: Maybe; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; collection: Collection; /** The actual role */ contributionRole: ControlledVocabularyItem; contributor: Contributor; contributorKind: ContributorKind; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** A potentially-overridden display name value for all contributor types */ displayName: Scalars['String']['output']; id: Scalars['ID']['output']; @@ -2703,10 +3225,17 @@ export type CollectionContribution = Contribution & ContributionBase & Node & Sl role?: Maybe; /** An arbitrary text value describing the role the contributor had */ roleLabel?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; /** A potentially-overridden value from person contributors */ title?: Maybe; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** The connection type for CollectionContribution. */ @@ -2738,13 +3267,85 @@ export type CollectionEdge = { node: Collection; }; +/** + * The parent of a collection, which can be either a community or another collection. + * + */ export type CollectionParent = Collection | Community | { __typename?: "%other" }; +/** + * Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + * + */ +export type CommonModel = { + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** ID of the object. */ + id: Scalars['ID']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +/** + * Common permissions shared on most models. + * + */ +export type CommonPermissions = { + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; +}; + +/** + * A common interface for transition models, which represent state changes in a state machine. + * These models have `from_state`, `to_state`, and `most_recent` fields, as well as an optional + * association to a `User` who performed the transition. + * + */ +export type CommonTransition = { + /** + * Whether this is the most recent transition. + * + */ + mostRecent: Scalars['Boolean']['output']; + /** + * The user who performed the transition, if available. + * + * Some transitions may happen through automated processes, so the user will not always be set. + * + */ + user?: Maybe; +}; + /** A community of users */ -export type Community = Accessible & Attachable & Entity & EntityBase & ExposesPermissions & HarvestTarget & HasEntityAnalytics & HasEntityBreadcrumbs & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & SchemaInstance & Searchable & Sluggable & { +export type Community = Accessible & Attachable & CommonModel & CommonPermissions & Entity & EntityBase & EntityContextualPermissions & EntityPermissions & ExposesPermissions & HarvestTarget & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & SchemaInstance & Searchable & Sluggable & Submittable & { __typename?: 'Community'; - /** Derived access control list */ - accessControlList?: Maybe; accessGrants: AnyCommunityAccessGrantConnection; /** A polymorphic connection for access grants from an entity */ allAccessGrants: AnyAccessGrantConnection; @@ -2752,7 +3353,10 @@ export type Community = Accessible & Attachable & Entity & EntityBase & ExposesP allowedActions: Array; /** Look up an announcement for this entity by slug */ announcement?: Maybe; - /** Announcements for a specific entity */ + /** + * A list of announcements associated with this entity. + * + */ announcements: AnnouncementConnection; /** The role(s) that gave the permissions to access this resource, if any. */ applicableRoles: Array; @@ -2771,15 +3375,86 @@ export type Community = Accessible & Attachable & Entity & EntityBase & ExposesP availableEntitiesFor: Array; /** Previous entries in the hierarchy */ breadcrumbs: Array; + /** + * Whether the current user has permission to alter the schema version of this entity. + * + * Submission drafts will be denied, even if the user would otherwise have permission. + * + */ + canAlterSchemaVersion: AuthorizationResult; + /** + * Whether the current user has permission to create assets under this entity. + * + */ + canCreateAssets: AuthorizationResult; + /** + * Whether the current user has permission to create collections under this entity. + * + */ + canCreateCollections: AuthorizationResult; + /** + * Whether the current user has permission to create items under this entity. + * + */ + canCreateItems: AuthorizationResult; + /** + * Whether the current user has permission to deposit a new entity into this one. + * + */ + canDeposit: AuthorizationResult; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to manage access to this entity. + * + * This opens up `grantAccess` and `revokeAccess` mutations. + * + */ + canManageAccess: AuthorizationResult; + /** + * Whether the current user has permission to purge this entity. + * + */ + canPurge: AuthorizationResult; + /** + * Whether the current user has permission to reparent this entity. + * + * Submission drafts will be denied, even if the user would otherwise have permission. + * + */ + canReparent: AuthorizationResult; + /** + * Whether the current user has permission to revalidate this entity. + * + */ + canRevalidate: AuthorizationResult; + /** + * Whether the current user has permission to review deposits to this entity. + * + */ + canReview: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; /** * The canonical permalink for this resource, if one is set. * */ canonicalPermalink?: Maybe; collections: CollectionConnection; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * Search and retrieve *all* descendants of this `Entity`, regardless of type. + * All descendants of this entity, regardless of type. + * + * Communities and collections can both contain collections and items. Items will only contain items. * */ descendants: EntityDescendantConnection; @@ -2800,7 +3475,10 @@ export type Community = Accessible & Attachable & Entity & EntityBase & ExposesP heroImageLayout: HeroImageLayout; /** Configurable metadata for the hero_image attachment */ heroImageMetadata?: Maybe; - /** The depth of the hierarchical entity, taking into account any parent types */ + /** + * The depth of the hierarchical entity, taking into account any parent types. + * + */ hierarchicalDepth: Scalars['Int']['output']; id: Scalars['ID']['output']; /** @@ -2808,8 +3486,15 @@ export type Community = Accessible & Attachable & Entity & EntityBase & ExposesP * */ layouts: EntityLayouts; - /** Available link targets for this entity */ + /** + * Available link targets for this entity. + * + */ linkTargetCandidates: LinkTargetCandidateConnection; + /** + * Links from this entity to other entities, along with metadata about those links. + * + */ links: EntityLinkConnection; /** A logo for the community */ logo: ImageAttachment; @@ -2828,12 +3513,16 @@ export type Community = Accessible & Attachable & Entity & EntityBase & ExposesP /** Look up an ordering that is set up to handle a specific schema. */ orderingForSchema?: Maybe; /** - * Retrieve a connection of orderings for the parent object. + * A list of orderings associated with this entity. * */ orderings: OrderingConnection; /** Look up a page for this entity by slug */ page?: Maybe; + /** + * A list of pages associated with this entity. + * + */ pages: PageConnection; /** * All permalinks associated with this resource. @@ -2843,6 +3532,10 @@ export type Community = Accessible & Attachable & Entity & EntityBase & ExposesP /** An array of hashes that can be requested to load in a context */ permissions: Array; position?: Maybe; + /** + * The schema definition that this entity conforms to. + * + */ schemaDefinition: SchemaDefinition; /** * The context for our schema instance. Includes form values and necessary referents. @@ -2859,11 +3552,34 @@ export type Community = Accessible & Attachable & Entity & EntityBase & ExposesP * */ schemaProperty?: Maybe; + /** + * The hierarchical schema ranks for this entity, which compute the overall structure + * of its descendants by schema definition. + * + */ schemaRanks: Array; + /** + * The schema version that this entity conforms to. + * + */ schemaVersion: SchemaVersion; /** Search from this level of the API using it as the origin */ search: SearchScope; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** + * THe current submission status of this entity. Is it a draft, published, or unrelated? + * + */ + submissionStatus: EntitySubmissionStatus; + /** + * The submission target that this entity can be submitted to, if any. + * + */ + submissionTarget?: Maybe; /** * A human-readable subtitle for the entity. * @@ -2884,7 +3600,10 @@ export type Community = Accessible & Attachable & Entity & EntityBase & ExposesP * */ title: Scalars['String']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** Access grants for specific users */ userAccessGrants: UserCommunityAccessGrantConnection; /** Not presently used */ @@ -3181,7 +3900,7 @@ export type CommunityEdge = { }; /** A contextual permission for a user, role, and entity */ -export type ContextualPermission = ExposesPermissions & Node & Sluggable & { +export type ContextualPermission = CommonModel & CommonPermissions & ExposesPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'ContextualPermission'; /** * The derived access control list for this user and entity. @@ -3195,7 +3914,20 @@ export type ContextualPermission = ExposesPermissions & Node & Sluggable & { accessGrants: Array; /** A list of allowed actions for the given user on this entity (and its descendants). */ allowedActions: Array; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; id: Scalars['ID']['output']; /** An array of hashes that can be requested to load in a context */ permissions: Array; @@ -3204,8 +3936,15 @@ export type ContextualPermission = ExposesPermissions & Node & Sluggable & { * */ roles: Array; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** * The user that has the contextual permission. * @@ -3258,9 +3997,11 @@ export type Contributable = { export type ContributableContributorsArgs = { after?: InputMaybe; before?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; kind?: InputMaybe; last?: InputMaybe; + orFilters?: InputMaybe>; order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; @@ -3404,14 +4145,27 @@ export type ContributionOrder = * Configuration for the controlled vocabulary used for contribution roles on a given `source`. * */ -export type ContributionRoleConfiguration = Node & Sluggable & { +export type ContributionRoleConfiguration = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'ContributionRoleConfiguration'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; /** * The set of items to use for contribution roles for this source. * */ controlledVocabulary: ControlledVocabulary; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * The default item to use when a contribution is created but no role is provided. * This is necessary as a fallback for harvesting and other use cases. @@ -3424,8 +4178,15 @@ export type ContributionRoleConfiguration = Node & Sluggable & { * */ otherItem?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** @@ -3451,7 +4212,10 @@ export type ContributionRoleConfigurationInput = { otherItemId?: InputMaybe; }; -/** Objects have a serialized slug for looking them up in the system and generating links without UUIDs */ +/** + * Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + * + */ export type Contributor = { /** * Only applicable when `kind` = `PERSON`. @@ -3460,6 +4224,53 @@ export type Contributor = { affiliation?: Maybe; attributions: ContributorAttributionConnection; bio?: Maybe; + /** + * Whether the current user has the ability to claim this contributor profile as their own. + * + * This requires both that the user has permission to manage the system broadly, + * and that they do not already have a contributor profile linked to their account. + * + * It also requires the contributor to be unclaimed. + * + * It is associated with the `contributorClaim` mutation. + * + */ + canClaim: AuthorizationResult; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has the ability to link this contributor profile to any user account. + * + * This differs from `canClaim` in that it does not require the contributor to be unclaimed, + * and can specify the user account to link to. + * + * It is associated with the `contributorUserLinkUpsert` mutation. + * + */ + canLinkUser: AuthorizationResult; + /** + * Whether the current user has the ability to use this contributor profile as a source in a merge operation. + * + */ + canMergeSource: AuthorizationResult; + /** + * Whether the current user has the ability to use this contributor profile as a target in a merge operation. + * + */ + canMergeTarget: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** + * Whether this contributor has been claimed by a user. + * + */ + claimed: Scalars['Boolean']['output']; /** * The total number of collection contributions from this contributor. * @@ -3511,6 +4322,26 @@ export type Contributor = { * */ location?: Maybe; + /** + * Whether this contributor is currently involved in an active merge as either a source or target. + * + */ + mergeBusy: Scalars['Boolean']['output']; + /** + * The status of this contributor in the context of being a merge source. + * + */ + mergeSourceStatus: ContributorMergeSourceStatus; + /** + * The target of the merge, if available. + * + */ + mergeTarget?: Maybe; + /** + * The status of this contributor in the context of being a merge target. + * + */ + mergeTargetStatus: ContributorMergeTargetStatus; /** * A display name, independent of the type of contributor. * @@ -3522,6 +4353,10 @@ export type Contributor = { */ orcid?: Maybe; prefix?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; suffix?: Maybe; /** @@ -3530,10 +4365,18 @@ export type Contributor = { */ title?: Maybe; url?: Maybe; + /** + * The link between this contributor and a user, if any exists. + * + */ + userLink?: Maybe; }; -/** Objects have a serialized slug for looking them up in the system and generating links without UUIDs */ +/** + * Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + * + */ export type ContributorAttributionsArgs = { after?: InputMaybe; before?: InputMaybe; @@ -3546,7 +4389,10 @@ export type ContributorAttributionsArgs = { }; -/** Objects have a serialized slug for looking them up in the system and generating links without UUIDs */ +/** + * Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + * + */ export type ContributorCollectionContributionsArgs = { after?: InputMaybe; before?: InputMaybe; @@ -3559,7 +4405,10 @@ export type ContributorCollectionContributionsArgs = { }; -/** Objects have a serialized slug for looking them up in the system and generating links without UUIDs */ +/** + * Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + * + */ export type ContributorItemContributionsArgs = { after?: InputMaybe; before?: InputMaybe; @@ -3649,7 +4498,10 @@ export type ContributorAttributionOrder = | 'TITLE_DESCENDING' | '%future added value'; -/** Objects have a serialized slug for looking them up in the system and generating links without UUIDs */ +/** + * Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + * + */ export type ContributorBase = { /** * Only applicable when `kind` = `PERSON`. @@ -3658,37 +4510,84 @@ export type ContributorBase = { affiliation?: Maybe; bio?: Maybe; /** - * The total number of collection contributions from this contributor. + * Whether the current user has the ability to claim this contributor profile as their own. + * + * This requires both that the user has permission to manage the system broadly, + * and that they do not already have a contributor profile linked to their account. + * + * It also requires the contributor to be unclaimed. + * + * It is associated with the `contributorClaim` mutation. * */ - collectionContributionCount: Scalars['Int']['output']; + canClaim: AuthorizationResult; /** - * The total number of contributions (item + collection) from this contributor. + * Whether the current user has permission to destroy this record. * */ - contributionCount: Scalars['Int']['output']; - email?: Maybe; + canDestroy: AuthorizationResult; /** - * Only applicable when `kind` = `PERSON`. + * Whether the current user has the ability to link this contributor profile to any user account. + * + * This differs from `canClaim` in that it does not require the contributor to be unclaimed, + * and can specify the user account to link to. + * + * It is associated with the `contributorUserLinkUpsert` mutation. * */ - familyName?: Maybe; + canLinkUser: AuthorizationResult; /** - * Only applicable when `kind` = `PERSON`. + * Whether the current user has the ability to use this contributor profile as a source in a merge operation. * */ - givenName?: Maybe; + canMergeSource: AuthorizationResult; /** - * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have - * no effect on this record. + * Whether the current user has the ability to use this contributor profile as a target in a merge operation. * */ - harvestModificationStatus: HarvestModificationStatus; - identifier: Scalars['String']['output']; - /** An optional image associated with the contributor. */ - image: ImageAttachment; - /** Configurable metadata for the image attachment */ - imageMetadata?: Maybe; + canMergeTarget: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** + * Whether this contributor has been claimed by a user. + * + */ + claimed: Scalars['Boolean']['output']; + /** + * The total number of collection contributions from this contributor. + * + */ + collectionContributionCount: Scalars['Int']['output']; + /** + * The total number of contributions (item + collection) from this contributor. + * + */ + contributionCount: Scalars['Int']['output']; + email?: Maybe; + /** + * Only applicable when `kind` = `PERSON`. + * + */ + familyName?: Maybe; + /** + * Only applicable when `kind` = `PERSON`. + * + */ + givenName?: Maybe; + /** + * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have + * no effect on this record. + * + */ + harvestModificationStatus: HarvestModificationStatus; + identifier: Scalars['String']['output']; + /** An optional image associated with the contributor. */ + image: ImageAttachment; + /** Configurable metadata for the image attachment */ + imageMetadata?: Maybe; /** * The total number of item contributions from this contributor. * @@ -3706,6 +4605,26 @@ export type ContributorBase = { * */ location?: Maybe; + /** + * Whether this contributor is currently involved in an active merge as either a source or target. + * + */ + mergeBusy: Scalars['Boolean']['output']; + /** + * The status of this contributor in the context of being a merge source. + * + */ + mergeSourceStatus: ContributorMergeSourceStatus; + /** + * The target of the merge, if available. + * + */ + mergeTarget?: Maybe; + /** + * The status of this contributor in the context of being a merge target. + * + */ + mergeTargetStatus: ContributorMergeTargetStatus; /** * A display name, independent of the type of contributor. * @@ -3717,6 +4636,10 @@ export type ContributorBase = { */ orcid?: Maybe; prefix?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; suffix?: Maybe; /** @@ -3725,17 +4648,74 @@ export type ContributorBase = { */ title?: Maybe; url?: Maybe; + /** + * The link between this contributor and a user, if any exists. + * + */ + userLink?: Maybe; +}; + +/** Autogenerated input type of ContributorClaim */ +export type ContributorClaimInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The ID of the contributor to claim. This should be a contributor that has already been harvested for the current user. + * + */ + contributorId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of ContributorClaim. */ +export type ContributorClaimPayload = StandardMutationPayload & { + __typename?: 'ContributorClaimPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** + * The contributor that was claimed by the current user, if successful. + * + */ + contributor?: Maybe; + /** + * The link between the claimed contributor and the current user, if the claim was successful. + * + */ + contributorUserLink?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The current user, if the claim was successful. + * + */ + user?: Maybe; }; /** * A specific attribution on a `Collection`. * */ -export type ContributorCollectionAttribution = ContributorAttribution & Node & Sluggable & { +export type ContributorCollectionAttribution = CommonModel & CommonPermissions & ContributorAttribution & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'ContributorCollectionAttribution'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; /** The collection the contributor has an attribution on. */ collection: Collection; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * The slug for the entity. * @@ -3762,13 +4742,47 @@ export type ContributorCollectionAttribution = ContributorAttribution & Node & S * */ roles: Array; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; /** * The title of the entity. * */ title: Scalars['String']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +/** + * Filtering options for `Contributor` records. + * + */ +export type ContributorFilterInput = { + /** + * Filter the model's `created_at` with time constraints. + * + */ + createdAt?: InputMaybe; + /** + * Perform a full-text search with the provided query. + * + */ + nameSearch?: InputMaybe; + /** + * Whether to include only contributors that have not been claimed by a user. + * + */ + unclaimed?: InputMaybe; + /** + * Filter the model's `updated_at` with time constraints. + * + */ + updatedAt?: InputMaybe; }; export type ContributorFilterKind = @@ -3781,9 +4795,22 @@ export type ContributorFilterKind = * A specific attribution on a `Item`. * */ -export type ContributorItemAttribution = ContributorAttribution & Node & Sluggable & { +export type ContributorItemAttribution = CommonModel & CommonPermissions & ContributorAttribution & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'ContributorItemAttribution'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * The slug for the entity. * @@ -3812,13 +4839,20 @@ export type ContributorItemAttribution = ContributorAttribution & Node & Sluggab * */ roles: Array; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; /** * The title of the entity. * */ title: Scalars['String']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; export type ContributorKind = @@ -3878,14 +4912,27 @@ export type ContributorListFilter = | 'AUTHORS' | '%future added value'; -export type ContributorListTemplateDefinition = Node & Sluggable & TemplateDefinition & { +export type ContributorListTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { __typename?: 'ContributorListTemplateDefinition'; /** * The background gradient to use for this template. Affects presentation. * */ background?: Maybe; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * Filter which contributors may appear based on their contribution role. * @@ -3903,9 +4950,16 @@ export type ContributorListTemplateDefinition = Node & Sluggable & TemplateDefin * */ slots: ContributorListTemplateDefinitionSlots; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** * This controls how wide the template should render. * @@ -3925,19 +4979,32 @@ export type ContributorListTemplateDefinitionSlots = { header?: Maybe; }; -export type ContributorListTemplateInstance = Node & Renderable & Sluggable & TemplateHasContributionList & TemplateInstance & { +export type ContributorListTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasContributionList & TemplateInstance & { __typename?: 'ContributorListTemplateInstance'; /** * Whether all slots in this template are empty. * */ allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; /** * The list of contributions to render as part of this template's content. * */ contributionList: TemplateContributionList; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * Load the associated definition for this template. * @@ -3981,9 +5048,16 @@ export type ContributorListTemplateInstance = Node & Renderable & Sluggable & Te * */ slots: ContributorListTemplateInstanceSlots; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** @@ -4001,6 +5075,89 @@ export type ContributorLookupField = | 'ORCID' | '%future added value'; +/** Autogenerated input type of ContributorMerge */ +export type ContributorMergeInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The ID of the contributor to merge. + * + */ + sourceId: Scalars['ID']['input']; + /** + * The ID of the contributor to merge into. + * + */ + targetId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of ContributorMerge. */ +export type ContributorMergePayload = StandardMutationPayload & { + __typename?: 'ContributorMergePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The contributor being merged, if successful. + * + */ + source?: Maybe; + /** + * The contributor being merged into, if successful. + * + */ + target?: Maybe; +}; + +/** + * The merge status of a `Contributor` in the context of being a merge source. + * + * Merging contributors happens in the background, so this + * is useful to display when a contributor is in the process of being merged, + * or if a merge has been completed but the source contributor has not yet been + * deleted. + * + */ +export type ContributorMergeSourceStatus = + /** + * The contributor has been merged and is awaiting deletion. + * + */ + | 'MERGED' + /** + * The contributor is in the process of being merged to another. + * + */ + | 'MERGING' + /** + * The contributor is not currently being merged to another. + * + */ + | 'UNMERGED' + | '%future added value'; + +/** + * The merge status of a `Contributor` in the context of being a merge target. + * + */ +export type ContributorMergeTargetStatus = + /** + * The contributor is currently the target of one or more merge(s). + * + */ + | 'ACTIVE' + /** + * The contributor is not currently the target of a merge. + * + */ + | 'INACTIVE' + | '%future added value'; + /** Sort contributors by various properties and directions */ export type ContributorOrder = /** Sort contributors by affiliation A-Z, then fall back to name A-Z */ @@ -4021,6 +5178,49 @@ export type ContributorOrder = | 'RECENT' | '%future added value'; +/** + * A grid of permissions for managing contributors in Meru. + * + * Contributors are a "global" record, in that they exist + * outside of the entity hierarchy. + * + * `update` permissions for contributors can also be granted + * by assigning that contributor to a user. + * + */ +export type ContributorPermissionGrid = CrudPermissionGrid & ExposesPermissions & PermissionGrid & { + __typename?: 'ContributorPermissionGrid'; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + /** + * Whether or not a user with this permission can claim a contributor. + * + * This is distinct from creating or updating in that it only + * applies to unclaimed contributors contributes the following auth results: + * + * - `Contributor.canClaim` + * - `User.canClaimContributor` + * + * See `Mutations.contributorClaim` for more details. + * + */ + claim: Scalars['Boolean']['output']; + create: Scalars['Boolean']['output']; + delete: Scalars['Boolean']['output']; + /** + * Whether or not a user with this permission can merge contributor records together. + * + * This is distinct from `update` in that it only applies to the `contributorMerge` permission, + * and feeds into the `canMergeSource` and `canMergeTarget` permissions on `Contributor`. + * + */ + merge: Scalars['Boolean']['output']; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; + read: Scalars['Boolean']['output']; + update: Scalars['Boolean']['output']; +}; + export type ContributorProperty = ScalarProperty & SchemaProperty & { __typename?: 'ContributorProperty'; /** @@ -4053,6 +5253,11 @@ export type ContributorProperty = ScalarProperty & SchemaProperty & { * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -4093,6 +5298,11 @@ export type ContributorProperty = ScalarProperty & SchemaProperty & { * */ required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -4114,46 +5324,204 @@ export type ContributorSelectOption = { value: Scalars['String']['output']; }; -export type ContributorsProperty = ScalarProperty & SchemaProperty & { - __typename?: 'ContributorsProperty'; +/** + * A link between a `Contributor` and a `User`, indicating that the user + * is represented within Meru as that record. + * + */ +export type ContributorUserLink = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'ContributorUserLink'; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * Whether the current user has permission to destroy this record. * */ - array: Scalars['Boolean']['output']; - contributors: Array; + canDestroy: AuthorizationResult; /** - * A human-readable description for the property. It should describe the purpose of the - * property as well as some details about the types of values it looks for. - * - * It can be rendered as help text, hints, etc. + * Whether the current user has permission to update this record. * */ - description?: Maybe; + canUpdate: AuthorizationResult; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * The contributor associated with this link. * */ - fullPath: Scalars['String']['output']; + contributor: Contributor; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; /** - * The purpose or intent of this property relative to its entity, parents, and others. + * The type of link between the contributor and user. * */ - function: SchemaPropertyFunction; + linkage: ContributorUserLinkage; /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * The encoded slug for this record. * */ - isWide: Scalars['Boolean']['output']; + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user associated with this link. + * + * If the current viewer cannot see the user record, this will be null. + * + */ + user?: Maybe; +}; + +/** Autogenerated input type of ContributorUserLinkDestroy */ +export type ContributorUserLinkDestroyInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The contributor user link to destroy. + * + */ + contributorUserLinkId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of ContributorUserLinkDestroy. */ +export type ContributorUserLinkDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'ContributorUserLinkDestroyPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of ContributorUserLinkUpsert */ +export type ContributorUserLinkUpsertInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The contributor to update. + * + */ + contributorId: Scalars['ID']['input']; + /** + * The type of link to create or update between the contributor and user. + * + * Setting `PRIMARY` will override any other primary set for the associated user. + * + */ + linkage: ContributorUserLinkage; + /** + * The user to link to the contributor. + * + */ + userId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of ContributorUserLinkUpsert. */ +export type ContributorUserLinkUpsertPayload = StandardMutationPayload & { + __typename?: 'ContributorUserLinkUpsertPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** + * The newly-linked contributor, if successful. + * + */ + contributor?: Maybe; + /** + * The newly-created or updated link, if successful. + * + */ + contributorUserLink?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The user linked to the contributor, if successful. + * + */ + user?: Maybe; +}; + +/** + * The type of link between a `Contributor` and a `User` in a `ContributorUserLink`. + * + */ +export type ContributorUserLinkage = + /** + * An auxiliary link indicates that the `Contributor` is an additional identity for the user. + * + * This may be the case for users who've published under different names, or are being managed + * by a user account representing a team or organization, etc. + * + * A user may have multiple auxiliary links. Setting a new auxiliary link does not affect existing ones. + * + */ + | 'AUXILIARY' + /** + * A primary link indicates that the `Contributor` is the primary identity for the user. + * + * A user may only have one primary link. Setting a new primary link will invalidate the previous. + * + */ + | 'PRIMARY' + | '%future added value'; + +export type ContributorsProperty = ScalarProperty & SchemaProperty & { + __typename?: 'ContributorsProperty'; + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + contributors: Array; + /** + * A human-readable description for the property. It should describe the purpose of the + * property as well as some details about the types of values it looks for. + * + * It can be rendered as help text, hints, etc. + * + */ + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. + * + */ + function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. + * + */ + isWide: Scalars['Boolean']['output']; /** * Provided for introspection. This describes the underlying structure of the data type. * @@ -4186,6 +5554,11 @@ export type ContributorsProperty = ScalarProperty & SchemaProperty & { * */ required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -4199,6 +5572,43 @@ export type ContributorsProperty = ScalarProperty & SchemaProperty & { type: SchemaPropertyType; }; +/** + * Settings related to how contributors are handled in this installation. + * + */ +export type ContributorsSettings = { + __typename?: 'ContributorsSettings'; + /** + * Whether users can claim ownership of an unclaimed contributor in this installation. + * + */ + claimable: Scalars['Boolean']['output']; + /** + * Whether users who have claimed a contributor can manage that contributor + * without needing to be an admin or anything else. + * + */ + ownerUpdatable: Scalars['Boolean']['output']; +}; + +/** + * Settings related to how contributors are handled in this installation. + * + */ +export type ContributorsSettingsInput = { + /** + * Whether users can claim ownership of an unclaimed contributor in this installation. + * + */ + claimable?: InputMaybe; + /** + * Whether users who have claimed a contributor can manage that contributor + * without needing to be an admin or anything else. + * + */ + ownerUpdatable?: InputMaybe; +}; + export type ControlledVocabulariesProperty = HasControlledVocabulary & ScalarProperty & SchemaProperty & { __typename?: 'ControlledVocabulariesProperty'; /** @@ -4237,6 +5647,11 @@ export type ControlledVocabulariesProperty = HasControlledVocabulary & ScalarPro * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -4277,6 +5692,11 @@ export type ControlledVocabulariesProperty = HasControlledVocabulary & ScalarPro * */ required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -4303,9 +5723,22 @@ export type ControlledVocabulariesProperty = HasControlledVocabulary & ScalarPro * See also `ControlledVocabularyItem` and `ControlledVocabularySource`. * */ -export type ControlledVocabulary = Node & Sluggable & { +export type ControlledVocabulary = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'ControlledVocabulary'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * An optional internal description of the purpose/values contained within. * @@ -4348,8 +5781,15 @@ export type ControlledVocabulary = Node & Sluggable & { * */ provides: Scalars['String']['output']; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** * A unique version for the controlled vocabulary (within the namespace/identifier). * @@ -4406,12 +5846,24 @@ export type ControlledVocabularyEdge = { }; /** - * Filters for ControlledVocabulary. + * Filtering options for `ControlledVocabulary` records. * */ export type ControlledVocabularyFilterInput = { + /** + * Filter by identifier. + * + */ identifier?: InputMaybe; + /** + * Filter by namespace. + * + */ namespace?: InputMaybe; + /** + * Filter by provides. + * + */ provides?: InputMaybe; }; @@ -4419,14 +5871,27 @@ export type ControlledVocabularyFilterInput = { * An individual term within a `ControlledVocabulary`. * */ -export type ControlledVocabularyItem = Node & Sluggable & { +export type ControlledVocabularyItem = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'ControlledVocabularyItem'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; /** * Any children for this vocab item. Starting from a depth of 0 at the top level, items cannot nest any deeper than 2. * */ children: Array; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * An optional, internal description for this specific term. * @@ -4448,6 +5913,10 @@ export type ControlledVocabularyItem = Node & Sluggable & { * */ priority?: Maybe; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; /** * Optional tags used for certain programmatic tasks within Meru API. @@ -4459,7 +5928,10 @@ export type ControlledVocabularyItem = Node & Sluggable & { * */ unselectable: Scalars['Boolean']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** * An optional URL that should be linked to if present, using the `label` as link text, * when displaying. @@ -4519,6 +5991,11 @@ export type ControlledVocabularyProperty = HasControlledVocabulary & ScalarPrope * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -4559,6 +6036,11 @@ export type ControlledVocabularyProperty = HasControlledVocabulary & ScalarPrope * */ required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -4584,8 +6066,18 @@ export type ControlledVocabularyProperty = HasControlledVocabulary & ScalarPrope * a desired `provides` value in schemas. * */ -export type ControlledVocabularySource = Node & Sluggable & { +export type ControlledVocabularySource = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { __typename?: 'ControlledVocabularySource'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; /** * The controlled vocabulary that provides terms, if selected / available. * @@ -4593,15 +6085,25 @@ export type ControlledVocabularySource = Node & Sluggable & { * */ controlledVocabulary?: Maybe; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; id: Scalars['ID']['output']; /** * This conforms to the `wants` attribute in CV schema properties. * */ provides: Scalars['String']['output']; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** The connection type for ControlledVocabularySource. */ @@ -4625,11 +6127,14 @@ export type ControlledVocabularySourceEdge = { }; /** - * Filters for ControlledVocabularySource. + * Filtering options for `ControlledVocabularySource` records. * */ export type ControlledVocabularySourceFilterInput = { - /** Fetch only sources that remain unsatisfied. */ + /** + * Fetch only sources that remain unsatisfied. + * + */ unsatisfied?: InputMaybe; }; @@ -5285,6 +6790,11 @@ export type DateProperty = ScalarProperty & SchemaProperty & SearchableProperty * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -5323,6 +6833,11 @@ export type DateProperty = ScalarProperty & SchemaProperty & SearchableProperty required: Scalars['Boolean']['output']; searchOperators: Array; searchPath: Scalars['String']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -5337,1586 +6852,1479 @@ export type DateProperty = ScalarProperty & SchemaProperty & SearchableProperty }; /** - * An enumerated value associated with the templating subsystem. + * Settings for depositing to this installation. * */ -export type DescendantListBackground = +export type DepositingSettings = { + __typename?: 'DepositingSettings'; /** - * A dark gradient is applied to the background of this template. + * The agreement that users must accept before depositing. * */ - | 'DARK' + agreement: Scalars['String']['output']; /** - * A light gradient is applied to the background of this template. + * Whether depositing is enabled for this installation. * */ - | 'LIGHT' + enabled: Scalars['Boolean']['output']; +}; + +/** + * Settings for depositing to this installation. + * + */ +export type DepositingSettingsInput = { /** - * No background is applied to this template. + * The agreement that users must accept before depositing. * */ - | 'NONE' - | '%future added value'; + agreement?: InputMaybe; + /** + * Whether depositing is enabled for this installation. + * + */ + enabled?: InputMaybe; +}; /** - * An enum used to control the mode of selection for a descendant list template. + * The record of an agreement accepted by a depositor for a given submission target. * */ -export type DescendantListSelectionMode = +export type DepositorAgreement = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'DepositorAgreement'; /** - * Render descendants from a dynamic ordering, determined at query time. + * Whether the current user can accept this agreement. * */ - | 'DYNAMIC' + canAccept: AuthorizationResult; /** - * Render descendants from a manual ordering set on each individual entity. See `manualListName` for how this works. + * Whether the current user has permission to destroy this record. * */ - | 'MANUAL' + canDestroy: AuthorizationResult; /** - * Render descendants from a named ordering that exists on the source entity. + * Whether the current user can reset this agreement. * */ - | 'NAMED' + canReset: AuthorizationResult; /** - * Render entities from a schema property on the source entity. + * Whether the current user has permission to update this record. * */ - | 'PROPERTY' - | '%future added value'; - -export type DescendantListTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'DescendantListTemplateDefinition'; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; /** - * The background gradient to use for this template. Affects presentation. + * The timestamp of the most recent time the agreement was accepted by the depositor. * */ - background?: Maybe; + lastAcceptedAt?: Maybe; /** - * A boolean used to describe list templates that should match browse style as close as possible. + * The encoded slug for this record. * */ - browseStyle?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; + slug: Scalars['Slug']['output']; /** - * When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure - * as schemas to define a dynamic ordering that is resolved at runtime and based - * on the `selectionSource`. + * The current state of the agreement. * */ - dynamicOrderingDefinition?: Maybe; + state: DepositorAgreementState; /** - * Enumerate how much context to show when listing entities. - * - * Replaces `showEntityContext`. + * The submission target associated with this agreement. * */ - entityContext?: Maybe; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; + submissionTarget: SubmissionTarget; /** - * When `selectionMode` is set to `MANUAL`, the purpose of this property - * is to specify a name under which all the manual selections (per entity) - * will be stored. This allows a layout to have multiple templates of the - * same type using different lists, that will persist across rearrangements - * of the layout _without_ losing connections between entities. + * The state transitions for this agreement. * */ - manualListName?: Maybe; + transitions: DepositorAgreementTransitionConnection; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** - * When `selectionMode` is set to `NAMED`, this will look up the named ordering - * on the resolved `selectionSource` and render up to `selectionLimit` entities. + * The user who accepted the agreement. * */ - orderingIdentifier?: Maybe; - seeAllButtonLabel?: Maybe; + user?: Maybe; +}; + + +/** + * The record of an agreement accepted by a depositor for a given submission target. + * + */ +export type DepositorAgreementTransitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** Autogenerated input type of DepositorAgreementAccept */ +export type DepositorAgreementAcceptInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the submission target that the agreement belongs to. */ + submissionTargetId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of DepositorAgreementAccept. */ +export type DepositorAgreementAcceptPayload = StandardMutationPayload & { + __typename?: 'DepositorAgreementAcceptPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The depositor agreement that was accepted. */ + depositorAgreement?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of DepositorAgreementResetAll */ +export type DepositorAgreementResetAllInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the submission target for which to reset depositor agreements. */ + submissionTargetId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of DepositorAgreementResetAll. */ +export type DepositorAgreementResetAllPayload = StandardMutationPayload & { + __typename?: 'DepositorAgreementResetAllPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** The submission target for which depositor agreements were reset. */ + submissionTarget?: Maybe; +}; + +/** Autogenerated input type of DepositorAgreementReset */ +export type DepositorAgreementResetInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the submission target for which to reset a depositor agreement. */ + submissionTargetId: Scalars['ID']['input']; + /** The ID of the user for which to reset a depositor agreement. */ + userId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of DepositorAgreementReset. */ +export type DepositorAgreementResetPayload = StandardMutationPayload & { + __typename?: 'DepositorAgreementResetPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The depositor agreement that was reset. */ + depositorAgreement?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** + * The state of a user's acceptance of a given `SubmissionTarget`'s agreement requirements. + * + */ +export type DepositorAgreementState = /** - * If provided, this will expose an ordering on the template instance that can - * be used to generate a link to the ordering in the frontend. + * The user has accepted the agreement for the submission target. * */ - seeAllOrderingIdentifier?: Maybe; + | 'ACCEPTED' /** - * The fallback mode to use when rendering a list of entities, when the list from - * `selectionMode` is empty and `useSelectionFallback` has been set to true. + * The user has not yet accepted the agreement for the submission target. * */ - selectionFallbackMode?: Maybe; + | 'PENDING' + | '%future added value'; + +/** + * A transition for a `DepositorAgreement`. + * + */ +export type DepositorAgreementTransition = CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'DepositorAgreementTransition'; /** - * Regardless of `selectionMode`, this limit will be applied on whatever resulting - * list of entities are produced, so that only up to that amount of entities are - * rendered in the template proper. + * Whether the current user has permission to destroy this record. * */ - selectionLimit?: Maybe; + canDestroy: AuthorizationResult; /** - * The default mode to use when rendering a list of entities. - * - * See also `selectionFallbackMode` and `useSelectionFallback`. + * Whether the current user has permission to update this record. * */ - selectionMode?: Maybe; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * When `selectionMode` is set to `PROPERTY`, this should be set to the full path - * for a given schema property on the associated `selectionSource` + * The state that the depositor agreement is transitioning from. This will be null if the submission target is being created. * */ - selectionPropertyPath?: Maybe; + fromState?: Maybe; + id: Scalars['ID']['output']; /** - * When selecting entities based on `selectionMode`, this property determines - * which entity (relevant to the rendering entity) should be used for lookups. - * - * By default, it is `self`, which means the rendering entity itself. - * - * It can also support things like `ancestor.journal`, `ancestor.issue`, etc., - * in order to render a list of values in its parent. + * Whether this is the most recent transition. * */ - selectionSource?: Maybe; + mostRecent: Scalars['Boolean']['output']; /** - * The derived name of the ancestor used for the `selectionSource`. + * The encoded slug for this record. * - * Exposed for introspection only. + */ + slug: Scalars['Slug']['output']; + /** + * The state that the depositor agreement is transitioning to. * */ - selectionSourceAncestorName?: Maybe; + toState: DepositorAgreementState; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** - * An enum representing what mode `selectionSource` is in. Not directly set, - * it is used internally for lookups. + * The user who performed the transition, if available. + * + * Some transitions may happen through automated processes, so the user will not always be set. * */ - selectionSourceMode?: Maybe; + user?: Maybe; +}; + +/** The connection type for DepositorAgreementTransition. */ +export type DepositorAgreementTransitionConnection = Paginated & { + __typename?: 'DepositorAgreementTransitionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** + * An edge in a connection for `DepositorAgreementTransition`. + * + */ +export type DepositorAgreementTransitionEdge = { + __typename?: 'DepositorAgreementTransitionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: DepositorAgreementTransition; +}; + +/** + * A request for depositor access to a given submission target. + * + */ +export type DepositorRequest = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'DepositorRequest'; /** - * When true, this takes priority over `selectionLimit`. It allows an entire - * matching list of records to be retrieved. It should be used with caution, - * since very large entity trees could cause responses to be slow. + * Whether the current user has permission to destroy this record. * */ - selectionUnbounded?: Maybe; + canDestroy: AuthorizationResult; /** - * Show contributors when listing entities. + * Whether the current user can approve or reject the request. * */ - showContributors?: Maybe; + canTransition: AuthorizationResult; /** - * Show additional context about each entity in the selection. + * Whether the current user has permission to update this record. * - * @deprecated Use entity_context enum instead */ - showEntityContext?: Maybe; - showHeroImage?: Maybe; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; /** - * Show nested items from the associated listItemLayouts in order to generate - * a two-tier list. + * An optional message from the requester, which may be provided when making the depositor request and may be visible to management. * */ - showNestedEntities?: Maybe; - /** @deprecated Use seeAllOrdering on the instance instead. */ - showSeeAllButton?: Maybe; + message?: Maybe; /** - * Slot definitions for this template. + * The encoded slug for this record. * */ - slots: DescendantListTemplateDefinitionSlots; slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - title?: Maybe; - updatedAt: Scalars['ISO8601DateTime']['output']; /** - * Controls whether or not to use `selectionFallbackMode` if the entity list returned - * via `selectionMode` turns out to be empty at runtime. + * The current state of this depositor request. * */ - useSelectionFallback?: Maybe; + state: DepositorRequestState; /** - * The variant rendering mode to use for this template. Affects presentation. + * The submission target that this depositor request is for. * */ - variant?: Maybe; + submissionTarget: SubmissionTarget; /** - * This controls how wide the template should render. + * The state transitions for this depositor request. * - * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - * template that also uses `HALF`. + */ + transitions: DepositorRequestTransitionConnection; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user that made this depositor request. * */ - width?: Maybe; + user: User; }; + /** - * Slot definitions for the associated template. + * A request for depositor access to a given submission target. * */ -export type DescendantListTemplateDefinitionSlots = { - __typename?: 'DescendantListTemplateDefinitionSlots'; - blockHeader?: Maybe; - blockHeaderFallback?: Maybe; - header?: Maybe; - headerAside?: Maybe; - headerFallback?: Maybe; - listContext?: Maybe; - metadata?: Maybe; - subtitle?: Maybe; +export type DepositorRequestTransitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -export type DescendantListTemplateInstance = Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance & { - __typename?: 'DescendantListTemplateInstance'; +/** Autogenerated input type of DepositorRequestChangeState */ +export type DepositorRequestChangeStateInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * Whether all slots in this template are empty. + * The depositor request to update. * */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + depositorRequestId: Scalars['ID']['input']; /** - * Load the associated definition for this template. + * The state to transition the depositor request to. Valid states are `approved` and `rejected`. * */ - definition: DescendantListTemplateDefinition; + toState: DepositorRequestState; +}; + +/** Autogenerated return type of DepositorRequestChangeState. */ +export type DepositorRequestChangeStatePayload = StandardMutationPayload & { + __typename?: 'DepositorRequestChangeStatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; /** - * The associated entity for this template instance. + * The newly-modified depositor request, if successful. * */ - entity: Entity; + depositorRequest?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** The connection type for DepositorRequest. */ +export type DepositorRequestConnection = Paginated & { + __typename?: 'DepositorRequestConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** Autogenerated input type of DepositorRequestCreate */ +export type DepositorRequestCreateInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * The list of entities to render as part of this template's content. + * An optional message to include with the depositor request. * */ - entityList: TemplateEntityList; + message?: InputMaybe; /** - * Whether this template instance should be hidden based on some logic. + * The ID of the submission target for which to create the depositor request. * - * At present, this only occurs if certain slots are empty. + */ + submissionTargetId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of DepositorRequestCreate. */ +export type DepositorRequestCreatePayload = StandardMutationPayload & { + __typename?: 'DepositorRequestCreatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** + * The newly-modified depositor request, if successful. * */ - hidden: Scalars['Boolean']['output']; - id: Scalars['ID']['output']; + depositorRequest?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** + * An edge in a connection for `DepositorRequest`. + * + */ +export type DepositorRequestEdge = { + __typename?: 'DepositorRequestEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: DepositorRequest; +}; + +/** + * Filtering options for `DepositorRequest` records. + * + */ +export type DepositorRequestFilterInput = { /** - * The time this object was last rendered. + * Filter the model's `created_at` with time constraints. * */ - lastRenderedAt?: Maybe; - layoutKind: LayoutKind; + createdAt?: InputMaybe; /** - * Return all preceding siblings to the current template in order of proximity. + * Filter by in state. * - * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + */ + inState?: InputMaybe>; + /** + * Filter the model's `updated_at` with time constraints. * */ - nextSiblings: Array; + updatedAt?: InputMaybe; +}; + +/** + * Sort a collection of `DepositorRequest` records by specific properties and directions. + * + */ +export type DepositorRequestOrder = + /** Sort depositor requests by their default order. */ + | 'DEFAULT' + /** Sort depositor requests by oldest created date. */ + | 'OLDEST' + /** Sort depositor requests by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** + * Depositor request state enum + * + */ +export type DepositorRequestState = + | 'APPROVED' + | 'PENDING' + | 'REJECTED' + | '%future added value'; + +/** + * A transition for a `DepositorRequest`. + * + */ +export type DepositorRequestTransition = CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'DepositorRequestTransition'; /** - * Return all preceding siblings to the current template in order of proximity. + * Whether the current user has permission to destroy this record. * - * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. * */ - prevSiblings: Array; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * The ordering to render for a "see all" link. + * The state that the submission target is transitioning from. This will be null if the submission target is being created. * */ - seeAllOrdering?: Maybe; + fromState?: Maybe; + id: Scalars['ID']['output']; /** - * Rendered slots for this template. + * Whether this is the most recent transition. + * + */ + mostRecent: Scalars['Boolean']['output']; + /** + * The encoded slug for this record. * */ - slots: DescendantListTemplateInstanceSlots; slug: Scalars['Slug']['output']; - templateKind: TemplateKind; + /** + * The state that the submission target is transitioning to. + * + */ + toState: DepositorRequestState; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user who performed the transition, if available. + * + * Some transitions may happen through automated processes, so the user will not always be set. + * + */ + user?: Maybe; +}; + +/** The connection type for DepositorRequestTransition. */ +export type DepositorRequestTransitionConnection = Paginated & { + __typename?: 'DepositorRequestTransitionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; }; /** - * Rendered slots for the associated template. + * An edge in a connection for `DepositorRequestTransition`. * */ -export type DescendantListTemplateInstanceSlots = { - __typename?: 'DescendantListTemplateInstanceSlots'; - blockHeader?: Maybe; - blockHeaderFallback?: Maybe; - header?: Maybe; - headerAside?: Maybe; - headerFallback?: Maybe; - listContext?: Maybe; - metadata?: Maybe; - subtitle?: Maybe; +export type DepositorRequestTransitionEdge = { + __typename?: 'DepositorRequestTransitionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: DepositorRequestTransition; }; /** - * An enum used to control how a descendant list template should be rendered. + * An enumerated value associated with the templating subsystem. * */ -export type DescendantListVariant = +export type DescendantListBackground = /** - * A card list of entities. + * A dark gradient is applied to the background of this template. * */ - | 'CARDS' + | 'DARK' /** - * A compact list of entities. + * A light gradient is applied to the background of this template. * */ - | 'COMPACT' + | 'LIGHT' /** - * A grid of entities + * No background is applied to this template. * */ - | 'GRID' + | 'NONE' + | '%future added value'; + +/** + * An enum used to control the mode of selection for a descendant list template. + * + */ +export type DescendantListSelectionMode = /** - * A horizontal list of entities with promotional header. + * Render descendants from a dynamic ordering, determined at query time. * */ - | 'PROMOS' + | 'DYNAMIC' /** - * A vertical, summarized list of entities. + * Render descendants from a manual ordering set on each individual entity. See `manualListName` for how this works. * */ - | 'SUMMARY' + | 'MANUAL' /** - * A tree structure. + * Render descendants from a named ordering that exists on the source entity. * */ - | 'TREE' + | 'NAMED' + /** + * Render entities from a schema property on the source entity. + * + */ + | 'PROPERTY' | '%future added value'; -/** - * The most basic shared properties for a single schema, whether a definition, - * a version, or an aggregate based on the former types. - * - */ -export type DescribesSchema = { +export type DescendantListTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'DescendantListTemplateDefinition'; /** - * The full declaration for this schema, including namespace, identifier, and version (if available). + * The background gradient to use for this template. Affects presentation. * */ - declaration: Scalars['String']['output']; + background?: Maybe; /** - * A unique (per-namespace) value that names the schema within the system. + * A boolean used to describe list templates that should match browse style as close as possible. * */ - identifier: Scalars['String']['output']; + browseStyle?: Maybe; /** - * The kind of entity this schema applies to. + * Whether the current user has permission to destroy this record. * */ - kind: SchemaKind; + canDestroy: AuthorizationResult; /** - * A human-readable name for the schema. + * Whether the current user has permission to update this record. * */ - name: Scalars['String']['output']; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * A unique namespace the schema lives in. + * When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure + * as schemas to define a dynamic ordering that is resolved at runtime and based + * on the `selectionSource`. * */ - namespace: Scalars['String']['output']; -}; - -/** Autogenerated input type of DestroyAnnouncement */ -export type DestroyAnnouncementInput = { - announcementId: Scalars['ID']['input']; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; -}; - -/** Autogenerated return type of DestroyAnnouncement. */ -export type DestroyAnnouncementPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyAnnouncementPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of DestroyAsset */ -export type DestroyAssetInput = { - /** The ID for the asset to destroy */ - assetId: Scalars['ID']['input']; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; -}; - -/** Autogenerated return type of DestroyAsset. */ -export type DestroyAssetPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyAssetPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of DestroyCollection */ -export type DestroyCollectionInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** The ID for the collection to destroy */ - collectionId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of DestroyCollection. */ -export type DestroyCollectionPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyCollectionPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of DestroyCommunity */ -export type DestroyCommunityInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** The ID for the community to destroy */ - communityId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of DestroyCommunity. */ -export type DestroyCommunityPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyCommunityPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of DestroyContribution */ -export type DestroyContributionInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - contributionId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of DestroyContribution. */ -export type DestroyContributionPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyContributionPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of DestroyContributor */ -export type DestroyContributorInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - contributorId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of DestroyContributor. */ -export type DestroyContributorPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyContributorPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of DestroyEntityLink */ -export type DestroyEntityLinkInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** The ID for the EntityLink to destroy */ - entityLinkId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of DestroyEntityLink. */ -export type DestroyEntityLinkPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyEntityLinkPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of DestroyItem */ -export type DestroyItemInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** The ID for the item to destroy */ - itemId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of DestroyItem. */ -export type DestroyItemPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyItemPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** This mutation destroys a model */ -export type DestroyMutationPayload = { - attributeErrors: Array; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of DestroyOrdering */ -export type DestroyOrderingInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - orderingId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of DestroyOrdering. */ -export type DestroyOrderingPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyOrderingPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - disabled?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of DestroyPage */ -export type DestroyPageInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - pageId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of DestroyPage. */ -export type DestroyPagePayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'DestroyPagePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** - * An enumerated value associated with the templating subsystem. - * - */ -export type DetailBackground = + dynamicOrderingDefinition?: Maybe; /** - * A dark gradient is applied to the background of this template. + * Enumerate how much context to show when listing entities. * - */ - | 'DARK' - /** - * A light gradient is applied to the background of this template. + * Replaces `showEntityContext`. * */ - | 'LIGHT' + entityContext?: Maybe; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; /** - * No background is applied to this template. + * When `selectionMode` is set to `MANUAL`, the purpose of this property + * is to specify a name under which all the manual selections (per entity) + * will be stored. This allows a layout to have multiple templates of the + * same type using different lists, that will persist across rearrangements + * of the layout _without_ losing connections between entities. * */ - | 'NONE' - | '%future added value'; - -export type DetailTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'DetailTemplateDefinition'; + manualListName?: Maybe; /** - * The background gradient to use for this template. Affects presentation. + * When `selectionMode` is set to `NAMED`, this will look up the named ordering + * on the resolved `selectionSource` and render up to `selectionLimit` entities. * */ - background?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; - showAnnouncements?: Maybe; + orderingIdentifier?: Maybe; + seeAllButtonLabel?: Maybe; /** - * Whether to show and use the 'body' slot on a detail view. - * Primarily intended for items with copious text to display. + * If provided, this will expose an ordering on the template instance that can + * be used to generate a link to the ordering in the frontend. * */ - showBody?: Maybe; - showHeroImage?: Maybe; + seeAllOrderingIdentifier?: Maybe; /** - * Slot definitions for this template. + * The fallback mode to use when rendering a list of entities, when the list from + * `selectionMode` is empty and `useSelectionFallback` has been set to true. * */ - slots: DetailTemplateDefinitionSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - updatedAt: Scalars['ISO8601DateTime']['output']; + selectionFallbackMode?: Maybe; /** - * The variant rendering mode to use for this template. Affects presentation. + * Regardless of `selectionMode`, this limit will be applied on whatever resulting + * list of entities are produced, so that only up to that amount of entities are + * rendered in the template proper. * */ - variant?: Maybe; + selectionLimit?: Maybe; /** - * This controls how wide the template should render. + * The default mode to use when rendering a list of entities. * - * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - * template that also uses `HALF`. + * See also `selectionFallbackMode` and `useSelectionFallback`. * */ - width?: Maybe; -}; - -/** - * Slot definitions for the associated template. - * - */ -export type DetailTemplateDefinitionSlots = { - __typename?: 'DetailTemplateDefinitionSlots'; - body?: Maybe; - header?: Maybe; - itemsA?: Maybe; - itemsB?: Maybe; - itemsC?: Maybe; - itemsD?: Maybe; - subheader?: Maybe; - summary?: Maybe; -}; - -export type DetailTemplateInstance = Node & Renderable & Sluggable & TemplateInstance & { - __typename?: 'DetailTemplateInstance'; + selectionMode?: Maybe; /** - * Whether all slots in this template are empty. + * When `selectionMode` is set to `PROPERTY`, this should be set to the full path + * for a given schema property on the associated `selectionSource` * */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + selectionPropertyPath?: Maybe; /** - * Load the associated definition for this template. + * When selecting entities based on `selectionMode`, this property determines + * which entity (relevant to the rendering entity) should be used for lookups. * - */ - definition: DetailTemplateDefinition; - /** - * The associated entity for this template instance. + * By default, it is `self`, which means the rendering entity itself. + * + * It can also support things like `ancestor.journal`, `ancestor.issue`, etc., + * in order to render a list of values in its parent. * */ - entity: Entity; + selectionSource?: Maybe; /** - * Whether this template instance should be hidden based on some logic. + * The derived name of the ancestor used for the `selectionSource`. * - * At present, this only occurs if certain slots are empty. + * Exposed for introspection only. * */ - hidden: Scalars['Boolean']['output']; - id: Scalars['ID']['output']; + selectionSourceAncestorName?: Maybe; /** - * The time this object was last rendered. + * An enum representing what mode `selectionSource` is in. Not directly set, + * it is used internally for lookups. * */ - lastRenderedAt?: Maybe; - layoutKind: LayoutKind; + selectionSourceMode?: Maybe; /** - * Return all preceding siblings to the current template in order of proximity. - * - * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + * When true, this takes priority over `selectionLimit`. It allows an entire + * matching list of records to be retrieved. It should be used with caution, + * since very large entity trees could cause responses to be slow. * */ - nextSiblings: Array; + selectionUnbounded?: Maybe; /** - * Return all preceding siblings to the current template in order of proximity. + * Show contributors when listing entities. * - * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + */ + showContributors?: Maybe; + /** + * Show additional context about each entity in the selection. * + * @deprecated Use entity_context enum instead */ - prevSiblings: Array; + showEntityContext?: Maybe; + showHeroImage?: Maybe; /** - * Rendered slots for this template. + * Show nested items from the associated listItemLayouts in order to generate + * a two-tier list. + * + */ + showNestedEntities?: Maybe; + /** @deprecated Use seeAllOrdering on the instance instead. */ + showSeeAllButton?: Maybe; + /** + * Slot definitions for this template. + * + */ + slots: DescendantListTemplateDefinitionSlots; + /** + * The encoded slug for this record. * */ - slots: DetailTemplateInstanceSlots; slug: Scalars['Slug']['output']; templateKind: TemplateKind; + title?: Maybe; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -/** - * Rendered slots for the associated template. - * - */ -export type DetailTemplateInstanceSlots = { - __typename?: 'DetailTemplateInstanceSlots'; - body?: Maybe; - header?: Maybe; - itemsA?: Maybe; - itemsB?: Maybe; - itemsC?: Maybe; - itemsD?: Maybe; - subheader?: Maybe; - summary?: Maybe; -}; - -/** - * An enum used to control how a detail template should be rendered. - * - */ -export type DetailVariant = + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** - * A columnar display format for entity details, similar to metadata. - * - * It will make use of the `items*` slots in order to render the content. - * - * See the `hideMetadata` property on the navigation template for an - * optimal use case with moving metadata from its own tab over to the - * main layout. + * Controls whether or not to use `selectionFallbackMode` if the entity list returned + * via `selectionMode` turns out to be empty at runtime. * */ - | 'COLUMNS' + useSelectionFallback?: Maybe; /** - * Display 'full' detail about the entity. + * The variant rendering mode to use for this template. Affects presentation. * */ - | 'FULL' + variant?: Maybe; /** - * Display detail about the entity in a summarized fashion. + * This controls how wide the template should render. + * + * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + * template that also uses `HALF`. * */ - | 'SUMMARY' - | '%future added value'; - -export type Direction = - | 'ASCENDING' - | 'DESCENDING' - | '%future added value'; + width?: Maybe; +}; /** - * User-specific access permissions for non-hierarchical records. + * Slot definitions for the associated template. * */ -export type EffectiveAccess = ExposesPermissions & { - __typename?: 'EffectiveAccess'; - /** A list of allowed actions for the given user on this entity (and its descendants). */ - allowedActions: Array; - /** - * The values that may appear in `allowed_actions`. This is for introspection - * and type-checking: the presence of a string here does _not_ mean the user - * has the effective capability. - * - */ - availableActions: Array; - /** An array of hashes that can be requested to load in a context */ - permissions: Array; +export type DescendantListTemplateDefinitionSlots = { + __typename?: 'DescendantListTemplateDefinitionSlots'; + blockHeader?: Maybe; + blockHeaderFallback?: Maybe; + header?: Maybe; + headerAside?: Maybe; + headerFallback?: Maybe; + listContext?: Maybe; + metadata?: Maybe; + subtitle?: Maybe; }; -export type EmailProperty = ScalarProperty & SchemaProperty & { - __typename?: 'EmailProperty'; - address?: Maybe; +export type DescendantListTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance & { + __typename?: 'DescendantListTemplateInstance'; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * Whether all slots in this template are empty. * */ - array: Scalars['Boolean']['output']; - defaultAddress?: Maybe; + allSlotsEmpty: Scalars['Boolean']['output']; /** - * A human-readable description for the property. It should describe the purpose of the - * property as well as some details about the types of values it looks for. - * - * It can be rendered as help text, hints, etc. + * Whether the current user has permission to destroy this record. * */ - description?: Maybe; + canDestroy: AuthorizationResult; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * Whether the current user has permission to update this record. * */ - fullPath: Scalars['String']['output']; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * The purpose or intent of this property relative to its entity, parents, and others. + * Load the associated definition for this template. * */ - function: SchemaPropertyFunction; + definition: DescendantListTemplateDefinition; /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * The associated entity for this template instance. * */ - isWide: Scalars['Boolean']['output']; + entity: Entity; /** - * Provided for introspection. This describes the underlying structure of the data type. + * The list of entities to render as part of this template's content. * */ - kind: SchemaPropertyKind; + entityList: TemplateEntityList; /** - * A human-readable label for the schema property. + * Whether this template instance should be hidden based on some logic. + * + * At present, this only occurs if certain slots are empty. * */ - label: Scalars['String']['output']; + hidden: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * The time this object was last rendered. * */ - orderable: Scalars['Boolean']['output']; + lastRenderedAt?: Maybe; + layoutKind: LayoutKind; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. * */ - path: Scalars['String']['output']; + nextSiblings: Array; /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. + * Return all preceding siblings to the current template in order of proximity. * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. * */ - required: Scalars['Boolean']['output']; + prevSiblings: Array; /** - * Provided for introspection. This represents the actual data type this property - * uses. + * The ordering to render for a "see all" link. * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + */ + seeAllOrdering?: Maybe; + /** + * Rendered slots for this template. * */ - type: SchemaPropertyType; + slots: DescendantListTemplateInstanceSlots; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** - * A property that references a deterministically-ordered list of entities. + * Rendered slots for the associated template. * */ -export type EntitiesProperty = HasAvailableEntities & ScalarProperty & SchemaProperty & { - __typename?: 'EntitiesProperty'; +export type DescendantListTemplateInstanceSlots = { + __typename?: 'DescendantListTemplateInstanceSlots'; + blockHeader?: Maybe; + blockHeaderFallback?: Maybe; + header?: Maybe; + headerAside?: Maybe; + headerFallback?: Maybe; + listContext?: Maybe; + metadata?: Maybe; + subtitle?: Maybe; +}; + +/** + * An enum used to control how a descendant list template should be rendered. + * + */ +export type DescendantListVariant = /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * A card list of entities. * */ - array: Scalars['Boolean']['output']; + | 'CARDS' /** - * Expose all available entities for this schema property. + * A compact list of entities. * */ - availableEntities: Array; + | 'COMPACT' /** - * A human-readable description for the property. It should describe the purpose of the - * property as well as some details about the types of values it looks for. - * - * It can be rendered as help text, hints, etc. + * A grid of entities * */ - description?: Maybe; + | 'GRID' /** - * A deterministically-ordered list of entities. + * A horizontal list of entities with promotional header. * - * Given the same input, this array will always be returned in the same order. + */ + | 'PROMOS' + /** + * A vertical, summarized list of entities. * */ - entities: Array; + | 'SUMMARY' /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * A tree structure. * */ - fullPath: Scalars['String']['output']; + | 'TREE' + | '%future added value'; + +/** + * The most basic shared properties for a single schema, whether a definition, + * a version, or an aggregate based on the former types. + * + */ +export type DescribesSchema = { /** - * The purpose or intent of this property relative to its entity, parents, and others. + * The full declaration for this schema, including namespace, identifier, and version (if available). * */ - function: SchemaPropertyFunction; + declaration: Scalars['String']['output']; /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. - * - */ - isWide: Scalars['Boolean']['output']; - /** - * Provided for introspection. This describes the underlying structure of the data type. - * - */ - kind: SchemaPropertyKind; - /** - * A human-readable label for the schema property. - * - */ - label: Scalars['String']['output']; - /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * A unique (per-namespace) value that names the schema within the system. * */ - orderable: Scalars['Boolean']['output']; + identifier: Scalars['String']['output']; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * The kind of entity this schema applies to. * */ - path: Scalars['String']['output']; + kind: SchemaKind; /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. - * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + * A human-readable name for the schema. * */ - required: Scalars['Boolean']['output']; + name: Scalars['String']['output']; /** - * Provided for introspection. This represents the actual data type this property - * uses. - * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * A unique namespace the schema lives in. * */ - type: SchemaPropertyType; + namespace: Scalars['String']['output']; }; -/** Settings specific to how entities should behave on this installation. */ -export type EntitiesSettings = { - __typename?: 'EntitiesSettings'; - /** Whether external links should be suppressed in certain schema field types. */ - suppressExternalLinks: Scalars['Boolean']['output']; +/** Autogenerated input type of DestroyAnnouncement */ +export type DestroyAnnouncementInput = { + announcementId: Scalars['ID']['input']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; }; -/** An object for updating EntitiesSettings */ -export type EntitiesSettingsInput = { - /** Whether external links should be suppressed in certain schema field types. */ - suppressExternalLinks?: InputMaybe; +/** Autogenerated return type of DestroyAnnouncement. */ +export type DestroyAnnouncementPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyAnnouncementPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; }; -/** An entity that exists in the hierarchy. */ -export type Entity = { - /** Derived access control list */ - accessControlList?: Maybe; - /** A polymorphic connection for access grants from an entity */ - allAccessGrants: AnyAccessGrantConnection; - /** A list of allowed actions for the given user on this entity (and its descendants). */ - allowedActions: Array; - /** Look up an announcement for this entity by slug */ - announcement?: Maybe; - /** Announcements for a specific entity */ - announcements: AnnouncementConnection; - /** The role(s) that gave the permissions to access this resource, if any. */ - applicableRoles: Array; - /** The role(s) that the current user could assign to other users on this entity, if applicable. */ - assignableRoles: Array; - /** Retrieve a list of user & role assignments for this entity */ - assignedUsers: ContextualPermissionConnection; - /** Previous entries in the hierarchy */ - breadcrumbs: Array; - /** - * Search and retrieve *all* descendants of this `Entity`, regardless of type. - * - */ - descendants: EntityDescendantConnection; - /** A hero image for the entity, suitable for displaying in page headers */ - heroImage: ImageAttachment; - /** Configurable metadata for the hero_image attachment */ - heroImageMetadata?: Maybe; - /** The depth of the hierarchical entity, taking into account any parent types */ - hierarchicalDepth: Scalars['Int']['output']; - /** - * Access layouts for this entity. - * - */ - layouts: EntityLayouts; - /** Available link targets for this entity */ - linkTargetCandidates: LinkTargetCandidateConnection; - links: EntityLinkConnection; - /** - * Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. - * - */ - markedForPurge: Scalars['Boolean']['output']; - /** Look up an ordering for this entity by identifier */ - ordering?: Maybe; - /** Look up an ordering that is set up to handle a specific schema. */ - orderingForSchema?: Maybe; - /** - * Retrieve a connection of orderings for the parent object. - * - */ - orderings: OrderingConnection; - /** Look up a page for this entity by slug */ - page?: Maybe; - pages: PageConnection; - /** An array of hashes that can be requested to load in a context */ - permissions: Array; - schemaDefinition: SchemaDefinition; - /** - * A list of schema properties associated with this instance or version. - * - */ - schemaProperties: Array; - schemaRanks: Array; - schemaVersion: SchemaVersion; - /** Search from this level of the API using it as the origin */ - search: SearchScope; - slug: Scalars['Slug']['output']; - /** - * A human-readable subtitle for the entity. - * - */ - subtitle?: Maybe; - /** - * A description of the contents of the entity. - * - */ - summary?: Maybe; - /** A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc. */ - thumbnail: ImageAttachment; - /** Configurable metadata for the thumbnail attachment */ - thumbnailMetadata?: Maybe; - /** - * A human-readable title for the entity. - * - */ - title: Scalars['String']['output']; +/** Autogenerated input type of DestroyAsset */ +export type DestroyAssetInput = { + /** The ID for the asset to destroy */ + assetId: Scalars['ID']['input']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; }; - -/** An entity that exists in the hierarchy. */ -export type EntityAllAccessGrantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - subject?: InputMaybe; +/** Autogenerated return type of DestroyAsset. */ +export type DestroyAssetPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyAssetPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; }; - -/** An entity that exists in the hierarchy. */ -export type EntityAnnouncementArgs = { - slug: Scalars['Slug']['input']; +/** Autogenerated input type of DestroyCollection */ +export type DestroyCollectionInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID for the collection to destroy */ + collectionId: Scalars['ID']['input']; }; - -/** An entity that exists in the hierarchy. */ -export type EntityAnnouncementsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +/** Autogenerated return type of DestroyCollection. */ +export type DestroyCollectionPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyCollectionPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; }; - -/** An entity that exists in the hierarchy. */ -export type EntityAssignedUsersArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +/** Autogenerated input type of DestroyCommunity */ +export type DestroyCommunityInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID for the community to destroy */ + communityId: Scalars['ID']['input']; }; +/** Autogenerated return type of DestroyCommunity. */ +export type DestroyCommunityPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyCommunityPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; -/** An entity that exists in the hierarchy. */ -export type EntityDescendantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - maxDepth?: InputMaybe; - order?: EntityDescendantOrder; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - schema?: InputMaybe>; - scope?: InputMaybe; +/** Autogenerated input type of DestroyContribution */ +export type DestroyContributionInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + contributionId: Scalars['ID']['input']; }; - -/** An entity that exists in the hierarchy. */ -export type EntityLinkTargetCandidatesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - kind?: InputMaybe; - last?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - title?: InputMaybe; +/** Autogenerated return type of DestroyContribution. */ +export type DestroyContributionPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyContributionPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; }; - -/** An entity that exists in the hierarchy. */ -export type EntityLinksArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +/** Autogenerated input type of DestroyContributor */ +export type DestroyContributorInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + contributorId: Scalars['ID']['input']; }; - -/** An entity that exists in the hierarchy. */ -export type EntityOrderingArgs = { - identifier: Scalars['String']['input']; +/** Autogenerated return type of DestroyContributor. */ +export type DestroyContributorPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyContributorPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; }; - -/** An entity that exists in the hierarchy. */ -export type EntityOrderingForSchemaArgs = { - slug: Scalars['Slug']['input']; +/** Autogenerated input type of DestroyEntityLink */ +export type DestroyEntityLinkInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID for the EntityLink to destroy */ + entityLinkId: Scalars['ID']['input']; }; +/** Autogenerated return type of DestroyEntityLink. */ +export type DestroyEntityLinkPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyEntityLinkPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; -/** An entity that exists in the hierarchy. */ -export type EntityOrderingsArgs = { - after?: InputMaybe; - availability?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - visibility?: InputMaybe; +/** Autogenerated input type of DestroyItem */ +export type DestroyItemInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID for the item to destroy */ + itemId: Scalars['ID']['input']; }; +/** Autogenerated return type of DestroyItem. */ +export type DestroyItemPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyItemPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; -/** An entity that exists in the hierarchy. */ -export type EntityPageArgs = { - slug: Scalars['String']['input']; +/** This mutation destroys a model */ +export type DestroyMutationPayload = { + attributeErrors: Array; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; }; +/** Autogenerated input type of DestroyOrdering */ +export type DestroyOrderingInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + orderingId: Scalars['ID']['input']; +}; -/** An entity that exists in the hierarchy. */ -export type EntityPagesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +/** Autogenerated return type of DestroyOrdering. */ +export type DestroyOrderingPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyOrderingPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + disabled?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; }; +/** Autogenerated input type of DestroyPage */ +export type DestroyPageInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + pageId: Scalars['ID']['input']; +}; -/** An entity that exists in the hierarchy. */ -export type EntitySearchArgs = { - maxDepth?: InputMaybe; - visibility?: InputMaybe; +/** Autogenerated return type of DestroyPage. */ +export type DestroyPagePayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'DestroyPagePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; }; -/** Objects have a serialized slug for looking them up in the system and generating links without UUIDs */ -export type EntityBase = { - slug: Scalars['Slug']['output']; +/** + * An enumerated value associated with the templating subsystem. + * + */ +export type DetailBackground = /** - * A human-readable subtitle for the entity. + * A dark gradient is applied to the background of this template. * */ - subtitle?: Maybe; + | 'DARK' /** - * A description of the contents of the entity. + * A light gradient is applied to the background of this template. * */ - summary?: Maybe; + | 'LIGHT' /** - * A human-readable title for the entity. + * No background is applied to this template. * */ - title: Scalars['String']['output']; -}; + | 'NONE' + | '%future added value'; -export type EntityBreadcrumb = Node & { - __typename?: 'EntityBreadcrumb'; - crumb: Entity; - depth: Scalars['Int']['output']; +export type DetailTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'DetailTemplateDefinition'; + /** + * The background gradient to use for this template. Affects presentation. + * + */ + background?: Maybe; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; id: Scalars['ID']['output']; - kind: EntityKind; - label: Scalars['String']['output']; - slug: Scalars['String']['output']; -}; - -/** A descendant of an `Entity`. */ -export type EntityDescendant = { - __typename?: 'EntityDescendant'; - /** The actual descendant entity */ - descendant: Entity; - /** The relative depth of this entity from its ancestor */ - relativeDepth: Scalars['Int']['output']; - /** The scope of this entity relative to its ancestor */ - scope: EntityScope; -}; - -/** The connection type for EntityDescendant. */ -export type EntityDescendantConnection = Paginated & { - __typename?: 'EntityDescendantConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** An edge in a connection. */ -export type EntityDescendantEdge = { - __typename?: 'EntityDescendantEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: EntityDescendant; -}; - -/** Sort entity descendants by specific attributes and order */ -export type EntityDescendantOrder = - /** Sort descendants by oldest published date (or OLDEST for communities) */ - | 'PUBLISHED_ASCENDING' - /** Sort descendants by newest published date (or RECENT for communities) */ - | 'PUBLISHED_DESCENDING' - /** Sort descendants by title A-Z */ - | 'TITLE_ASCENDING' - /** Sort descendants by title Z-A */ - | 'TITLE_DESCENDING' - | '%future added value'; - -/** - * This enum is used to filter the type(s) of descendants to include - * in a set of results. - * - */ -export type EntityDescendantScopeFilter = + layoutKind: LayoutKind; + showAnnouncements?: Maybe; /** - * This will include anything regardless of type. + * Whether to show and use the 'body' slot on a detail view. + * Primarily intended for items with copious text to display. * */ - | 'ALL' + showBody?: Maybe; + showHeroImage?: Maybe; /** - * This will include all `Collection`s and `Item`s that are direct descendants and not linked. + * Slot definitions for this template. * */ - | 'ANY_ENTITY' + slots: DetailTemplateDefinitionSlots; /** - * This will include any _linked_ `Collection`s or `Item`s. + * The encoded slug for this record. * */ - | 'ANY_LINK' + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** - * This will include only directly descending `Collection`s, no links. + * The variant rendering mode to use for this template. Affects presentation. * */ - | 'COLLECTION' + variant?: Maybe; /** - * This will include any descendant `Collection`s, whether or not it is a link. + * This controls how wide the template should render. + * + * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + * template that also uses `HALF`. * */ - | 'COLLECTION_OR_LINK' + width?: Maybe; +}; + +/** + * Slot definitions for the associated template. + * + */ +export type DetailTemplateDefinitionSlots = { + __typename?: 'DetailTemplateDefinitionSlots'; + body?: Maybe; + header?: Maybe; + itemsA?: Maybe; + itemsB?: Maybe; + itemsC?: Maybe; + itemsD?: Maybe; + subheader?: Maybe; + summary?: Maybe; +}; + +export type DetailTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance & { + __typename?: 'DetailTemplateInstance'; /** - * This will include only directly descending `Item`s, no links. + * Whether all slots in this template are empty. * */ - | 'ITEM' + allSlotsEmpty: Scalars['Boolean']['output']; /** - * This will include any descendant `Item`s, whether or not it is a link. + * Whether the current user has permission to destroy this record. * */ - | 'ITEM_OR_LINK' + canDestroy: AuthorizationResult; /** - * This will only descendant `Collection`s that are linked. + * Whether the current user has permission to update this record. * */ - | 'LINKED_COLLECTION' + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * This will only descendant `Item`s that are linked. + * Load the associated definition for this template. * */ - | 'LINKED_ITEM' - | '%future added value'; - -/** An enumeration of the different kinds of hierarchical entities */ -export type EntityKind = - | 'COLLECTION' - | 'COMMUNITY' - | 'ITEM' - | '%future added value'; - -/** - * An accessor for pulling up layout instances for a given entity. - * - */ -export type EntityLayouts = { - __typename?: 'EntityLayouts'; + definition: DetailTemplateDefinition; /** - * The `HERO` layout instance for this entity. + * The associated entity for this template instance. * */ - hero?: Maybe; + entity: Entity; /** - * The `LIST_ITEM` layout instance for this entity. + * Whether this template instance should be hidden based on some logic. + * + * At present, this only occurs if certain slots are empty. * */ - listItem?: Maybe; + hidden: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; /** - * The `MAIN` layout instance for this entity. + * The time this object was last rendered. * */ - main?: Maybe; + lastRenderedAt?: Maybe; + layoutKind: LayoutKind; /** - * The `METADATA` layout instance for this entity. + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. * */ - metadata?: Maybe; + nextSiblings: Array; /** - * The `NAVIGATION` layout instance for this entity. + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. * */ - navigation?: Maybe; + prevSiblings: Array; /** - * Whether the render happened inline when requesting this entity. + * Rendered slots for this template. * */ - renderedInline: Scalars['Boolean']['output']; + slots: DetailTemplateInstanceSlots; /** - * The `SUPPLEMENTARY` layout instance for this entity. + * The encoded slug for this record. * */ - supplementary?: Maybe; -}; - -/** A link between different entities */ -export type EntityLink = Node & OrderingEntryable & Sluggable & { - __typename?: 'EntityLink'; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - operator: EntityLinkOperator; - scope: EntityLinkScope; slug: Scalars['Slug']['output']; - source: Entity; - sourceCollection?: Maybe; - sourceCommunity?: Maybe; - sourceItem?: Maybe; - target: Entity; - targetCollection?: Maybe; - targetCommunity?: Maybe; - targetItem?: Maybe; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** The connection type for EntityLink. */ -export type EntityLinkConnection = Paginated & { - __typename?: 'EntityLinkConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** An edge in a connection. */ -export type EntityLinkEdge = { - __typename?: 'EntityLinkEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: EntityLink; +/** + * Rendered slots for the associated template. + * + */ +export type DetailTemplateInstanceSlots = { + __typename?: 'DetailTemplateInstanceSlots'; + body?: Maybe; + header?: Maybe; + itemsA?: Maybe; + itemsB?: Maybe; + itemsC?: Maybe; + itemsD?: Maybe; + subheader?: Maybe; + summary?: Maybe; }; -/** A link operator describes how a source is linked to its target */ -export type EntityLinkOperator = - | 'CONTAINS' - | 'REFERENCES' - | '%future added value'; - -/** A link scope succinctly describes the source and target types */ -export type EntityLinkScope = - /** A link to a collection from another collection */ - | 'COLLECTION_LINKED_COLLECTION' - /** A link to a community from a collection */ - | 'COLLECTION_LINKED_COMMUNITY' - /** A link to an item from a community */ - | 'COLLECTION_LINKED_ITEM' - /** A link to a collection not directly owned by a community */ - | 'COMMUNITY_LINKED_COLLECTION' - /** A link to a community from another community */ - | 'COMMUNITY_LINKED_COMMUNITY' - /** A link to an item from a community */ - | 'COMMUNITY_LINKED_ITEM' - /** A link to a collection from an item */ - | 'ITEM_LINKED_COLLECTION' - /** A link to a community from an item */ - | 'ITEM_LINKED_COMMUNITY' - /** A link to an item from another item */ - | 'ITEM_LINKED_ITEM' - | '%future added value'; - -/** Sort entities by a specific property and order */ -export type EntityOrder = - /** Sort entities by oldest created date */ - | 'OLDEST' - /** Sort communities by position 0-9; other entities by RECENT */ - | 'POSITION_ASCENDING' - /** Sort communities by position 9-0; other entities by OLDEST */ - | 'POSITION_DESCENDING' - /** Sort entities by oldest published date (or OLDEST for communities) */ - | 'PUBLISHED_ASCENDING' - /** Sort entities by newest published date (or RECENT for communities) */ - | 'PUBLISHED_DESCENDING' - /** Sort entities by newest created date */ - | 'RECENT' - /** Sort entities by the name of their schema A-Z */ - | 'SCHEMA_NAME_ASCENDING' - /** Sort entities by the name of their schema Z-A */ - | 'SCHEMA_NAME_DESCENDING' - /** Sort entities by title A-Z */ - | 'TITLE_ASCENDING' - /** Sort entities by title Z-A */ - | 'TITLE_DESCENDING' - | '%future added value'; - /** - * When retrieving lists of entities, sometimes it is helpful to only show - * entities that the current user (or related user) has access to. + * An enum used to control how a detail template should be rendered. * */ -export type EntityPermissionFilter = +export type DetailVariant = /** - * Show only the entities that a user has specific read access for—this allows - * them to view the full record as opposed to just what appears in the frontend. + * A columnar display format for entity details, similar to metadata. * - */ - | 'READ_ONLY' - /** - * A default value that skips checking for access. It will retrieve every - * entity visible to the current user. + * It will make use of the `items*` slots in order to render the content. + * + * See the `hideMetadata` property on the navigation template for an + * optimal use case with moving metadata from its own tab over to the + * main layout. * */ - | 'SKIP' + | 'COLUMNS' /** - * Show entities that a user has the ability to update. + * Display 'full' detail about the entity. * */ - | 'UPDATE' + | 'FULL' + /** + * Display detail about the entity in a summarized fashion. + * + */ + | 'SUMMARY' | '%future added value'; -/** A grid of permissions for various hierarchical entity scopes. */ -export type EntityPermissionGrid = CrudPermissionGrid & ExposesPermissions & PermissionGrid & { - __typename?: 'EntityPermissionGrid'; - /** A list of allowed actions for the given user on this entity (and its descendants). */ - allowedActions: Array; - assets: AssetPermissionGrid; - create: Scalars['Boolean']['output']; - delete: Scalars['Boolean']['output']; - manageAccess: Scalars['Boolean']['output']; - /** An array of hashes that can be requested to load in a context */ - permissions: Array; - read: Scalars['Boolean']['output']; - update: Scalars['Boolean']['output']; -}; +export type Direction = + | 'ASCENDING' + | 'DESCENDING' + | '%future added value'; -/** - * A property that references another entity within the system. - * - */ -export type EntityProperty = HasAvailableEntities & ScalarProperty & SchemaProperty & { - __typename?: 'EntityProperty'; +export type EmailProperty = ScalarProperty & SchemaProperty & { + __typename?: 'EmailProperty'; + address?: Maybe; /** * Provided for introspection. This describes whether or not the property's value * comes in an array rather than representing a discrete piece of information. @@ -6926,11 +8334,7 @@ export type EntityProperty = HasAvailableEntities & ScalarProperty & SchemaPrope * */ array: Scalars['Boolean']['output']; - /** - * Expose all available entities for this schema property. - * - */ - availableEntities: Array; + defaultAddress?: Maybe; /** * A human-readable description for the property. It should describe the purpose of the * property as well as some details about the types of values it looks for. @@ -6939,11 +8343,6 @@ export type EntityProperty = HasAvailableEntities & ScalarProperty & SchemaPrope * */ description?: Maybe; - /** - * A single reference to another entity within the system. - * - */ - entity?: Maybe; /** * The full path that represents the property on the schema instance. It is guaranteed * to be unique for the instance, and can be used to grab a property directly, as well as @@ -6956,6 +8355,11 @@ export type EntityProperty = HasAvailableEntities & ScalarProperty & SchemaPrope * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -6996,6 +8400,11 @@ export type EntityProperty = HasAvailableEntities & ScalarProperty & SchemaPrope * */ required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -7009,188 +8418,41 @@ export type EntityProperty = HasAvailableEntities & ScalarProperty & SchemaPrope type: SchemaPropertyType; }; -/** Autogenerated input type of EntityPurge */ -export type EntityPurgeInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** - * The entity to destroy. - * - */ - entityId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of EntityPurge. */ -export type EntityPurgePayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'EntityPurgePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** - * The root entity that is to be purged. - * - * Note that it may not exist for very long. - * - */ - entity?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - /** - * Whether or not a job was enqueued. - * - */ - jobEnqueued?: Maybe; -}; - /** - * This type is used for authorization and filtering, and can - * distinguish an entity that has been linked to another from - * one that exists directly in a hierarchy. + * A property that references a deterministically-ordered list of entities. * */ -export type EntityScope = - /** - * A `Collection` that is an actual descendant at this point in the hierarchy. - * - */ - | 'COLLECTION' - /** - * A `Collection` that was linked from another `Collection`. - * - */ - | 'COLLECTION_LINKED_COLLECTION' - /** - * A `Community` that was linked from a `Collection`. - * - */ - | 'COLLECTION_LINKED_COMMUNITY' - /** - * An `Item` that was linked from a `Collection`. - * - */ - | 'COLLECTION_LINKED_ITEM' - /** - * A `Community` that is an actual descendant at this point in the hierarchy. - * - */ - | 'COMMUNITY' - /** - * A `Collection` that was linked from a `Community`. - * - */ - | 'COMMUNITY_LINKED_COLLECTION' - /** - * A `Community` that was linked from another `Community`. - * - */ - | 'COMMUNITY_LINKED_COMMUNITY' - /** - * An `Item` that was linked from a `Community`. - * - */ - | 'COMMUNITY_LINKED_ITEM' +export type EntitiesProperty = HasAvailableEntities & ScalarProperty & SchemaProperty & { + __typename?: 'EntitiesProperty'; /** - * An `Item` that is an actual descendant at this point in the hierarchy. + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. * - */ - | 'ITEM' - /** - * A `Collection` that was linked from an `Item`. + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. * */ - | 'ITEM_LINKED_COLLECTION' + array: Scalars['Boolean']['output']; /** - * A `Community` that was linked from an `Item`. + * Expose all available entities for this schema property. * */ - | 'ITEM_LINKED_COMMUNITY' + availableEntities: Array; /** - * An `Item` that was linked from another `Item`. + * A human-readable description for the property. It should describe the purpose of the + * property as well as some details about the types of values it looks for. * - */ - | 'ITEM_LINKED_ITEM' - | '%future added value'; - -/** A select option for a single entity */ -export type EntitySelectOption = HasEntityBreadcrumbs & { - __typename?: 'EntitySelectOption'; - /** Previous entries in the hierarchy */ - breadcrumbs: Array; - entity: Entity; - kind: EntityKind; - label: Scalars['String']['output']; - schemaVersion: SchemaVersion; - slug: Scalars['Slug']['output']; - value: Scalars['ID']['output']; -}; - -/** The level of visibility an entity can have */ -export type EntityVisibility = - | 'HIDDEN' - | 'LIMITED' - | 'VISIBLE' - | '%future added value'; - -/** - * Filter entities by their visibility. - * - * `VISIBLE` is the default in most cases. Any other option requires special privileges. - * - */ -export type EntityVisibilityFilter = - /** Do not filter entities by their visibility at all. */ - | 'ALL' - /** Fetch only *currently hidden* entities. */ - | 'HIDDEN' - /** Fetch only *currently visible* entities. */ - | 'VISIBLE' - | '%future added value'; - -/** - * Require that `path = value`. - * - */ -export type EqualsOperatorInput = { - path: Scalars['String']['input']; - value: Scalars['JSON']['input']; -}; - -export type ExposesEffectiveAccess = { - /** - * User-specific access permissions for this object. + * It can be rendered as help text, hints, etc. * */ - effectiveAccess: EffectiveAccess; -}; - -export type ExposesPermissions = { - /** A list of allowed actions for the given user on this entity (and its descendants). */ - allowedActions: Array; - /** An array of hashes that can be requested to load in a context */ - permissions: Array; -}; - -export type FloatProperty = ScalarProperty & SchemaProperty & SearchableProperty & { - __typename?: 'FloatProperty'; + description?: Maybe; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. + * A deterministically-ordered list of entities. * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * Given the same input, this array will always be returned in the same order. * */ - array: Scalars['Boolean']['output']; - defaultFloat?: Maybe; - description?: Maybe; - floatValue?: Maybe; + entities: Array; /** * The full path that represents the property on the schema instance. It is guaranteed * to be unique for the instance, and can be used to grab a property directly, as well as @@ -7203,6 +8465,11 @@ export type FloatProperty = ScalarProperty & SchemaProperty & SearchableProperty * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -7216,6 +8483,10 @@ export type FloatProperty = ScalarProperty & SchemaProperty & SearchableProperty * */ kind: SchemaPropertyKind; + /** + * A human-readable label for the schema property. + * + */ label: Scalars['String']['output']; /** * Provided for introspection. Whether this property can be used to order entities. @@ -7239,8 +8510,11 @@ export type FloatProperty = ScalarProperty & SchemaProperty & SearchableProperty * */ required: Scalars['Boolean']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -7254,1262 +8528,968 @@ export type FloatProperty = ScalarProperty & SchemaProperty & SearchableProperty type: SchemaPropertyType; }; -/** Autogenerated input type of FrontendCacheRevalidateEntity */ -export type FrontendCacheRevalidateEntityInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** - * The entity to update. - * - */ - entityId: Scalars['ID']['input']; +/** + * Settings specific to how entities should behave on this installation. + * + */ +export type EntitiesSettings = { + __typename?: 'EntitiesSettings'; + /** Whether external links should be suppressed in certain schema field types. */ + suppressExternalLinks: Scalars['Boolean']['output']; }; -/** Autogenerated return type of FrontendCacheRevalidateEntity. */ -export type FrontendCacheRevalidateEntityPayload = StandardMutationPayload & { - __typename?: 'FrontendCacheRevalidateEntityPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; +/** + * An object for updating EntitiesSettings. + * + */ +export type EntitiesSettingsInput = { /** - * Whether the revalidation request was successfully performed. + * Whether external links should be suppressed in certain schema field types. * */ - revalidated?: Maybe; -}; - -/** Autogenerated input type of FrontendCacheRevalidateInstance */ -export type FrontendCacheRevalidateInstanceInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + suppressExternalLinks?: InputMaybe; }; -/** Autogenerated return type of FrontendCacheRevalidateInstance. */ -export type FrontendCacheRevalidateInstancePayload = StandardMutationPayload & { - __typename?: 'FrontendCacheRevalidateInstancePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; +/** + * An entity that exists in the hierarchy. + * + */ +export type Entity = { + /** A polymorphic connection for access grants from an entity */ + allAccessGrants: AnyAccessGrantConnection; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + /** Look up an announcement for this entity by slug */ + announcement?: Maybe; /** - * Whether the revalidation request was successfully performed. + * A list of announcements associated with this entity. * */ - revalidated?: Maybe; -}; - -/** A full-text searchable value for an entity */ -export type FullText = { - __typename?: 'FullText'; - /** The full-text searchable value itself */ - content?: Maybe; - /** The content type for the text, if any */ - kind?: Maybe; - /** The ISO-639 language code of this content, if any */ - lang?: Maybe; -}; - -/** It is necessary for the system to know what kind the content is in order to properly index it */ -export type FullTextKind = - | 'HTML' - | 'MARKDOWN' - | 'TEXT' - | '%future added value'; - -export type FullTextProperty = ScalarProperty & SchemaProperty & SearchableProperty & { - __typename?: 'FullTextProperty'; + announcements: AnnouncementConnection; + /** The role(s) that gave the permissions to access this resource, if any. */ + applicableRoles: Array; + /** The role(s) that the current user could assign to other users on this entity, if applicable. */ + assignableRoles: Array; + /** Retrieve a list of user & role assignments for this entity */ + assignedUsers: ContextualPermissionConnection; + /** Previous entries in the hierarchy */ + breadcrumbs: Array; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. + * Whether the current user has permission to alter the schema version of this entity. * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * Submission drafts will be denied, even if the user would otherwise have permission. * */ - array: Scalars['Boolean']['output']; - description?: Maybe; + canAlterSchemaVersion: AuthorizationResult; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * Whether the current user has permission to create assets under this entity. * */ - fullPath: Scalars['String']['output']; - fullText?: Maybe; + canCreateAssets: AuthorizationResult; /** - * The purpose or intent of this property relative to its entity, parents, and others. + * Whether the current user has permission to create collections under this entity. * */ - function: SchemaPropertyFunction; + canCreateCollections: AuthorizationResult; /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * Whether the current user has permission to create items under this entity. * */ - isWide: Scalars['Boolean']['output']; + canCreateItems: AuthorizationResult; /** - * Provided for introspection. This describes the underlying structure of the data type. + * Whether the current user has permission to deposit a new entity into this one. * */ - kind: SchemaPropertyKind; - label: Scalars['String']['output']; + canDeposit: AuthorizationResult; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * Whether the current user has permission to destroy this record. * */ - orderable: Scalars['Boolean']['output']; + canDestroy: AuthorizationResult; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * Whether the current user has permission to manage access to this entity. + * + * This opens up `grantAccess` and `revokeAccess` mutations. * */ - path: Scalars['String']['output']; + canManageAccess: AuthorizationResult; /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. - * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + * Whether the current user has permission to purge this entity. * */ - required: Scalars['Boolean']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; + canPurge: AuthorizationResult; /** - * Provided for introspection. This represents the actual data type this property - * uses. + * Whether the current user has permission to reparent this entity. * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * Submission drafts will be denied, even if the user would otherwise have permission. * */ - type: SchemaPropertyType; -}; - -/** A global ACL */ -export type GlobalAccessControlList = ExposesPermissions & { - __typename?: 'GlobalAccessControlList'; - /** A list of allowed actions for the given user on this entity (and its descendants). */ - allowedActions: Array; - /** An array of hashes that can be requested to load in a context */ - permissions: Array; -}; - -/** The global configuration for this installation of Meru. */ -export type GlobalConfiguration = Node & { - __typename?: 'GlobalConfiguration'; + canReparent: AuthorizationResult; /** - * Global configuration for contribution roles. + * Whether the current user has permission to revalidate this entity. * */ - contributionRoles: ContributionRoleConfiguration; - /** Settings specific to how entities should behave on this installation. */ - entities: EntitiesSettings; - id: Scalars['ID']['output']; - /** Settings specific to this institution. */ - institution: InstitutionSettings; - /** The logo attachment. It may not always be present. */ - logo: SiteLogoAttachment; - /** Configurable metadata for the logo attachment. */ - logoMetadata?: Maybe; - /** Settings specific to this site */ - site: SiteSettings; - /** Settings specific to the site's theme */ - theme: ThemeSettings; -}; - -/** Autogenerated input type of GrantAccess */ -export type GrantAccessInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - entityId: Scalars['ID']['input']; - roleId: Scalars['ID']['input']; - userId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of GrantAccess. */ -export type GrantAccessPayload = StandardMutationPayload & { - __typename?: 'GrantAccessPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - entity?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Whether or not access was granted */ - granted?: Maybe; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** - * A schema property that groups other schema properties together underneath a `path`. - * - */ -export type GroupProperty = SchemaProperty & { - __typename?: 'GroupProperty'; + canRevalidate: AuthorizationResult; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * Whether the current user has permission to review deposits to this entity. * */ - array: Scalars['Boolean']['output']; + canReview: AuthorizationResult; /** - * A human-readable description for the property. It should describe the purpose of the - * property as well as some details about the types of values it looks for. - * - * It can be rendered as help text, hints, etc. + * Whether the current user has permission to update this record. * */ - description?: Maybe; + canUpdate: AuthorizationResult; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * All descendants of this entity, regardless of type. + * + * Communities and collections can both contain collections and items. Items will only contain items. * */ - fullPath: Scalars['String']['output']; + descendants: EntityDescendantConnection; + /** A hero image for the entity, suitable for displaying in page headers */ + heroImage: ImageAttachment; + /** Configurable metadata for the hero_image attachment */ + heroImageMetadata?: Maybe; /** - * Provided for introspection. This describes the underlying structure of the data type. + * The depth of the hierarchical entity, taking into account any parent types. * */ - kind: SchemaPropertyKind; - /** The legend / label for this group property. */ - legend?: Maybe; + hierarchicalDepth: Scalars['Int']['output']; + /** ID of the object. */ + id: Scalars['ID']['output']; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * Access layouts for this entity. * */ - orderable: Scalars['Boolean']['output']; + layouts: EntityLayouts; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * Available link targets for this entity. * */ - path: Scalars['String']['output']; - /** The list of (scalar) schema properties contained within this group. */ - properties: Array; - /** Whether this property is required to have a value. */ - required: Scalars['Boolean']['output']; + linkTargetCandidates: LinkTargetCandidateConnection; /** - * Provided for introspection. This represents the actual data type this property - * uses. - * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * Links from this entity to other entities, along with metadata about those links. * */ - type: SchemaPropertyType; -}; - -/** - * A record of a single attempt at harvesting. - * - */ -export type HarvestAttempt = HasHarvestErrors & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & Node & QueriesHarvestMessage & Sluggable & { - __typename?: 'HarvestAttempt'; + links: EntityLinkConnection; /** - * The time the attempt began. + * Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. * */ - beganAt?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; - /** - * The current state of the attempt. - * - */ - currentState: HarvestAttemptState; - /** - * The time the attempt ended. - * - */ - endedAt?: Maybe; - /** - * A progress report for entity data during a harvest attempt. - * - */ - entityStatus?: Maybe; - /** - * The extraction mapping template used for this harvesting-related record - * at its place in the hierarchy. It is an XML document that describes how - * to map various types of metadata from the harvested records and transform - * that data into entities in Meru. - * - * For harvest sources, it can be considered the default mapping template - * for any record in the system, and should be used to pre-populate - * attempts that are created by the source, as well as future plans to - * allow for extracting a single record by external ID that may not have - * yet been fetched by an extract records process. - * - * For harvest mappings, it can be considered the default mapping template - * for any attempt created by the mapping. - * - * For any harvesting data that exists prior to the harvesting refactor - * completed during March of 2025, it's possible for this value to be - * an empty string. Any modifications to mappings and sources from that - * time will need to add a valid mapping template in order to succeed. - * - * See `Query.harvestExamples` for examples of valid mapping templates. - * - */ - extractionMappingTemplate: Scalars['String']['output']; + markedForPurge: Scalars['Boolean']['output']; + /** Look up an ordering for this entity by identifier */ + ordering?: Maybe; + /** Look up an ordering that is set up to handle a specific schema. */ + orderingForSchema?: Maybe; /** - * A list of errors that are associated with this harvesting type. + * A list of orderings associated with this entity. * */ - harvestErrors: Array; + orderings: OrderingConnection; + /** Look up a page for this entity by slug */ + page?: Maybe; /** - * An optional mapping that may have constrained the harvest attempt. + * A list of pages associated with this entity. * */ - harvestMapping?: Maybe; - harvestMessages: HarvestMessageConnection; + pages: PageConnection; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; /** - * Records associated with this attempt specifically. + * The schema definition that this entity conforms to. * */ - harvestRecords: HarvestRecordConnection; + schemaDefinition: SchemaDefinition; /** - * An optional set that may have constrained the harvest attempt. + * A list of schema properties associated with this instance or version. * */ - harvestSet?: Maybe; + schemaProperties: Array; /** - * The source associated with the attempt. + * The hierarchical schema ranks for this entity, which compute the overall structure + * of its descendants by schema definition. * */ - harvestSource: HarvestSource; - id: Scalars['ID']['output']; + schemaRanks: Array; /** - * The metadata format used by this source / mapping. - * - * Fixed at creation time for now. + * The schema version that this entity conforms to. * */ - metadataFormat: HarvestMetadataFormat; + schemaVersion: SchemaVersion; + /** Search from this level of the API using it as the origin */ + search: SearchScope; /** - * Whether this attempt is `MANUAL` or `SCHEDULED`. This field is not set - * through the admin section, but derived from how the attempt was created. - * - * `SCHEDULED` attempts are created by Meru internally - * based on their `harvestMapping`'s configuration. + * The encoded slug for this record. * */ - mode: HarvestScheduleMode; + slug: Scalars['Slug']['output']; /** - * An optional note for this harvesting attempt. + * THe current submission status of this entity. Is it a draft, published, or unrelated? * */ - note?: Maybe; + submissionStatus: EntitySubmissionStatus; /** - * The number of records (if available). + * The submission target that this entity can be submitted to, if any. * */ - recordCount?: Maybe; + submissionTarget?: Maybe; /** - * A progress report for record data during a harvest attempt. + * A human-readable subtitle for the entity. * */ - recordStatus?: Maybe; + subtitle?: Maybe; /** - * This specifies the time the attempt is scheduled to run at, if the `mode` is `SCHEDULED`. + * A description of the contents of the entity. * */ - scheduledAt?: Maybe; - slug: Scalars['Slug']['output']; + summary?: Maybe; + /** A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc. */ + thumbnail: ImageAttachment; + /** Configurable metadata for the thumbnail attachment */ + thumbnailMetadata?: Maybe; /** - * The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified. + * A human-readable title for the entity. * */ - targetEntity: HarvestTarget; - updatedAt: Scalars['ISO8601DateTime']['output']; + title: Scalars['String']['output']; }; /** - * A record of a single attempt at harvesting. + * An entity that exists in the hierarchy. * */ -export type HarvestAttemptHarvestMessagesArgs = { +export type EntityAllAccessGrantsArgs = { after?: InputMaybe; before?: InputMaybe; - filters?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - orFilters?: InputMaybe>; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; + subject?: InputMaybe; }; /** - * A record of a single attempt at harvesting. + * An entity that exists in the hierarchy. * */ -export type HarvestAttemptHarvestRecordsArgs = { +export type EntityAnnouncementArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * An entity that exists in the hierarchy. + * + */ +export type EntityAnnouncementsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; }; -/** The connection type for HarvestAttempt. */ -export type HarvestAttemptConnection = Paginated & { - __typename?: 'HarvestAttemptConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; + +/** + * An entity that exists in the hierarchy. + * + */ +export type EntityAssignedUsersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** An edge in a connection. */ -export type HarvestAttemptEdge = { - __typename?: 'HarvestAttemptEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: HarvestAttempt; + +/** + * An entity that exists in the hierarchy. + * + */ +export type EntityDescendantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + maxDepth?: InputMaybe; + order?: EntityDescendantOrder; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + schema?: InputMaybe>; + scope?: InputMaybe; }; + /** - * A progress report for entity data during a harvest attempt. + * An entity that exists in the hierarchy. * */ -export type HarvestAttemptEntityStatus = Node & Sluggable & { - __typename?: 'HarvestAttemptEntityStatus'; - /** - * Average time to fetch assets for a given entity in seconds (may be used in ETA calculations in the future). - * - */ - assetsDurationAverage?: Maybe; - /** - * A (very) rough estimate of when the assets might be fully extracted. - * - */ - assetsEta?: Maybe; - /** - * The percentage of completion based on current data expressed as a float between 0.0 and 1.0. - * - */ - completion?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - slug: Scalars['Slug']['output']; - /** - * Total number of entities extracted for this attempt. - * - */ - totalEntities?: Maybe; - /** - * Total number of entities that have been successfully extracted. - * - */ - totalEntitiesSuccess?: Maybe; - /** - * Total number of entities that are waiting for assets to be fetched. - * - */ - totalEntitiesWaitingForAssets?: Maybe; - /** - * Total number of entities that are pending upsert. - * - */ - totalEntitiesWaitingForUpsert?: Maybe; - /** - * Total number of entities extracted for this attempt that have 1 or more assets attached. - * - */ - totalEntitiesWithAssets?: Maybe; - updatedAt: Scalars['ISO8601DateTime']['output']; - /** - * Average time to upsert a given entity in seconds (may be used in ETA calculations in the future). - * - */ - upsertDurationAverage?: Maybe; - /** - * A (very) rough estimate of when the entities might be fully upserted. - * - */ - upsertEta?: Maybe; +export type EntityLinkTargetCandidatesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + kind?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + title?: InputMaybe; }; -/** Autogenerated input type of HarvestAttemptFromMapping */ -export type HarvestAttemptFromMappingInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** - * The extraction mapping template used for this harvesting-related record - * at its place in the hierarchy. It is an XML document that describes how - * to map various types of metadata from the harvested records and transform - * that data into entities in Meru. - * - * For harvest sources, it can be considered the default mapping template - * for any record in the system, and should be used to pre-populate - * attempts that are created by the source, as well as future plans to - * allow for extracting a single record by external ID that may not have - * yet been fetched by an extract records process. - * - * For harvest mappings, it can be considered the default mapping template - * for any attempt created by the mapping. - * - * For any harvesting data that exists prior to the harvesting refactor - * completed during March of 2025, it's possible for this value to be - * an empty string. Any modifications to mappings and sources from that - * time will need to add a valid mapping template in order to succeed. - * - * See `Query.harvestExamples` for examples of valid mapping templates. - * - */ - extractionMappingTemplate: Scalars['String']['input']; - /** - * The harvest mapping to update. - * - */ - harvestMappingId: Scalars['ID']['input']; - /** - * An optional note for this harvesting attempt. - * - */ - note?: InputMaybe; + +/** + * An entity that exists in the hierarchy. + * + */ +export type EntityLinksArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** Autogenerated return type of HarvestAttemptFromMapping. */ -export type HarvestAttemptFromMappingPayload = StandardMutationPayload & { - __typename?: 'HarvestAttemptFromMappingPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - /** - * The newly-modified harvest mapping, if successful. - * - */ - harvestAttempt?: Maybe; + +/** + * An entity that exists in the hierarchy. + * + */ +export type EntityOrderingArgs = { + identifier: Scalars['String']['input']; }; -/** Autogenerated input type of HarvestAttemptFromSource */ -export type HarvestAttemptFromSourceInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** - * The extraction mapping template used for this harvesting-related record - * at its place in the hierarchy. It is an XML document that describes how - * to map various types of metadata from the harvested records and transform - * that data into entities in Meru. - * - * For harvest sources, it can be considered the default mapping template - * for any record in the system, and should be used to pre-populate - * attempts that are created by the source, as well as future plans to - * allow for extracting a single record by external ID that may not have - * yet been fetched by an extract records process. - * - * For harvest mappings, it can be considered the default mapping template - * for any attempt created by the mapping. - * - * For any harvesting data that exists prior to the harvesting refactor - * completed during March of 2025, it's possible for this value to be - * an empty string. Any modifications to mappings and sources from that - * time will need to add a valid mapping template in order to succeed. - * - * See `Query.harvestExamples` for examples of valid mapping templates. - * - */ - extractionMappingTemplate: Scalars['String']['input']; - /** - * An optional set to restrict the attempt to. - * - */ - harvestSetId?: InputMaybe; - /** - * The harvest source to use as the base. - * - */ - harvestSourceId: Scalars['ID']['input']; - /** - * An optional note for this harvesting attempt. - * - */ - note?: InputMaybe; - /** - * The community or collection to target for the harvest. - * - */ - targetEntityId: Scalars['ID']['input']; + +/** + * An entity that exists in the hierarchy. + * + */ +export type EntityOrderingForSchemaArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated return type of HarvestAttemptFromSource. */ -export type HarvestAttemptFromSourcePayload = StandardMutationPayload & { - __typename?: 'HarvestAttemptFromSourcePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - /** - * The newly created harvest attempt record, if successful. - * - */ - harvestAttempt?: Maybe; - /** - * The newly-modified harvest source, if successful. - * - */ - harvestSource?: Maybe; + +/** + * An entity that exists in the hierarchy. + * + */ +export type EntityOrderingsArgs = { + after?: InputMaybe; + availability?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + visibility?: InputMaybe; }; + /** - * Sort a collection of `HarvestAttempt` records by specific properties and directions. + * An entity that exists in the hierarchy. * */ -export type HarvestAttemptOrder = - /** Sort harvest attempts by their default order. */ - | 'DEFAULT' - /** Sort harvest attempts by oldest created date. */ - | 'OLDEST' - /** Sort harvest attempts by newest created date. */ - | 'RECENT' - | '%future added value'; +export type EntityPageArgs = { + slug: Scalars['String']['input']; +}; -/** Autogenerated input type of HarvestAttemptPruneEntities */ -export type HarvestAttemptPruneEntitiesInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** - * The harvest attempt to update. - * - */ - harvestAttemptId: Scalars['ID']['input']; - /** - * Whether to prune `PRISTINE` or **all** harvested entities. - * - */ - mode: HarvestPruneMode; + +/** + * An entity that exists in the hierarchy. + * + */ +export type EntityPagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** Autogenerated return type of HarvestAttemptPruneEntities. */ -export type HarvestAttemptPruneEntitiesPayload = StandardMutationPayload & { - __typename?: 'HarvestAttemptPruneEntitiesPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - /** - * The harvest attempt, if successful. - * - */ - harvestAttempt?: Maybe; + +/** + * An entity that exists in the hierarchy. + * + */ +export type EntitySearchArgs = { + maxDepth?: InputMaybe; + visibility?: InputMaybe; }; /** - * A progress report for record data during a harvest attempt. + * Objects have a serialized slug for looking them up in the system and generating links without UUIDs. * */ -export type HarvestAttemptRecordStatus = Node & Sluggable & { - __typename?: 'HarvestAttemptRecordStatus'; - /** - * The percentage of completion based on current data expressed as a float between 0.0 and 1.0. - * - */ - completion?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; +export type EntityBase = { /** - * Average time to extract a given record in seconds (may be used in ETA calculations in the future). + * The encoded slug for this record. * */ - extractionDurationAverage?: Maybe; - id: Scalars['ID']['output']; slug: Scalars['Slug']['output']; /** - * Total number of records extracted for this attempt. - * - */ - totalRecords?: Maybe; - /** - * Total number of records that have been successfully extracted. + * A human-readable subtitle for the entity. * */ - totalRecordsSuccess?: Maybe; + subtitle?: Maybe; /** - * Total number of records that are pending extraction (which will then be harvest entities). + * A description of the contents of the entity. * */ - totalRecordsWaitingForExtraction?: Maybe; + summary?: Maybe; /** - * Total number of records that are waiting on their entities to be complete. - * This could include waiting for assets to be fetched. + * A human-readable title for the entity. * */ - totalRecordsWaitingForUpsert?: Maybe; - updatedAt: Scalars['ISO8601DateTime']['output']; + title: Scalars['String']['output']; +}; + +export type EntityBreadcrumb = Node & { + __typename?: 'EntityBreadcrumb'; + crumb: Entity; + depth: Scalars['Int']['output']; + id: Scalars['ID']['output']; + kind: EntityKind; + label: Scalars['String']['output']; + slug: Scalars['String']['output']; }; /** - * The state that an attempt is in. + * A common interface for something that exposes contextual permissions. * */ -export type HarvestAttemptState = - /** - * A scheduled attempt that was cancelled. - * - */ - | 'CANCELLED' - /** - * An attempt that is in the process of extracting records. - * - * A failed extraction may linger in this state. - * - */ - | 'EXECUTING' - /** - * An attempt whose entities have all been extracted from the source. - * - */ - | 'EXTRACTED' - /** - * An attempt that has not yet extracted anything. - * - */ - | 'PENDING' - /** - * A scheduled attempt for a specific mapping that has not yet ran. - * - */ - | 'SCHEDULED' - | '%future added value'; +export type EntityContextualPermissions = { + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + /** The role(s) that gave the permissions to access this resource, if any. */ + applicableRoles: Array; + /** The role(s) that the current user could assign to other users on this entity, if applicable. */ + assignableRoles: Array; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; +}; -/** - * A record that can be used to trigger a run of the harvesting - * subsystem via `harvestStart`. - * - */ -export type HarvestAttemptable = { - /** - * Harvest attempts associated with this record. - * - */ - harvestAttempts: HarvestAttemptConnection; +/** A descendant of an `Entity`. */ +export type EntityDescendant = { + __typename?: 'EntityDescendant'; + /** The actual descendant entity */ + descendant: Entity; + /** The relative depth of this entity from its ancestor */ + relativeDepth: Scalars['Int']['output']; + /** The scope of this entity relative to its ancestor */ + scope: EntityScope; }; +/** The connection type for EntityDescendant. */ +export type EntityDescendantConnection = Paginated & { + __typename?: 'EntityDescendantConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; -/** - * A record that can be used to trigger a run of the harvesting - * subsystem via `harvestStart`. - * - */ -export type HarvestAttemptableHarvestAttemptsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +/** An edge in a connection. */ +export type EntityDescendantEdge = { + __typename?: 'EntityDescendantEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: EntityDescendant; }; +/** Sort entity descendants by specific attributes and order */ +export type EntityDescendantOrder = + /** Sort descendants by oldest published date (or OLDEST for communities) */ + | 'PUBLISHED_ASCENDING' + /** Sort descendants by newest published date (or RECENT for communities) */ + | 'PUBLISHED_DESCENDING' + /** Sort descendants by title A-Z */ + | 'TITLE_ASCENDING' + /** Sort descendants by title Z-A */ + | 'TITLE_DESCENDING' + | '%future added value'; + /** - * A staged entity extracted from a `HarvestRecord`, that - * can then be associated to an actual entity by the - * harvesting process. + * This enum is used to filter the type(s) of descendants to include + * in a set of results. * */ -export type HarvestEntity = Node & QueriesHarvestMessage & Sluggable & { - __typename?: 'HarvestEntity'; - createdAt: Scalars['ISO8601DateTime']['output']; - /** - * The real entity this is associated with (if available). - * - */ - entity?: Maybe; - harvestMessages: HarvestMessageConnection; - id: Scalars['ID']['output']; +export type EntityDescendantScopeFilter = /** - * A unique identifier for the staged entity within the context of its `HarvestRecord`. + * This will include anything regardless of type. * */ - identifier: Scalars['String']['output']; + | 'ALL' /** - * Whether this staged entity is a leaf (has no children). + * This will include all `Collection`s and `Item`s that are direct descendants and not linked. * */ - leaf: Scalars['Boolean']['output']; + | 'ANY_ENTITY' /** - * The parent staged entity (if applicable). + * This will include any _linked_ `Collection`s or `Item`s. * */ - parent?: Maybe; + | 'ANY_LINK' /** - * The relative depth of the staged entity (based on the attempt's `targetEntity`). + * This will include only directly descending `Collection`s, no links. * */ - relativeDepth: Scalars['Int']['output']; + | 'COLLECTION' /** - * Whether this staged entity is a root (has no parent). + * This will include any descendant `Collection`s, whether or not it is a link. * */ - root: Scalars['Boolean']['output']; + | 'COLLECTION_OR_LINK' /** - * The schema version that this will use (if available). + * This will include only directly descending `Item`s, no links. * */ - schemaVersion?: Maybe; - slug: Scalars['Slug']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - - -/** - * A staged entity extracted from a `HarvestRecord`, that - * can then be associated to an actual entity by the - * harvesting process. - * - */ -export type HarvestEntityHarvestMessagesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - -/** - * An error that may occur during the harvesting process. - * - */ -export type HarvestError = Node & Sluggable & { - __typename?: 'HarvestError'; + | 'ITEM' /** - * A machine code that identifies the error for reprocessing and debugging. + * This will include any descendant `Item`s, whether or not it is a link. * */ - code?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; + | 'ITEM_OR_LINK' /** - * A more descriptive issue of the message, if available. + * This will only descendant `Collection`s that are linked. * */ - message?: Maybe; + | 'LINKED_COLLECTION' /** - * Raw metadata for the error. Should be displayed as inspectable JSON. + * This will only descendant `Item`s that are linked. * */ - metadata: Scalars['JSON']['output']; - slug: Scalars['Slug']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; + | 'LINKED_ITEM' + | '%future added value'; + +/** An enumeration of the different kinds of hierarchical entities */ +export type EntityKind = + | 'COLLECTION' + | 'COMMUNITY' + | 'ITEM' + | '%future added value'; /** - * An example of various harvesting configurations, particularly extraction mapping templates. + * An accessor for pulling up layout instances for a given entity. * */ -export type HarvestExample = { - __typename?: 'HarvestExample'; +export type EntityLayouts = { + __typename?: 'EntityLayouts'; /** - * Whether this should be considered a "default" example - * for a given metadata / protocol combination. + * The `HERO` layout instance for this entity. * */ - default: Scalars['Boolean']['output']; + hero?: Maybe; /** - * A description about the example, if available. + * The `LIST_ITEM` layout instance for this entity. * */ - description?: Maybe; + listItem?: Maybe; /** - * The example's extraction mapping template which can be applied to harvest sources, mappings, and attempts. + * The `MAIN` layout instance for this entity. * */ - extractionMappingTemplate: Scalars['String']['output']; + main?: Maybe; /** - * Whether this is a generic example that is not tied - * to any specific protocol nor metadata format. + * The `METADATA` layout instance for this entity. * */ - generic: Scalars['Boolean']['output']; + metadata?: Maybe; /** - * The ID for the example. + * The `NAVIGATION` layout instance for this entity. * */ - id: Scalars['ID']['output']; + navigation?: Maybe; /** - * The metadata format this example applies to. - * - * It can be blank if the example is not metadata-specific. + * Whether the render happened inline when requesting this entity. * */ - metadataFormatName?: Maybe; + renderedInline: Scalars['Boolean']['output']; /** - * The human-readable name for the example. + * The `SUPPLEMENTARY` layout instance for this entity. * */ - name: Scalars['String']['output']; + supplementary?: Maybe; +}; + +/** A link between different entities */ +export type EntityLink = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & OrderingEntryable & Sluggable & { + __typename?: 'EntityLink'; /** - * The protocol this example applies to. - * - * It can be blank if the example is not protocol-specific. + * Whether the current user has permission to destroy this record. * */ - protocolName?: Maybe; + canDestroy: AuthorizationResult; /** - * A list of schema declarations that the mapping template can generate. + * Whether the current user has permission to update this record. * */ - schemaDeclarations: Array; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + operator: EntityLinkOperator; + scope: EntityLinkScope; /** - * A list of schema versions that the mapping template can generate. + * The encoded slug for this record. * */ - schemaVersions: Array; + slug: Scalars['Slug']['output']; + source: Entity; + sourceCollection?: Maybe; + sourceCommunity?: Maybe; + sourceItem?: Maybe; + target: Entity; + targetCollection?: Maybe; + targetCommunity?: Maybe; + targetItem?: Maybe; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** - * A specific mapping to be used by a `HarvestSource`, - * possibly an optional `HarvestSet`, and other options - * in order to harvest records from the source and produce - * entities. - * - * It can produce a `HarvestAttempt`. - * - */ -export type HarvestMapping = HarvestAttemptable & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & HasHarvestOptions & Node & QueriesHarvestMessage & Sluggable & { - __typename?: 'HarvestMapping'; - createdAt: Scalars['ISO8601DateTime']['output']; +/** The connection type for EntityLink. */ +export type EntityLinkConnection = Paginated & { + __typename?: 'EntityLinkConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type EntityLinkEdge = { + __typename?: 'EntityLinkEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: EntityLink; +}; + +/** A link operator describes how a source is linked to its target */ +export type EntityLinkOperator = + | 'CONTAINS' + | 'REFERENCES' + | '%future added value'; + +/** A link scope succinctly describes the source and target types */ +export type EntityLinkScope = + /** A link to a collection from another collection */ + | 'COLLECTION_LINKED_COLLECTION' + /** A link to a community from a collection */ + | 'COLLECTION_LINKED_COMMUNITY' + /** A link to an item from a community */ + | 'COLLECTION_LINKED_ITEM' + /** A link to a collection not directly owned by a community */ + | 'COMMUNITY_LINKED_COLLECTION' + /** A link to a community from another community */ + | 'COMMUNITY_LINKED_COMMUNITY' + /** A link to an item from a community */ + | 'COMMUNITY_LINKED_ITEM' + /** A link to a collection from an item */ + | 'ITEM_LINKED_COLLECTION' + /** A link to a community from an item */ + | 'ITEM_LINKED_COMMUNITY' + /** A link to an item from another item */ + | 'ITEM_LINKED_ITEM' + | '%future added value'; + +/** Sort entities by a specific property and order */ +export type EntityOrder = + /** Sort entities by oldest created date */ + | 'OLDEST' + /** Sort communities by position 0-9; other entities by RECENT */ + | 'POSITION_ASCENDING' + /** Sort communities by position 9-0; other entities by OLDEST */ + | 'POSITION_DESCENDING' + /** Sort entities by oldest published date (or OLDEST for communities) */ + | 'PUBLISHED_ASCENDING' + /** Sort entities by newest published date (or RECENT for communities) */ + | 'PUBLISHED_DESCENDING' + /** Sort entities by newest created date */ + | 'RECENT' + /** Sort entities by the name of their schema A-Z */ + | 'SCHEMA_NAME_ASCENDING' + /** Sort entities by the name of their schema Z-A */ + | 'SCHEMA_NAME_DESCENDING' + /** Sort entities by title A-Z */ + | 'TITLE_ASCENDING' + /** Sort entities by title Z-A */ + | 'TITLE_DESCENDING' + | '%future added value'; + +/** + * When retrieving lists of entities, sometimes it is helpful to only show + * entities that the current user (or related user) has access to. + * + */ +export type EntityPermissionFilter = /** - * The extraction mapping template used for this harvesting-related record - * at its place in the hierarchy. It is an XML document that describes how - * to map various types of metadata from the harvested records and transform - * that data into entities in Meru. + * Show only the entities that a user has specific read access for—this allows + * them to view the full record as opposed to just what appears in the frontend. * - * For harvest sources, it can be considered the default mapping template - * for any record in the system, and should be used to pre-populate - * attempts that are created by the source, as well as future plans to - * allow for extracting a single record by external ID that may not have - * yet been fetched by an extract records process. + */ + | 'READ_ONLY' + /** + * A default value that skips checking for access. It will retrieve every + * entity visible to the current user. * - * For harvest mappings, it can be considered the default mapping template - * for any attempt created by the mapping. + */ + | 'SKIP' + /** + * Show entities that a user has the ability to update. * - * For any harvesting data that exists prior to the harvesting refactor - * completed during March of 2025, it's possible for this value to be - * an empty string. Any modifications to mappings and sources from that - * time will need to add a valid mapping template in order to succeed. + */ + | 'UPDATE' + | '%future added value'; + +/** A grid of permissions for various hierarchical entity scopes. */ +export type EntityPermissionGrid = CrudPermissionGrid & ExposesPermissions & PermissionGrid & { + __typename?: 'EntityPermissionGrid'; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + /** + * Permissions related to managing assets associated with the attached entity. * - * See `Query.harvestExamples` for examples of valid mapping templates. + * This is slated for deprecation in a future release. Instead, permissions for + * assets will be determined by the `update` permission on the entity. * */ - extractionMappingTemplate: Scalars['String']['output']; + assets: AssetPermissionGrid; + create: Scalars['Boolean']['output']; + delete: Scalars['Boolean']['output']; /** - * This can be a cron expression as well as a human-readable expression like - * `"every sunday at 5 am America/Los_Angeles"`. - * The system will attempt to validate and parse the expression when setting - * it in order to make sure it is something that Meru can handle. + * Whether the user can manage access to entities at this scope. * */ - frequencyExpression?: Maybe; + manageAccess: Scalars['Boolean']['output']; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; + read: Scalars['Boolean']['output']; + update: Scalars['Boolean']['output']; +}; + +/** + * Entities can optionally be submitted to. + * + */ +export type EntityPermissions = { /** - * Attempts produced by this mapping. + * Whether the current user has permission to alter the schema version of this entity. + * + * Submission drafts will be denied, even if the user would otherwise have permission. * */ - harvestAttempts: HarvestAttemptConnection; - harvestMessages: HarvestMessageConnection; + canAlterSchemaVersion: AuthorizationResult; /** - * Records associated with this mapping. + * Whether the current user has permission to create assets under this entity. * */ - harvestRecords: HarvestRecordConnection; + canCreateAssets: AuthorizationResult; /** - * The optionally-associated harvest set for this mapping. + * Whether the current user has permission to create collections under this entity. * */ - harvestSet?: Maybe; + canCreateCollections: AuthorizationResult; /** - * The harvest source this belongs to. + * Whether the current user has permission to create items under this entity. * */ - harvestSource: HarvestSource; - id: Scalars['ID']['output']; + canCreateItems: AuthorizationResult; /** - * This timestamp signifies when the harvest mapping last tried to schedule its - * attempts (if applicable). + * Whether the current user has permission to deposit a new entity into this one. * */ - lastScheduledAt?: Maybe; + canDeposit: AuthorizationResult; /** - * Options that control mapping of entities during the harvesting process. + * Whether the current user has permission to manage access to this entity. + * + * This opens up `grantAccess` and `revokeAccess` mutations. * */ - mappingOptions: HarvestOptionsMapping; + canManageAccess: AuthorizationResult; /** - * The metadata format used by this source / mapping. - * - * Fixed at creation time for now. + * Whether the current user has permission to purge this entity. * */ - metadataFormat: HarvestMetadataFormat; + canPurge: AuthorizationResult; /** - * Whether this mapping is `MANUAL` or `SCHEDULED`. This field is not set - * through the admin section, but derived from parsing the mapping's - * `frequencyExpression`. + * Whether the current user has permission to reparent this entity. * - * `SCHEDULED` mappings will automatically create `HarvestAttempt`s - * for the next several iterations of their `frequencyExpression`. + * Submission drafts will be denied, even if the user would otherwise have permission. * */ - mode: HarvestScheduleMode; + canReparent: AuthorizationResult; /** - * Options that control reading from the source. + * Whether the current user has permission to revalidate this entity. * */ - readOptions: HarvestOptionsRead; + canRevalidate: AuthorizationResult; /** - * This timestamp signifies the last time the frequency expression, or any - * of its derived fields, were changed. + * Whether the current user has permission to review deposits to this entity. * */ - scheduleChangedAt?: Maybe; + canReview: AuthorizationResult; /** - * Derived information about the frequency expression (if valid and applicable), - * to provide insight for introspection. + * THe current submission status of this entity. Is it a draft, published, or unrelated? * */ - scheduleData: HarvestScheduleData; - slug: Scalars['Slug']['output']; + submissionStatus: EntitySubmissionStatus; /** - * The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified. + * The submission target that this entity can be submitted to, if any. * */ - targetEntity: HarvestTarget; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - - -/** - * A specific mapping to be used by a `HarvestSource`, - * possibly an optional `HarvestSet`, and other options - * in order to harvest records from the source and produce - * entities. - * - * It can produce a `HarvestAttempt`. - * - */ -export type HarvestMappingHarvestAttemptsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * A specific mapping to be used by a `HarvestSource`, - * possibly an optional `HarvestSet`, and other options - * in order to harvest records from the source and produce - * entities. - * - * It can produce a `HarvestAttempt`. - * - */ -export type HarvestMappingHarvestMessagesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; + submissionTarget?: Maybe; }; - /** - * A specific mapping to be used by a `HarvestSource`, - * possibly an optional `HarvestSet`, and other options - * in order to harvest records from the source and produce - * entities. - * - * It can produce a `HarvestAttempt`. + * A property that references another entity within the system. * */ -export type HarvestMappingHarvestRecordsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - -/** The connection type for HarvestMapping. */ -export type HarvestMappingConnection = Paginated & { - __typename?: 'HarvestMappingConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** Autogenerated input type of HarvestMappingCreate */ -export type HarvestMappingCreateInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; +export type EntityProperty = HasAvailableEntities & ScalarProperty & SchemaProperty & { + __typename?: 'EntityProperty'; /** - * The extraction mapping template used for this harvesting-related record - * at its place in the hierarchy. It is an XML document that describes how - * to map various types of metadata from the harvested records and transform - * that data into entities in Meru. + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. * - * For harvest sources, it can be considered the default mapping template - * for any record in the system, and should be used to pre-populate - * attempts that are created by the source, as well as future plans to - * allow for extracting a single record by external ID that may not have - * yet been fetched by an extract records process. + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. * - * For harvest mappings, it can be considered the default mapping template - * for any attempt created by the mapping. + */ + array: Scalars['Boolean']['output']; + /** + * Expose all available entities for this schema property. * - * For any harvesting data that exists prior to the harvesting refactor - * completed during March of 2025, it's possible for this value to be - * an empty string. Any modifications to mappings and sources from that - * time will need to add a valid mapping template in order to succeed. + */ + availableEntities: Array; + /** + * A human-readable description for the property. It should describe the purpose of the + * property as well as some details about the types of values it looks for. * - * See `Query.harvestExamples` for examples of valid mapping templates. + * It can be rendered as help text, hints, etc. * */ - extractionMappingTemplate: Scalars['String']['input']; + description?: Maybe; /** - * This can be a cron expression as well as a human-readable expression like - * `"every sunday at 5 am America/Los_Angeles"`. - * The system will attempt to validate and parse the expression when setting - * it in order to make sure it is something that Meru can handle. + * A single reference to another entity within the system. * */ - frequencyExpression?: InputMaybe; + entity?: Maybe; /** - * An optional set to associate with the mapping. + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. * - * This cannot be changed since mappings are intricately tied to their set (if applicable). + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. * */ - harvestSetId?: InputMaybe; + function: SchemaPropertyFunction; /** - * The harvest source to create the mapping for. + * Instructions for filling out this property during submission, if applicable. * - * This cannot be changed since mappings are intricately tied to sources. + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. * */ - harvestSourceId: Scalars['ID']['input']; + isWide: Scalars['Boolean']['output']; /** - * Options that control mapping of entities during the harvesting process. + * Provided for introspection. This describes the underlying structure of the data type. * */ - mappingOptions?: InputMaybe; + kind: SchemaPropertyKind; /** - * The metadata format for this mapping to use, which can be different from the Harvest Source. + * A human-readable label for the schema property. * - * It should default to whatever the harvest source uses. + */ + label: Scalars['String']['output']; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. * */ - metadataFormat: HarvestMetadataFormat; + orderable: Scalars['Boolean']['output']; /** - * Options that control reading from the source. + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. * */ - readOptions?: InputMaybe; + path: Scalars['String']['output']; /** - * The community or collection to target for this mapping. + * Whether or not this property is required in order for the schema instance + * to be considered valid. * - * This can be changed if the mapping needs to be retargeted in the hierarchy. + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. * */ - targetEntityId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of HarvestMappingCreate. */ -export type HarvestMappingCreatePayload = StandardMutationPayload & { - __typename?: 'HarvestMappingCreatePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + required: Scalars['Boolean']['output']; /** - * The newly-modified harvest mapping, if successful. + * Whether or not this property should be displayed as part of the submission process for this schema. * */ - harvestMapping?: Maybe; + submittable: Scalars['Boolean']['output']; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; }; -/** Autogenerated input type of HarvestMappingDestroy */ -export type HarvestMappingDestroyInput = { +/** Autogenerated input type of EntityPurge */ +export type EntityPurgeInput = { /** A unique identifier for the client performing the mutation. */ clientMutationId?: InputMaybe; /** - * The harvest mapping to destroy. + * The entity to destroy. * */ - harvestMappingId: Scalars['ID']['input']; + entityId: Scalars['ID']['input']; }; -/** Autogenerated return type of HarvestMappingDestroy. */ -export type HarvestMappingDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'HarvestMappingDestroyPayload'; +/** Autogenerated return type of EntityPurge. */ +export type EntityPurgePayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'EntityPurgePayload'; attributeErrors: Array; /** A unique identifier for the client performing the mutation. */ clientMutationId?: Maybe; @@ -8517,357 +9497,311 @@ export type HarvestMappingDestroyPayload = DestroyMutationPayload & StandardMuta destroyed?: Maybe; /** The ID of the deleted model */ destroyedId?: Maybe; + /** + * The root entity that is to be purged. + * + * Note that it may not exist for very long. + * + */ + entity?: Maybe; /** @deprecated Use attributeErrors or globalErrors */ errors: Array; globalErrors: Array; /** Not presently used */ haltCode?: Maybe; -}; - -/** An edge in a connection. */ -export type HarvestMappingEdge = { - __typename?: 'HarvestMappingEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: HarvestMapping; + /** + * Whether or not a job was enqueued. + * + */ + jobEnqueued?: Maybe; }; /** - * Sort a collection of `HarvestMapping` records by specific properties and directions. + * This type is used for authorization and filtering, and can + * distinguish an entity that has been linked to another from + * one that exists directly in a hierarchy. * */ -export type HarvestMappingOrder = - /** Sort harvest mappings by their default order. */ - | 'DEFAULT' - /** Sort harvest mappings by oldest created date. */ - | 'OLDEST' - /** Sort harvest mappings by newest created date. */ - | 'RECENT' - | '%future added value'; - -/** Autogenerated input type of HarvestMappingUpdate */ -export type HarvestMappingUpdateInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; +export type EntityScope = /** - * The extraction mapping template used for this harvesting-related record - * at its place in the hierarchy. It is an XML document that describes how - * to map various types of metadata from the harvested records and transform - * that data into entities in Meru. - * - * For harvest sources, it can be considered the default mapping template - * for any record in the system, and should be used to pre-populate - * attempts that are created by the source, as well as future plans to - * allow for extracting a single record by external ID that may not have - * yet been fetched by an extract records process. - * - * For harvest mappings, it can be considered the default mapping template - * for any attempt created by the mapping. - * - * For any harvesting data that exists prior to the harvesting refactor - * completed during March of 2025, it's possible for this value to be - * an empty string. Any modifications to mappings and sources from that - * time will need to add a valid mapping template in order to succeed. - * - * See `Query.harvestExamples` for examples of valid mapping templates. + * A `Collection` that is an actual descendant at this point in the hierarchy. * */ - extractionMappingTemplate: Scalars['String']['input']; + | 'COLLECTION' /** - * This can be a cron expression as well as a human-readable expression like - * `"every sunday at 5 am America/Los_Angeles"`. - * The system will attempt to validate and parse the expression when setting - * it in order to make sure it is something that Meru can handle. + * A `Collection` that was linked from another `Collection`. * */ - frequencyExpression?: InputMaybe; + | 'COLLECTION_LINKED_COLLECTION' /** - * The harvest mapping to update. + * A `Community` that was linked from a `Collection`. * */ - harvestMappingId: Scalars['ID']['input']; + | 'COLLECTION_LINKED_COMMUNITY' /** - * Options that control mapping of entities during the harvesting process. + * An `Item` that was linked from a `Collection`. * */ - mappingOptions?: InputMaybe; + | 'COLLECTION_LINKED_ITEM' /** - * Options that control reading from the source. + * A `Community` that is an actual descendant at this point in the hierarchy. * */ - readOptions?: InputMaybe; + | 'COMMUNITY' /** - * The community or collection to target for this mapping. - * - * This can be changed if the mapping needs to be retargeted in the hierarchy. + * A `Collection` that was linked from a `Community`. * */ - targetEntityId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of HarvestMappingUpdate. */ -export type HarvestMappingUpdatePayload = StandardMutationPayload & { - __typename?: 'HarvestMappingUpdatePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + | 'COMMUNITY_LINKED_COLLECTION' /** - * The newly-modified harvest mapping, if successful. + * A `Community` that was linked from another `Community`. * */ - harvestMapping?: Maybe; -}; - -/** - * A single log message recorded during some aspect of harvesting. - * - */ -export type HarvestMessage = Node & Sluggable & { - __typename?: 'HarvestMessage'; + | 'COMMUNITY_LINKED_COMMUNITY' /** - * The time the message occurred. This field should be favored at - * for display over the model's default `createdAt` field. + * An `Item` that was linked from a `Community`. * */ - at: Scalars['ISO8601DateTime']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + | 'COMMUNITY_LINKED_ITEM' /** - * The harvest attempt associatd with the message, if available. + * An `Item` that is an actual descendant at this point in the hierarchy. * */ - harvestAttempt?: Maybe; + | 'ITEM' /** - * The harvest entity associatd with the message, if available. + * A `Collection` that was linked from an `Item`. * */ - harvestEntity?: Maybe; + | 'ITEM_LINKED_COLLECTION' /** - * The harvest mapping associatd with the message, if available. + * A `Community` that was linked from an `Item`. * */ - harvestMapping?: Maybe; + | 'ITEM_LINKED_COMMUNITY' /** - * The harvest record associatd with the message, if available. + * An `Item` that was linked from another `Item`. * */ - harvestRecord?: Maybe; + | 'ITEM_LINKED_ITEM' + | '%future added value'; + +/** A select option for a single entity */ +export type EntitySelectOption = HasEntityBreadcrumbs & { + __typename?: 'EntitySelectOption'; + /** Previous entries in the hierarchy */ + breadcrumbs: Array; + entity: Entity; + kind: EntityKind; + label: Scalars['String']['output']; + schemaVersion: SchemaVersion; + slug: Scalars['Slug']['output']; + value: Scalars['ID']['output']; +}; + +/** + * An enum describing the submission state of an actual entity record. + * + * It can have an effect on the visibility and available of records from the frontend. + * + */ +export type EntitySubmissionStatus = /** - * The harvest source associated with the message. + * This entity has a submission in draft state. * - */ - harvestSource?: Maybe; - id: Scalars['ID']['output']; - /** - * The level of severity of the message. + * It will not be visible nor available from the frontend until it is published. * */ - level: HarvestMessageLevel; + | 'SUBMISSION_DRAFT' /** - * The message itself. + * This entity has a submission in published state. + * + * It will be visible and available from the frontend. * */ - message: Scalars['String']['output']; - slug: Scalars['Slug']['output']; + | 'SUBMISSION_PUBLISHED' /** - * Tags associated with the message. This may describe what section - * of the harvesting system triggered the message, and may support - * querying in the future. + * This entity has no submission associated with it. + * + * Its submission state has no effect on the visibility nor availability of the entity from the frontend. * */ - tags: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; + | 'UNSUBMITTED' + | '%future added value'; -/** The connection type for HarvestMessage. */ -export type HarvestMessageConnection = Paginated & { - __typename?: 'HarvestMessageConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; +/** The level of visibility an entity can have */ +export type EntityVisibility = + | 'HIDDEN' + | 'LIMITED' + | 'VISIBLE' + | '%future added value'; -/** An edge in a connection. */ -export type HarvestMessageEdge = { - __typename?: 'HarvestMessageEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: HarvestMessage; +/** + * Filter entities by their visibility. + * + * `VISIBLE` is the default in most cases. Any other option requires special privileges. + * + */ +export type EntityVisibilityFilter = + /** Do not filter entities by their visibility at all. */ + | 'ALL' + /** Fetch only *currently hidden* entities. */ + | 'HIDDEN' + /** Fetch only *currently visible* entities. */ + | 'VISIBLE' + | '%future added value'; + +/** + * Require that `path = value`. + * + */ +export type EqualsOperatorInput = { + path: Scalars['String']['input']; + value: Scalars['JSON']['input']; }; /** - * Filters for HarvestMessage. + * A common interface for something that exposes contextual permissions. * */ -export type HarvestMessageFilterInput = { - severity?: InputMaybe; +export type ExposesPermissions = { + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; +}; + +export type FailureReasons = { + __typename?: 'FailureReasons'; + /** JSON-encoded map of reasons */ + details: Scalars['String']['output']; + /** Human-readable errors */ + fullMessages: Array; }; /** - * Levels of severity associated with `HarvestMessage`s. + * Filter a value with various constraints. If no values are provided to any + * operator, this filter will be ignored. * - * `FATAL` is the most severe, `TRACE` is the least. + * **Note**: The server will _not_ try to check for logical impossibilities, + * e.g. `{ lt: 5, gteq: 10 }`. Input like this will match nothing. * */ -export type HarvestMessageLevel = - /** - * Debug information about the harvesting system. - * - * May be hidden by default when displaying. - * - */ - | 'DEBUG' +export type FilterMatchTimeInput = { + /** Value to compare with using the `eq` operator. */ + eq?: InputMaybe; + /** Value to compare with using the `gt` operator. */ + gt?: InputMaybe; + /** Value to compare with using the `gteq` operator. */ + gteq?: InputMaybe; + /** Value to compare with using the `lt` operator. */ + lt?: InputMaybe; + /** Value to compare with using the `lteq` operator. */ + lteq?: InputMaybe; + /** Value to compare with using the `not_eq` operator. */ + notEq?: InputMaybe; +}; + +export type FloatProperty = ScalarProperty & SchemaProperty & SearchableProperty & { + __typename?: 'FloatProperty'; /** - * An error that may or may not have interrupted a harvesting operation, - * but could, for instance, just indicate that a single record failed. + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. * - */ - | 'ERROR' - /** - * A fatal error which likely caused an entire harvesting operation to stop. + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. * */ - | 'FATAL' + array: Scalars['Boolean']['output']; + defaultFloat?: Maybe; + description?: Maybe; + floatValue?: Maybe; /** - * Informational messages that are higher priority than debug messages. + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. * */ - | 'INFO' + fullPath: Scalars['String']['output']; /** - * Very low-level trace messages that may be used in the future - * to narrow down specific / performance issues with harvesting, - * but at present likely won't appear. - * - * Should be hidden by default when displaying. + * The purpose or intent of this property relative to its entity, parents, and others. * */ - | 'TRACE' + function: SchemaPropertyFunction; /** - * Warnings about validation failures and similar things. + * Instructions for filling out this property during submission, if applicable. * */ - | 'WARN' - | '%future added value'; - -/** - * Supported metadata formats for harvesting. - * - * `HarvestProtocol` describes the transport method for individual records to be harvested, - * while `HarvestMetadataFormat` describes the structure of the data. - * - */ -export type HarvestMetadataFormat = + instructions?: Maybe; /** - * [Esploro Records](https://developers.exlibrisgroup.com/esploro/apis/xsd/esploro_record.xsd/) + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. * */ - | 'ESPLORO' + isWide: Scalars['Boolean']['output']; /** - * [Journal Article Tag Suite](https://jats.nlm.nih.gov/) + * Provided for introspection. This describes the underlying structure of the data type. * */ - | 'JATS' + kind: SchemaPropertyKind; + label: Scalars['String']['output']; /** - * [Metadata Encoding and Transmission Standard](https://www.loc.gov/standards/mets/) + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. * */ - | 'METS' + orderable: Scalars['Boolean']['output']; /** - * [Metadata Object Description Schema](https://www.loc.gov/standards/mods/) + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. * */ - | 'MODS' + path: Scalars['String']['output']; /** - * [OAI-PMH Dublin Core](https://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#dublincore) + * Whether or not this property is required in order for the schema instance + * to be considered valid. * - */ - | 'OAIDC' - /** - * Pressbooks 'Book' response + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. * */ - | 'PRESSBOOKS' - | '%future added value'; - -/** - * An advanced definition that allows mapping specific existing entities to act as parents - * for certain harvested entities, based on their metadata matching a specific mapping. - * - */ -export type HarvestMetadataMapping = Node & Sluggable & { - __typename?: 'HarvestMetadataMapping'; - createdAt: Scalars['ISO8601DateTime']['output']; + required: Scalars['Boolean']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; /** - * Which "field" this should try to match its `pattern` against. + * Whether or not this property should be displayed as part of the submission process for this schema. * */ - field: HarvestMetadataMappingField; - id: Scalars['ID']['output']; + submittable: Scalars['Boolean']['output']; /** - * A regular expression / pattern to match against. Must be written to support postgres regular expressions, - * which are more limited than most modern languages but follow the ANSI spec as much as possible. + * Provided for introspection. This represents the actual data type this property + * uses. * - */ - pattern: Scalars['String']['output']; - slug: Scalars['Slug']['output']; - /** - * The entity that will act as the parent when this metadata mapping is matched. + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. * */ - targetEntity: HarvestTarget; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -/** The connection type for HarvestMetadataMapping. */ -export type HarvestMetadataMappingConnection = Paginated & { - __typename?: 'HarvestMetadataMappingConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; + type: SchemaPropertyType; }; -/** Autogenerated input type of HarvestMetadataMappingCreate */ -export type HarvestMetadataMappingCreateInput = { +/** Autogenerated input type of FrontendCacheRevalidateEntity */ +export type FrontendCacheRevalidateEntityInput = { /** A unique identifier for the client performing the mutation. */ clientMutationId?: InputMaybe; /** - * Which "field" this should try to match its `pattern` against. - * - */ - field: HarvestMetadataMappingField; - /** - * The source to create the harvest metadata mapping for. - * - */ - harvestSourceId: Scalars['ID']['input']; - /** - * A regular expression / pattern to match against. Must be written to support postgres regular expressions, - * which are more limited than most modern languages but follow the ANSI spec as much as possible. - * - */ - pattern: Scalars['String']['input']; - /** - * The entity that will act as the parent when this metadata mapping is matched. + * The entity to update. * */ - targetEntityId: Scalars['ID']['input']; + entityId: Scalars['ID']['input']; }; -/** Autogenerated return type of HarvestMetadataMappingCreate. */ -export type HarvestMetadataMappingCreatePayload = StandardMutationPayload & { - __typename?: 'HarvestMetadataMappingCreatePayload'; +/** Autogenerated return type of FrontendCacheRevalidateEntity. */ +export type FrontendCacheRevalidateEntityPayload = StandardMutationPayload & { + __typename?: 'FrontendCacheRevalidateEntityPayload'; attributeErrors: Array; /** A unique identifier for the client performing the mutation. */ clientMutationId?: Maybe; @@ -8877,776 +9811,684 @@ export type HarvestMetadataMappingCreatePayload = StandardMutationPayload & { /** Not presently used */ haltCode?: Maybe; /** - * The newly-modified harvest metadata mapping, if successful. + * Whether the revalidation request was successfully performed. * */ - harvestMetadataMapping?: Maybe; + revalidated?: Maybe; }; -/** Autogenerated input type of HarvestMetadataMappingDestroy */ -export type HarvestMetadataMappingDestroyInput = { +/** Autogenerated input type of FrontendCacheRevalidateInstance */ +export type FrontendCacheRevalidateInstanceInput = { /** A unique identifier for the client performing the mutation. */ clientMutationId?: InputMaybe; - /** - * The harvest metadata mapping to destroy. - * - */ - harvestMetadataMappingId: Scalars['ID']['input']; }; -/** Autogenerated return type of HarvestMetadataMappingDestroy. */ -export type HarvestMetadataMappingDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'HarvestMetadataMappingDestroyPayload'; +/** Autogenerated return type of FrontendCacheRevalidateInstance. */ +export type FrontendCacheRevalidateInstancePayload = StandardMutationPayload & { + __typename?: 'FrontendCacheRevalidateInstancePayload'; attributeErrors: Array; /** A unique identifier for the client performing the mutation. */ clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; /** @deprecated Use attributeErrors or globalErrors */ errors: Array; globalErrors: Array; /** Not presently used */ haltCode?: Maybe; -}; - -/** An edge in a connection. */ -export type HarvestMetadataMappingEdge = { - __typename?: 'HarvestMetadataMappingEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: HarvestMetadataMapping; -}; - -/** - * An enum describing which "field" to match on. An individual record - * can try to match any number of fields in order to satisfy its mappings. - * - */ -export type HarvestMetadataMappingField = - /** - * Some sort of identifier for the record itself. - * - */ - | 'IDENTIFIER' - /** - * Some sort of relationship identifier for the record. - * - */ - | 'RELATION' /** - * An attempt to map records based on their title value(s) to existing collections. + * Whether the revalidation request was successfully performed. * */ - | 'TITLE' - | '%future added value'; + revalidated?: Maybe; +}; -/** - * Sort a collection of `HarvestMetadataMapping` records by specific properties and directions. - * - */ -export type HarvestMetadataMappingOrder = - /** Sort harvest metadata mappings by their default order. */ - | 'DEFAULT' - /** Sort harvest metadata mappings by oldest created date. */ - | 'OLDEST' - /** Sort harvest metadata mappings by newest created date. */ - | 'RECENT' +/** A full-text searchable value for an entity */ +export type FullText = { + __typename?: 'FullText'; + /** The full-text searchable value itself */ + content?: Maybe; + /** The content type for the text, if any */ + kind?: Maybe; + /** The ISO-639 language code of this content, if any */ + lang?: Maybe; +}; + +/** It is necessary for the system to know what kind the content is in order to properly index it */ +export type FullTextKind = + | 'HTML' + | 'MARKDOWN' + | 'TEXT' | '%future added value'; -/** - * An enum which describes how harvesting actions will affect - * a given record. - * - */ -export type HarvestModificationStatus = +export type FullTextProperty = ScalarProperty & SchemaProperty & SearchableProperty & { + __typename?: 'FullTextProperty'; /** - * This record was created through harvesting actions and **has** - * been modified in the admin section. Harvest + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. * - * Harvesting actions will leave this record alone. + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. * */ - | 'MODIFIED' + array: Scalars['Boolean']['output']; + description?: Maybe; /** - * This record was created through harvesting actions and **has not** - * been modified in the admin section. - * - * Harvesting actions will overwrite any data if they encounter this record again. + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. * */ - | 'PRISTINE' + fullPath: Scalars['String']['output']; + fullText?: Maybe; /** - * This record was not created through harvesting actions. - * - * Should harvesting actions end up matching an unharvested record, - * it will change this value to `MODIFIED` and treat it as such. + * The purpose or intent of this property relative to its entity, parents, and others. * */ - | 'UNHARVESTED' - | '%future added value'; - -/** - * Options that control mapping of entities during the harvesting process. - * - */ -export type HarvestOptionsMapping = { - __typename?: 'HarvestOptionsMapping'; + function: SchemaPropertyFunction; /** - * Harvesting certain journals may require creating volumes/issues automatically. + * Instructions for filling out this property during submission, if applicable. * */ - autoCreateVolumesAndIssues: Scalars['Boolean']['output']; + instructions?: Maybe; /** - * When linking to existing entities, it may be necessary to use global identifiers, - * as there may be some entities that are created outside of a specific harvesting - * attempt, or exist elsewhere in the hierarchy. + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. * - * This will look for a globally unique identifier for an entity, and fail if it finds - * duplicates. + */ + isWide: Scalars['Boolean']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. * */ - linkIdentifiersGlobally: Scalars['Boolean']['output']; + kind: SchemaPropertyKind; + label: Scalars['String']['output']; /** - * When resolving to existing entities, the system may rely on - * metadata mappings to figure out where something should go based - * on the presence of certain fields in the metadata. + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. * */ - useMetadataMappings: Scalars['Boolean']['output']; -}; - -/** - * Options that control mapping of entities during the harvesting process. - * - */ -export type HarvestOptionsMappingInput = { + orderable: Scalars['Boolean']['output']; /** - * Harvesting certain journals may require creating volumes/issues automatically. + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. * */ - autoCreateVolumesAndIssues?: InputMaybe; + path: Scalars['String']['output']; /** - * When linking to existing entities, it may be necessary to use global identifiers, - * as there may be some entities that are created outside of a specific harvesting - * attempt, or exist elsewhere in the hierarchy. + * Whether or not this property is required in order for the schema instance + * to be considered valid. * - * This will look for a globally unique identifier for an entity, and fail if it finds - * duplicates. + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. * */ - linkIdentifiersGlobally?: InputMaybe; + required: Scalars['Boolean']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; /** - * When resolving to existing entities, the system may rely on - * metadata mappings to figure out where something should go based - * on the presence of certain fields in the metadata. + * Whether or not this property should be displayed as part of the submission process for this schema. * */ - useMetadataMappings?: InputMaybe; -}; - -/** - * Options that control reading from the source. - * - */ -export type HarvestOptionsRead = { - __typename?: 'HarvestOptionsRead'; + submittable: Scalars['Boolean']['output']; /** - * The maximum number of records to read from the source per attempt. + * Provided for introspection. This represents the actual data type this property + * uses. * - * The system will not paginate beyond this count. + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. * */ - maxRecords: Scalars['Int']['output']; + type: SchemaPropertyType; }; /** - * Options that control reading from the source. + * An input object representing the parameters for a full-text search query. * */ -export type HarvestOptionsReadInput = { +export type FullTextSearchQueryInput = { /** - * The maximum number of records to read from the source per attempt. + * The query to search by. * - * The system will not paginate beyond this count. + */ + needle?: InputMaybe; + /** + * The search strategy to use, either "PREFIX" for prefix matching or "FUZZY" for fuzzy query matching. * */ - maxRecords?: InputMaybe; + strategy?: InputMaybe; }; /** - * Protocols for harvesting. Only `OAI` is presently supported. - * - * `HarvestProtocol` describes the transport method for individual records to be harvested, - * while `HarvestMetadataFormat` describes the structure of the data. + * The strategy to use for full-text search queries. * */ -export type HarvestProtocol = +export type FullTextSearchStrategy = /** - * [OAI-PMH](https://www.openarchives.org/OAI/2.0/guidelines.htm) + * This will look for an exact match of the provided needle. * */ - | 'OAI' + | 'EXACT' /** - * [Pressbooks API](https://pressbooks.org/dev-guides/rest-api/) + * This uses a "fuzzy" full-text websearch strategy, + * which supports using quotation marks and negation. * */ - | 'PRESSBOOKS' + | 'FUZZY' /** - * A fallback value for protocols that should not appear under normal circumstances. + * This will try to match beginnings of words in the provided needle. * */ - | 'UNKNOWN' + | 'PREFIX' | '%future added value'; /** - * The selection criteria for pruning entities from a harvest. + * A global ACL that applies to a given role. + * + * Permissions defined in this ACL are not scoped to any particular entity. * */ -export type HarvestPruneMode = +export type GlobalAccessControlList = ExposesPermissions & { + __typename?: 'GlobalAccessControlList'; /** - * Prune **all** entities that have been harvested by the source or attempt. + * Permissions related to the admin section of Meru. * */ - | 'EVERYTHING' + admin: AdminPermissionGrid; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; /** - * Prune **only** unmodified harvested entities. - * - * Note that unmodified entities _may_ be left behind - * if one of their child entities has been modified. + * Permissions related to communities, aka top-level entities. * */ - | 'UNMODIFIED' - | '%future added value'; - -/** - * An object representing a single record in the `HarvestSource`. - * It can produce one or more harvest entities. - * - */ -export type HarvestRecord = HasHarvestErrors & HasHarvestMetadataFormat & Node & QueriesHarvestMessage & Sluggable & { - __typename?: 'HarvestRecord'; - createdAt: Scalars['ISO8601DateTime']['output']; + communities: EntityPermissionGrid; /** - * The number of entities this record can/will produce (if available). + * Permissions related to contributors. * */ - entityCount?: Maybe; + contributors: ContributorPermissionGrid; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; /** - * Staged entities that were extracted from this record. + * Permissions related to managing role records in Meru. * */ - harvestEntities: Array; + roles: RolePermissionGrid; /** - * A list of errors that are associated with this harvesting type. + * Permissions related to managing global configuration settings in Meru. * */ - harvestErrors: Array; - harvestMessages: HarvestMessageConnection; + settings: SettingsPermissionGrid; /** - * The harvest source this belongs to. + * Permissions related to managing user records in Meru. * */ - harvestSource: HarvestSource; - id: Scalars['ID']['output']; + users: UserPermissionGrid; +}; + +/** The global configuration for this installation of Meru. */ +export type GlobalConfiguration = Node & { + __typename?: 'GlobalConfiguration'; /** - * A unique identifier for the record within the `HarvestSource`. + * Global configuration for contribution roles. * */ - identifier: Scalars['String']['output']; - jsonMetadataSource?: Maybe; + contributionRoles: ContributionRoleConfiguration; + /** Settings specific to contributors on this installation. */ + contributors: ContributorsSettings; + /** Settings specific to depositing to this installation. */ + depositing: DepositingSettings; + /** Settings specific to how entities should behave on this installation. */ + entities: EntitiesSettings; + id: Scalars['ID']['output']; + /** Settings specific to this institution. */ + institution: InstitutionSettings; + /** The logo attachment. It may not always be present. */ + logo: SiteLogoAttachment; + /** Configurable metadata for the logo attachment. */ + logoMetadata?: Maybe; + /** Settings specific to this site */ + site: SiteSettings; + /** Settings specific to the site's theme */ + theme: ThemeSettings; +}; + +/** Autogenerated input type of GrantAccess */ +export type GrantAccessInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + entityId: Scalars['ID']['input']; + roleId: Scalars['ID']['input']; + userId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of GrantAccess. */ +export type GrantAccessPayload = StandardMutationPayload & { + __typename?: 'GrantAccessPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + entity?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Whether or not access was granted */ + granted?: Maybe; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** + * A schema property that groups other schema properties together underneath a `path`. + * + */ +export type GroupProperty = SchemaProperty & { + __typename?: 'GroupProperty'; /** - * The metadata format used by this source / mapping. + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. * - * Fixed at creation time for now. + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. * */ - metadataFormat: HarvestMetadataFormat; + array: Scalars['Boolean']['output']; /** - * The raw metadata extracted from `rawSource`, with minimal processing applied. + * A human-readable description for the property. It should describe the purpose of the + * property as well as some details about the types of values it looks for. * - * When rendering in the frontend, this should be in some sort of fixed-width font / code view, - * as it will be JSON, XML, or similar types of data. + * It can be rendered as help text, hints, etc. * */ - rawMetadataSource?: Maybe; + description?: Maybe; /** - * The raw source extracted from the protocol. + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. * - * When rendering in the frontend, this should be in some sort of fixed-width font / code view, - * as it will be JSON, XML, or similar types of data. + */ + fullPath: Scalars['String']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. * */ - rawSource?: Maybe; - slug: Scalars['Slug']['output']; + kind: SchemaPropertyKind; + /** The legend / label for this group property. */ + legend?: Maybe; /** - * The status of the record. + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. * */ - status: HarvestRecordStatus; + orderable: Scalars['Boolean']['output']; /** - * An enum describing how the `rawSource` / `rawMetadataSource` is encoded. + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. * */ - underlyingDataFormat: UnderlyingDataFormat; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - - -/** - * An object representing a single record in the `HarvestSource`. - * It can produce one or more harvest entities. - * - */ -export type HarvestRecordHarvestMessagesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - -/** The connection type for HarvestRecord. */ -export type HarvestRecordConnection = Paginated & { - __typename?: 'HarvestRecordConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** An edge in a connection. */ -export type HarvestRecordEdge = { - __typename?: 'HarvestRecordEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: HarvestRecord; + path: Scalars['String']['output']; + /** The list of (scalar) schema properties contained within this group. */ + properties: Array; + /** Whether this property is required to have a value. */ + required: Scalars['Boolean']['output']; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; }; /** - * Sort a collection of `HarvestRecord` records by specific properties and directions. - * - */ -export type HarvestRecordOrder = - /** Sort harvest records by their default order. */ - | 'DEFAULT' - /** Sort harvest records by oldest created date. */ - | 'OLDEST' - /** Sort harvest records by newest created date. */ - | 'RECENT' - | '%future added value'; - -/** - * A harvested record can exist in a number of statuses. + * A record of a single attempt at harvesting. * */ -export type HarvestRecordStatus = +export type HarvestAttempt = CommonModel & CommonPermissions & HasDefaultTimestamps & HasHarvestErrors & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & Node & QueriesHarvestMessage & Sluggable & { + __typename?: 'HarvestAttempt'; /** - * An record that is considered active and ready to be extracted into entities. + * The time the attempt began. * */ - | 'ACTIVE' + beganAt?: Maybe; /** - * A record that was deleted in the upstream harvest source. + * Whether the current user has permission to destroy this record. * */ - | 'DELETED' + canDestroy: AuthorizationResult; /** - * A brand new record that hasn't been processed yet. + * Whether the current user has permission to update this record. * */ - | 'PENDING' + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * A record that was skipped over for some validation reason. + * The current state of the attempt. * */ - | 'SKIPPED' - | '%future added value'; - -export type HarvestScheduleData = { - __typename?: 'HarvestScheduleData'; + currentState: HarvestAttemptState; /** - * The frequency expression as a cron statement, regardless - * of its original syntax. + * The time the attempt ended. * */ - cronExpression?: Maybe; + endedAt?: Maybe; /** - * The maximum frequency between occurrences, expressed as a duration. + * A progress report for entity data during a harvest attempt. * */ - frequencyMax?: Maybe; + entityStatus?: Maybe; /** - * The minimum frequency between occurrences, expressed as a duration. + * The extraction mapping template used for this harvesting-related record + * at its place in the hierarchy. It is an XML document that describes how + * to map various types of metadata from the harvested records and transform + * that data into entities in Meru. + * + * For harvest sources, it can be considered the default mapping template + * for any record in the system, and should be used to pre-populate + * attempts that are created by the source, as well as future plans to + * allow for extracting a single record by external ID that may not have + * yet been fetched by an extract records process. + * + * For harvest mappings, it can be considered the default mapping template + * for any attempt created by the mapping. + * + * For any harvesting data that exists prior to the harvesting refactor + * completed during March of 2025, it's possible for this value to be + * an empty string. Any modifications to mappings and sources from that + * time will need to add a valid mapping template in order to succeed. + * + * See `Query.harvestExamples` for examples of valid mapping templates. * */ - frequencyMin?: Maybe; + extractionMappingTemplate: Scalars['String']['output']; /** - * If the frequency expression included time zone information, - * this will expose which time zone is being used. Otherwise, - * the frequency will use the Meru installation time zone. + * A list of errors that are associated with this harvesting type. + * + * @deprecated Harvest errors are no longer returned nor generated. Check the harvest messages instead. * */ - timeZone?: Maybe; -}; - -/** - * Harvest schedule mode enum - * - */ -export type HarvestScheduleMode = - | 'MANUAL' - | 'SCHEDULED' - | '%future added value'; - -/** - * The concept of a "set" within a given `HarvestSource`. It can be used in order to fetch - * a subset of data with a `HarvestMapping`. These are not created directly in Meru, but - * instead are fetched by the `HarvestSource` and internally managed based on its `protocol`. - * - */ -export type HarvestSet = Node & Sluggable & { - __typename?: 'HarvestSet'; - createdAt: Scalars['ISO8601DateTime']['output']; + harvestErrors: Array; /** - * An optional description for the set (if available). + * An optional mapping that may have constrained the harvest attempt. * */ - description?: Maybe; + harvestMapping?: Maybe; + harvestMessages: HarvestMessageConnection; /** - * The source for the harvest set. + * Records associated with this attempt specifically. * */ - harvestSource: HarvestSource; - id: Scalars['ID']['output']; + harvestRecords: HarvestRecordConnection; /** - * A unique, machine-readable string that identifies the set for the specific source. + * An optional set that may have constrained the harvest attempt. * */ - identifier: Scalars['String']['output']; + harvestSet?: Maybe; /** - * A human-readable name that describes the set (if available). + * The source associated with the attempt. * */ - name: Scalars['String']['output']; - slug: Scalars['Slug']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; + harvestSource: HarvestSource; + id: Scalars['ID']['output']; + /** + * The metadata format used by this source / mapping. + * + * Fixed at creation time for now. + * + */ + metadataFormat: HarvestMetadataFormat; + /** + * Whether this attempt is `MANUAL` or `SCHEDULED`. This field is not set + * through the admin section, but derived from how the attempt was created. + * + * `SCHEDULED` attempts are created by Meru internally + * based on their `harvestMapping`'s configuration. + * + */ + mode: HarvestScheduleMode; + /** + * An optional note for this harvesting attempt. + * + */ + note?: Maybe; + /** + * The number of records (if available). + * + */ + recordCount?: Maybe; + /** + * A progress report for record data during a harvest attempt. + * + */ + recordStatus?: Maybe; + /** + * This specifies the time the attempt is scheduled to run at, if the `mode` is `SCHEDULED`. + * + */ + scheduledAt?: Maybe; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified. + * + */ + targetEntity: HarvestTarget; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** The connection type for HarvestSet. */ -export type HarvestSetConnection = Paginated & { - __typename?: 'HarvestSetConnection'; + +/** + * A record of a single attempt at harvesting. + * + */ +export type HarvestAttemptHarvestMessagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * A record of a single attempt at harvesting. + * + */ +export type HarvestAttemptHarvestRecordsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** The connection type for HarvestAttempt. */ +export type HarvestAttemptConnection = Paginated & { + __typename?: 'HarvestAttemptConnection'; /** A list of edges. */ - edges: Array; + edges: Array; /** A list of nodes. */ - nodes: Array; + nodes: Array; /** Information to aid in pagination. */ pageInfo: PageInfo; }; /** An edge in a connection. */ -export type HarvestSetEdge = { - __typename?: 'HarvestSetEdge'; +export type HarvestAttemptEdge = { + __typename?: 'HarvestAttemptEdge'; /** A cursor for use in pagination. */ cursor: Scalars['String']['output']; /** The item at the end of the edge. */ - node: HarvestSet; -}; - -/** - * Filters for HarvestSet. - * - */ -export type HarvestSetFilterInput = { - identifier?: InputMaybe; - name?: InputMaybe; - prefix?: InputMaybe; + node: HarvestAttempt; }; /** - * Sort a collection of `HarvestSet` records by specific properties and directions. - * - */ -export type HarvestSetOrder = - /** Sort harvest sets by their default order. */ - | 'DEFAULT' - /** Sort harvest sets by oldest created date. */ - | 'OLDEST' - /** Sort harvest sets by newest created date. */ - | 'RECENT' - | '%future added value'; - -/** - * A source from which to harvest entities. - * - * It can produce a `HarvestAttempt`. + * A progress report for entity data during a harvest attempt. * */ -export type HarvestSource = HarvestAttemptable & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & HasHarvestOptions & Node & QueriesHarvestMessage & Sluggable & { - __typename?: 'HarvestSource'; +export type HarvestAttemptEntityStatus = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'HarvestAttemptEntityStatus'; /** - * The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. + * Average time to fetch assets for a given entity in seconds (may be used in ETA calculations in the future). * */ - baseURL: Scalars['String']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + assetsDurationAverage?: Maybe; /** - * An optional, wordier description for the source that may offer insight as to its intended - * purpose within the installation. + * A (very) rough estimate of when the assets might be fully extracted. * */ - description?: Maybe; + assetsEta?: Maybe; /** - * The extraction mapping template used for this harvesting-related record - * at its place in the hierarchy. It is an XML document that describes how - * to map various types of metadata from the harvested records and transform - * that data into entities in Meru. - * - * For harvest sources, it can be considered the default mapping template - * for any record in the system, and should be used to pre-populate - * attempts that are created by the source, as well as future plans to - * allow for extracting a single record by external ID that may not have - * yet been fetched by an extract records process. - * - * For harvest mappings, it can be considered the default mapping template - * for any attempt created by the mapping. - * - * For any harvesting data that exists prior to the harvesting refactor - * completed during March of 2025, it's possible for this value to be - * an empty string. Any modifications to mappings and sources from that - * time will need to add a valid mapping template in order to succeed. - * - * See `Query.harvestExamples` for examples of valid mapping templates. + * Whether the current user has permission to destroy this record. * */ - extractionMappingTemplate: Scalars['String']['output']; + canDestroy: AuthorizationResult; /** - * Attempts produced by this source. + * Whether the current user has permission to update this record. * */ - harvestAttempts: HarvestAttemptConnection; + canUpdate: AuthorizationResult; /** - * Mappings associated with the harvest source. + * The percentage of completion based on current data expressed as a float between 0.0 and 1.0. * */ - harvestMappings: HarvestMappingConnection; - harvestMessages: HarvestMessageConnection; + completion?: Maybe; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; /** - * Metadata mappings used for advanced features that allow matching patterns to existing harvest targets. + * The encoded slug for this record. * */ - harvestMetadataMappings: HarvestMetadataMappingConnection; + slug: Scalars['Slug']['output']; /** - * Records associated with this source. + * Total number of entities extracted for this attempt. * */ - harvestRecords: HarvestRecordConnection; + totalEntities?: Maybe; /** - * Sets associated with the harvest source. - * - * A single source may have thousands of sets associated with it, - * so it must be paginated. + * Total number of entities that have been successfully extracted. * */ - harvestSets: HarvestSetConnection; - id: Scalars['ID']['output']; + totalEntitiesSuccess?: Maybe; /** - * A unique, machine-readable identifier. Requirements: - * - * * At least three characters: alphanumeric, hyphens, underscores - * * All lowercase - * * No whitespace - * * No consecutive hyphens nor underscores. - * - * Cannot be changed once created. To reuse an identifier, the original source - * must be destroyed. + * Total number of entities that are waiting for assets to be fetched. * */ - identifier: Scalars['String']['output']; + totalEntitiesWaitingForAssets?: Maybe; /** - * Options that control mapping of entities during the harvesting process. + * Total number of entities that are pending upsert. * */ - mappingOptions: HarvestOptionsMapping; + totalEntitiesWaitingForUpsert?: Maybe; /** - * The metadata format used by this source / mapping. + * Total number of entities extracted for this attempt that have 1 or more assets attached. * - * Fixed at creation time for now. + */ + totalEntitiesWithAssets?: Maybe; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * Average time to upsert a given entity in seconds (may be used in ETA calculations in the future). * */ - metadataFormat: HarvestMetadataFormat; + upsertDurationAverage?: Maybe; /** - * A unique name for the source. Purely descriptive. + * A (very) rough estimate of when the entities might be fully upserted. * */ - name: Scalars['String']['output']; + upsertEta?: Maybe; +}; + +/** Autogenerated input type of HarvestAttemptFromMapping */ +export type HarvestAttemptFromMappingInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * The protocol for this source. + * The extraction mapping template used for this harvesting-related record + * at its place in the hierarchy. It is an XML document that describes how + * to map various types of metadata from the harvested records and transform + * that data into entities in Meru. * - * Cannot be changed once created. + * For harvest sources, it can be considered the default mapping template + * for any record in the system, and should be used to pre-populate + * attempts that are created by the source, as well as future plans to + * allow for extracting a single record by external ID that may not have + * yet been fetched by an extract records process. + * + * For harvest mappings, it can be considered the default mapping template + * for any attempt created by the mapping. + * + * For any harvesting data that exists prior to the harvesting refactor + * completed during March of 2025, it's possible for this value to be + * an empty string. Any modifications to mappings and sources from that + * time will need to add a valid mapping template in order to succeed. + * + * See `Query.harvestExamples` for examples of valid mapping templates. * */ - protocol: HarvestProtocol; + extractionMappingTemplate: Scalars['String']['input']; /** - * Options that control reading from the source. + * The harvest mapping to update. * */ - readOptions: HarvestOptionsRead; - slug: Scalars['Slug']['output']; + harvestMappingId: Scalars['ID']['input']; /** - * An enum that describes the functional state for harvest sources. + * An optional note for this harvesting attempt. * */ - status: HarvestSourceStatus; - updatedAt: Scalars['ISO8601DateTime']['output']; + note?: InputMaybe; }; - -/** - * A source from which to harvest entities. - * - * It can produce a `HarvestAttempt`. - * - */ -export type HarvestSourceHarvestAttemptsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * A source from which to harvest entities. - * - * It can produce a `HarvestAttempt`. - * - */ -export type HarvestSourceHarvestMappingsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * A source from which to harvest entities. - * - * It can produce a `HarvestAttempt`. - * - */ -export type HarvestSourceHarvestMessagesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * A source from which to harvest entities. - * - * It can produce a `HarvestAttempt`. - * - */ -export type HarvestSourceHarvestMetadataMappingsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * A source from which to harvest entities. - * - * It can produce a `HarvestAttempt`. - * - */ -export type HarvestSourceHarvestRecordsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * A source from which to harvest entities. - * - * It can produce a `HarvestAttempt`. - * - */ -export type HarvestSourceHarvestSetsArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - -/** The connection type for HarvestSource. */ -export type HarvestSourceConnection = Paginated & { - __typename?: 'HarvestSourceConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** Autogenerated input type of HarvestSourceCreate */ -export type HarvestSourceCreateInput = { +/** Autogenerated return type of HarvestAttemptFromMapping. */ +export type HarvestAttemptFromMappingPayload = StandardMutationPayload & { + __typename?: 'HarvestAttemptFromMappingPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; /** - * The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. + * The newly-modified harvest mapping, if successful. * */ - baseURL: Scalars['String']['input']; + harvestAttempt?: Maybe; +}; + +/** Autogenerated input type of HarvestAttemptFromSource */ +export type HarvestAttemptFromSourceInput = { /** A unique identifier for the client performing the mutation. */ clientMutationId?: InputMaybe; - /** - * An optional, wordier description for the source that may offer insight as to its intended - * purpose within the installation. - * - */ - description?: InputMaybe; /** * The extraction mapping template used for this harvesting-related record * at its place in the hierarchy. It is an XML document that describes how @@ -9672,52 +10514,30 @@ export type HarvestSourceCreateInput = { */ extractionMappingTemplate: Scalars['String']['input']; /** - * A unique, machine-readable identifier. Requirements: - * - * * At least three characters: alphanumeric, hyphens, underscores - * * All lowercase - * * No whitespace - * * No consecutive hyphens nor underscores. - * - * Cannot be changed once created. To reuse an identifier, the original source - * must be destroyed. - * - */ - identifier: Scalars['String']['input']; - /** - * Options that control mapping of entities during the harvesting process. - * - */ - mappingOptions?: InputMaybe; - /** - * The metadata format for this source to use by default. - * - * Mappings can override this, but it cannot be changed currently. + * An optional set to restrict the attempt to. * */ - metadataFormat: HarvestMetadataFormat; + harvestSetId?: InputMaybe; /** - * A unique name for the source. Purely descriptive. + * The harvest source to use as the base. * */ - name: Scalars['String']['input']; + harvestSourceId: Scalars['ID']['input']; /** - * The protocol for this source. - * - * Cannot be changed once created. + * An optional note for this harvesting attempt. * */ - protocol?: HarvestProtocol; + note?: InputMaybe; /** - * Options that control reading from the source. + * The community or collection to target for the harvest. * */ - readOptions?: InputMaybe; + targetEntityId: Scalars['ID']['input']; }; -/** Autogenerated return type of HarvestSourceCreate. */ -export type HarvestSourceCreatePayload = StandardMutationPayload & { - __typename?: 'HarvestSourceCreatePayload'; +/** Autogenerated return type of HarvestAttemptFromSource. */ +export type HarvestAttemptFromSourcePayload = StandardMutationPayload & { + __typename?: 'HarvestAttemptFromSourcePayload'; attributeErrors: Array; /** A unique identifier for the client performing the mutation. */ clientMutationId?: Maybe; @@ -9727,71 +10547,39 @@ export type HarvestSourceCreatePayload = StandardMutationPayload & { /** Not presently used */ haltCode?: Maybe; /** - * The newly-modified harvest source, if successful. + * The newly created harvest attempt record, if successful. * */ - harvestSource?: Maybe; -}; - -/** Autogenerated input type of HarvestSourceDestroy */ -export type HarvestSourceDestroyInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + harvestAttempt?: Maybe; /** - * The harvest source to destroy. + * The newly-modified harvest source, if successful. * */ - harvestSourceId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of HarvestSourceDestroy. */ -export type HarvestSourceDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'HarvestSourceDestroyPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** An edge in a connection. */ -export type HarvestSourceEdge = { - __typename?: 'HarvestSourceEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: HarvestSource; + harvestSource?: Maybe; }; /** - * Sort a collection of `HarvestSource` records by specific properties and directions. + * Sort a collection of `HarvestAttempt` records by specific properties and directions. * */ -export type HarvestSourceOrder = - /** Sort harvest sources by their default order. */ +export type HarvestAttemptOrder = + /** Sort harvest attempts by their default order. */ | 'DEFAULT' - /** Sort harvest sources by oldest created date. */ + /** Sort harvest attempts by oldest created date. */ | 'OLDEST' - /** Sort harvest sources by newest created date. */ + /** Sort harvest attempts by newest created date. */ | 'RECENT' | '%future added value'; -/** Autogenerated input type of HarvestSourcePruneEntities */ -export type HarvestSourcePruneEntitiesInput = { +/** Autogenerated input type of HarvestAttemptPruneEntities */ +export type HarvestAttemptPruneEntitiesInput = { /** A unique identifier for the client performing the mutation. */ clientMutationId?: InputMaybe; /** - * The harvest source to update. + * The harvest attempt to update. * */ - harvestSourceId: Scalars['ID']['input']; + harvestAttemptId: Scalars['ID']['input']; /** * Whether to prune `PRISTINE` or **all** harvested entities. * @@ -9799,9 +10587,9 @@ export type HarvestSourcePruneEntitiesInput = { mode: HarvestPruneMode; }; -/** Autogenerated return type of HarvestSourcePruneEntities. */ -export type HarvestSourcePruneEntitiesPayload = StandardMutationPayload & { - __typename?: 'HarvestSourcePruneEntitiesPayload'; +/** Autogenerated return type of HarvestAttemptPruneEntities. */ +export type HarvestAttemptPruneEntitiesPayload = StandardMutationPayload & { + __typename?: 'HarvestAttemptPruneEntitiesPayload'; attributeErrors: Array; /** A unique identifier for the client performing the mutation. */ clientMutationId?: Maybe; @@ -9811,283 +10599,364 @@ export type HarvestSourcePruneEntitiesPayload = StandardMutationPayload & { /** Not presently used */ haltCode?: Maybe; /** - * The harvest source, if successful. + * The harvest attempt, if successful. * */ - harvestSource?: Maybe; + harvestAttempt?: Maybe; }; /** - * An enum that describes the functional state for harvest sources. - * - * Harvest sources are checked on a regular basis and can also be - * manually rechecked with harvestSourceCheck + * A progress report for record data during a harvest attempt. * */ -export type HarvestSourceStatus = +export type HarvestAttemptRecordStatus = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'HarvestAttemptRecordStatus'; /** - * An active harvest source has been recently validated as working - * and thus can be used for harvesting. + * Whether the current user has permission to destroy this record. * */ - | 'ACTIVE' + canDestroy: AuthorizationResult; /** - * An inactive harvest source has been recently validated as not working - * and cannot be used for harvesting. + * Whether the current user has permission to update this record. * */ - | 'INACTIVE' - | '%future added value'; - -/** Autogenerated input type of HarvestSourceUpdate */ -export type HarvestSourceUpdateInput = { + canUpdate: AuthorizationResult; /** - * The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. + * The percentage of completion based on current data expressed as a float between 0.0 and 1.0. * */ - baseURL: Scalars['String']['input']; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + completion?: Maybe; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * An optional, wordier description for the source that may offer insight as to its intended - * purpose within the installation. + * Average time to extract a given record in seconds (may be used in ETA calculations in the future). * */ - description?: InputMaybe; + extractionDurationAverage?: Maybe; + id: Scalars['ID']['output']; /** - * The extraction mapping template used for this harvesting-related record - * at its place in the hierarchy. It is an XML document that describes how - * to map various types of metadata from the harvested records and transform - * that data into entities in Meru. - * - * For harvest sources, it can be considered the default mapping template - * for any record in the system, and should be used to pre-populate - * attempts that are created by the source, as well as future plans to - * allow for extracting a single record by external ID that may not have - * yet been fetched by an extract records process. - * - * For harvest mappings, it can be considered the default mapping template - * for any attempt created by the mapping. - * - * For any harvesting data that exists prior to the harvesting refactor - * completed during March of 2025, it's possible for this value to be - * an empty string. Any modifications to mappings and sources from that - * time will need to add a valid mapping template in order to succeed. - * - * See `Query.harvestExamples` for examples of valid mapping templates. + * The encoded slug for this record. * */ - extractionMappingTemplate: Scalars['String']['input']; + slug: Scalars['Slug']['output']; /** - * The harvest source to update. + * Total number of records extracted for this attempt. * */ - harvestSourceId: Scalars['ID']['input']; + totalRecords?: Maybe; /** - * Options that control mapping of entities during the harvesting process. + * Total number of records that have been successfully extracted. * */ - mappingOptions?: InputMaybe; + totalRecordsSuccess?: Maybe; /** - * A unique name for the source. Purely descriptive. + * Total number of records that are pending extraction (which will then be harvest entities). * */ - name: Scalars['String']['input']; + totalRecordsWaitingForExtraction?: Maybe; /** - * Options that control reading from the source. + * Total number of records that are waiting on their entities to be complete. + * This could include waiting for assets to be fetched. * */ - readOptions?: InputMaybe; + totalRecordsWaitingForUpsert?: Maybe; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** Autogenerated return type of HarvestSourceUpdate. */ -export type HarvestSourceUpdatePayload = StandardMutationPayload & { - __typename?: 'HarvestSourceUpdatePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; +/** + * The state that an attempt is in. + * + */ +export type HarvestAttemptState = /** - * The newly-modified harvest source, if successful. + * A scheduled attempt that was cancelled. * */ - harvestSource?: Maybe; -}; - -/** Objects have a serialized slug for looking them up in the system and generating links without UUIDs */ -export type HarvestTarget = { + | 'CANCELLED' /** - * Whether this is a collection or a community. + * An attempt that is in the process of extracting records. + * + * A failed extraction may linger in this state. * */ - harvestTargetKind: HarvestTargetKind; - slug: Scalars['Slug']['output']; + | 'EXECUTING' /** - * A human-readable subtitle for the entity. + * An attempt whose entities have all been extracted from the source. * */ - subtitle?: Maybe; + | 'EXTRACTED' /** - * A description of the contents of the entity. + * An attempt that has not yet extracted anything. * */ - summary?: Maybe; + | 'PENDING' /** - * A human-readable title for the entity. + * A scheduled attempt for a specific mapping that has not yet ran. * */ - title: Scalars['String']['output']; -}; + | 'SCHEDULED' + | '%future added value'; /** - * The kind of entity that's being used as a Harvest Target. + * A record that can be used to trigger a run of the harvesting + * subsystem via `harvestStart`. * */ -export type HarvestTargetKind = +export type HarvestAttemptable = { /** - * A branch or leaf in the hierarchy. + * Harvest attempts associated with this record. * */ - | 'COLLECTION' + harvestAttempts: HarvestAttemptConnection; +}; + + +/** + * A record that can be used to trigger a run of the harvesting + * subsystem via `harvestStart`. + * + */ +export type HarvestAttemptableHarvestAttemptsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * A staged entity extracted from a `HarvestRecord`, that + * can then be associated to an actual entity by the + * harvesting process. + * + */ +export type HarvestEntity = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & QueriesHarvestMessage & Sluggable & { + __typename?: 'HarvestEntity'; /** - * A root-level entity in the hierarchy. + * Whether the current user has permission to destroy this record. * */ - | 'COMMUNITY' - | '%future added value'; - -/** Something which implements a #storage key that identifies where its attachment currently lives. */ -export type HasAttachmentStorage = { + canDestroy: AuthorizationResult; /** - * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + * Whether the current user has permission to update this record. * */ - storage?: Maybe; -}; - -export type HasAvailableEntities = { + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * Expose all available entities for this schema property. + * The real entity this is associated with (if available). * */ - availableEntities: Array; -}; - -export type HasControlledVocabulary = { + entity?: Maybe; + harvestMessages: HarvestMessageConnection; + id: Scalars['ID']['output']; /** - * The vocabulary configured for this property, based on its `wants` value - * and whatever is currently configured in `ControlledVocabularySource`. + * A unique identifier for the staged entity within the context of its `HarvestRecord`. * */ - controlledVocabulary?: Maybe; + identifier: Scalars['String']['output']; /** - * The key used to determine which `ControlledVocabulary` to fetch. + * Whether this staged entity is a leaf (has no children). * - * See `#controlledVocabulary`. + */ + leaf: Scalars['Boolean']['output']; + /** + * The parent staged entity (if applicable). * */ - wants?: Maybe; -}; - -/** An entity that has a DOI */ -export type HasDoi = { + parent?: Maybe; /** - * The Digital Object Identifier for this entity. See https://doi.org + * The relative depth of the staged entity (based on the attempt's `targetEntity`). * */ - doi?: Maybe; + relativeDepth: Scalars['Int']['output']; /** - * The data sanitized from `rawDOI`, including things like the URL and host. + * Whether this staged entity is a root (has no parent). * */ - doiData: DoiData; + root: Scalars['Boolean']['output']; /** - * For use in the admin, something to signify that data has been set on `rawDOI` - * that could not be properly assigned to `doi`. + * The schema version that this will use (if available). * */ - hasWeirdDOI: Scalars['Boolean']['output']; + schemaVersion?: Maybe; /** - * The value that was set on the entity. It will be validated and sanitized - * and be set on `doi` if possible. + * The encoded slug for this record. * */ - rawDOI?: Maybe; + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; + /** - * Automatically-set timestamps present on most real models in the system. + * A staged entity extracted from a `HarvestRecord`, that + * can then be associated to an actual entity by the + * harvesting process. * */ -export type HasDefaultTimestamps = { - /** The date this entity was added to the WDP */ +export type HarvestEntityHarvestMessagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * An error that may occur during the harvesting process. + * + */ +export type HarvestError = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'HarvestError'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** + * A machine code that identifies the error for reprocessing and debugging. + * + */ + code?: Maybe; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; - /** The date this entity was last updated within the WDP */ + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + /** + * A more descriptive issue of the message, if available. + * + */ + message?: Maybe; + /** + * Raw metadata for the error. Should be displayed as inspectable JSON. + * + */ + metadata: Scalars['JSON']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** Entity models implement their own analytics views that come pre-filtered */ -export type HasEntityAnalytics = { - assetDownloads: AnalyticsEventCountSummary; - assetDownloadsByRegion: AnalyticsRegionCountSummary; - entityViews: AnalyticsEventCountSummary; - entityViewsByRegion: AnalyticsRegionCountSummary; -}; - - -/** Entity models implement their own analytics views that come pre-filtered */ -export type HasEntityAnalyticsAssetDownloadsArgs = { - dateFilter?: InputMaybe; - precision?: InputMaybe; - subjectIds?: InputMaybe>; -}; - - -/** Entity models implement their own analytics views that come pre-filtered */ -export type HasEntityAnalyticsAssetDownloadsByRegionArgs = { - dateFilter?: InputMaybe; - subjectIds?: InputMaybe>; - usOnly?: InputMaybe; -}; - - -/** Entity models implement their own analytics views that come pre-filtered */ -export type HasEntityAnalyticsEntityViewsArgs = { - dateFilter?: InputMaybe; - precision?: InputMaybe; -}; - - -/** Entity models implement their own analytics views that come pre-filtered */ -export type HasEntityAnalyticsEntityViewsByRegionArgs = { - dateFilter?: InputMaybe; - usOnly?: InputMaybe; -}; - -export type HasEntityBreadcrumbs = { - /** Previous entries in the hierarchy */ - breadcrumbs: Array; -}; - -export type HasHarvestErrors = { +/** + * An example of various harvesting configurations, particularly extraction mapping templates. + * + */ +export type HarvestExample = { + __typename?: 'HarvestExample'; /** - * A list of errors that are associated with this harvesting type. + * Whether this should be considered a "default" example + * for a given metadata / protocol combination. * */ - harvestErrors: Array; + default: Scalars['Boolean']['output']; + /** + * A description about the example, if available. + * + */ + description?: Maybe; + /** + * The example's extraction mapping template which can be applied to harvest sources, mappings, and attempts. + * + */ + extractionMappingTemplate: Scalars['String']['output']; + /** + * Whether this is a generic example that is not tied + * to any specific protocol nor metadata format. + * + */ + generic: Scalars['Boolean']['output']; + /** + * The ID for the example. + * + */ + id: Scalars['ID']['output']; + /** + * The metadata format this example applies to. + * + * It can be blank if the example is not metadata-specific. + * + */ + metadataFormatName?: Maybe; + /** + * The human-readable name for the example. + * + */ + name: Scalars['String']['output']; + /** + * The protocol this example applies to. + * + * It can be blank if the example is not protocol-specific. + * + */ + protocolName?: Maybe; + /** + * A list of schema declarations that the mapping template can generate. + * + */ + schemaDeclarations: Array; + /** + * A list of schema versions that the mapping template can generate. + * + */ + schemaVersions: Array; }; /** - * An interface for harvesting-related records that expose a mapping template - * for handling extraction at their point in the hierarchy. + * A specific mapping to be used by a `HarvestSource`, + * possibly an optional `HarvestSet`, and other options + * in order to harvest records from the source and produce + * entities. + * + * It can produce a `HarvestAttempt`. * */ -export type HasHarvestExtractionMappingTemplate = { +export type HarvestMapping = CommonModel & CommonPermissions & HarvestAttemptable & HasDefaultTimestamps & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & HasHarvestOptions & Node & QueriesHarvestMessage & Sluggable & { + __typename?: 'HarvestMapping'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * The extraction mapping template used for this harvesting-related record * at its place in the hierarchy. It is an XML document that describes how @@ -10112,1994 +10981,2134 @@ export type HasHarvestExtractionMappingTemplate = { * */ extractionMappingTemplate: Scalars['String']['output']; -}; - -/** - * A record that stores a metadata format it uses. - * - */ -export type HasHarvestMetadataFormat = { /** - * The metadata format used by this source / mapping. - * - * Fixed at creation time for now. + * This can be a cron expression as well as a human-readable expression like + * `"every sunday at 5 am America/Los_Angeles"`. + * The system will attempt to validate and parse the expression when setting + * it in order to make sure it is something that Meru can handle. * */ - metadataFormat: HarvestMetadataFormat; -}; - -/** - * An interface for records which can be created/updated through Harvesting - * that includes an enum which can prevent harvesting actions from overwriting - * any data that has been manually corrected. - * - */ -export type HasHarvestModificationStatus = { + frequencyExpression?: Maybe; /** - * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have - * no effect on this record. + * Attempts produced by this mapping. * */ - harvestModificationStatus: HarvestModificationStatus; -}; - -export type HasHarvestOptions = { + harvestAttempts: HarvestAttemptConnection; + harvestMessages: HarvestMessageConnection; /** - * Options that control mapping of entities during the harvesting process. + * Records associated with this mapping. * */ - mappingOptions: HarvestOptionsMapping; + harvestRecords: HarvestRecordConnection; /** - * Options that control reading from the source. + * The optionally-associated harvest set for this mapping. * */ - readOptions: HarvestOptionsRead; -}; - -export type HasSchemaProperties = { + harvestSet?: Maybe; /** - * A list of schema properties associated with this instance or version. + * The harvest source this belongs to. * */ - schemaProperties: Array; -}; - -/** - * An enumerated value associated with the templating subsystem. - * - */ -export type HeroBackground = + harvestSource: HarvestSource; + id: Scalars['ID']['output']; /** - * A dark gradient is applied to the background of this template. + * This timestamp signifies when the harvest mapping last tried to schedule its + * attempts (if applicable). * */ - | 'DARK' + lastScheduledAt?: Maybe; /** - * A light gradient is applied to the background of this template. + * Options that control mapping of entities during the harvesting process. * */ - | 'LIGHT' + mappingOptions: HarvestOptionsMapping; /** - * No background is applied to this template. + * The metadata format used by this source / mapping. * - */ - | 'NONE' - | '%future added value'; - -/** The layout to use when rendering a Hero for an `Entity`. */ -export type HeroImageLayout = - | 'ONE_COLUMN' - | 'TWO_COLUMN' - | '%future added value'; - -export type HeroLayoutDefinition = LayoutDefinition & Node & Sluggable & { - __typename?: 'HeroLayoutDefinition'; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; - slug: Scalars['Slug']['output']; - /** - * This layout will only ever have one template, so it can be fetched directly without needing the union. + * Fixed at creation time for now. * */ - template?: Maybe; + metadataFormat: HarvestMetadataFormat; /** - * The ordered template definitions available for this layout. + * Whether this mapping is `MANUAL` or `SCHEDULED`. This field is not set + * through the admin section, but derived from parsing the mapping's + * `frequencyExpression`. * - */ - templates: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -export type HeroLayoutInstance = LayoutInstance & Node & Renderable & Sluggable & { - __typename?: 'HeroLayoutInstance'; - /** - * Whether all templates in this instance are hidden. + * `SCHEDULED` mappings will automatically create `HarvestAttempt`s + * for the next several iterations of their `frequencyExpression`. * */ - allHidden: Scalars['Boolean']['output']; + mode: HarvestScheduleMode; /** - * Whether all slots in all template instances in this layout are empty. + * Options that control reading from the source. * */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + readOptions: HarvestOptionsRead; /** - * The associated entity for this layout instance. + * This timestamp signifies the last time the frequency expression, or any + * of its derived fields, were changed. * */ - entity: Entity; - id: Scalars['ID']['output']; + scheduleChangedAt?: Maybe; /** - * The time this object was last rendered. + * Derived information about the frequency expression (if valid and applicable), + * to provide insight for introspection. * */ - lastRenderedAt?: Maybe; + scheduleData: HarvestScheduleData; /** - * The layout definition for this type. + * The encoded slug for this record. * */ - layoutDefinition: HeroLayoutDefinition; - layoutKind: LayoutKind; slug: Scalars['Slug']['output']; /** - * This layout will only ever have one template, so it can be fetched directly without needing the union. - * - */ - template?: Maybe; - /** - * The ordered template instances available for this layout. + * The target entity for the attempt. All harvest entities will be nested under this entity, unless otherwise specified. * */ - templates: Array; + targetEntity: HarvestTarget; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -export type HeroTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'HeroTemplateDefinition'; - /** - * The background gradient to use for this template. Affects presentation. - * - */ - background?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; - /** @deprecated This is a slot now. */ - descendantSearchPrompt?: Maybe; - enableDescendantBrowsing?: Maybe; - enableDescendantSearch?: Maybe; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; - listContributors?: Maybe; - showBasicViewMetrics?: Maybe; - showBigSearchPrompt?: Maybe; - showBreadcrumbs?: Maybe; - showDOI?: Maybe; - showHeroImage?: Maybe; - showSharingLink?: Maybe; - showSplitDisplay?: Maybe; - showThumbnailImage?: Maybe; - /** - * Slot definitions for this template. - * - */ - slots: HeroTemplateDefinitionSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - updatedAt: Scalars['ISO8601DateTime']['output']; + +/** + * A specific mapping to be used by a `HarvestSource`, + * possibly an optional `HarvestSet`, and other options + * in order to harvest records from the source and produce + * entities. + * + * It can produce a `HarvestAttempt`. + * + */ +export type HarvestMappingHarvestAttemptsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; + /** - * Slot definitions for the associated template. + * A specific mapping to be used by a `HarvestSource`, + * possibly an optional `HarvestSet`, and other options + * in order to harvest records from the source and produce + * entities. + * + * It can produce a `HarvestAttempt`. * */ -export type HeroTemplateDefinitionSlots = { - __typename?: 'HeroTemplateDefinitionSlots'; - bigSearchPrompt?: Maybe; - callToAction?: Maybe; - descendantSearchPrompt?: Maybe; - header?: Maybe; - headerAside?: Maybe; - headerParent?: Maybe; - headerSidebar?: Maybe; - headerSubtitle?: Maybe; - headerSummary?: Maybe; - metadata?: Maybe; - sidebar?: Maybe; - subheader?: Maybe; - subheaderAside?: Maybe; - subheaderSubtitle?: Maybe; - subheaderSummary?: Maybe; - summary?: Maybe; +export type HarvestMappingHarvestMessagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -export type HeroTemplateInstance = Node & Renderable & Sluggable & TemplateInstance & { - __typename?: 'HeroTemplateInstance'; + +/** + * A specific mapping to be used by a `HarvestSource`, + * possibly an optional `HarvestSet`, and other options + * in order to harvest records from the source and produce + * entities. + * + * It can produce a `HarvestAttempt`. + * + */ +export type HarvestMappingHarvestRecordsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** The connection type for HarvestMapping. */ +export type HarvestMappingConnection = Paginated & { + __typename?: 'HarvestMappingConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** Autogenerated input type of HarvestMappingCreate */ +export type HarvestMappingCreateInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * Whether all slots in this template are empty. + * The extraction mapping template used for this harvesting-related record + * at its place in the hierarchy. It is an XML document that describes how + * to map various types of metadata from the harvested records and transform + * that data into entities in Meru. * - */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - /** - * Load the associated definition for this template. + * For harvest sources, it can be considered the default mapping template + * for any record in the system, and should be used to pre-populate + * attempts that are created by the source, as well as future plans to + * allow for extracting a single record by external ID that may not have + * yet been fetched by an extract records process. * - */ - definition: HeroTemplateDefinition; - /** - * The associated entity for this template instance. + * For harvest mappings, it can be considered the default mapping template + * for any attempt created by the mapping. * - */ - entity: Entity; - /** - * Whether this template instance should be hidden based on some logic. + * For any harvesting data that exists prior to the harvesting refactor + * completed during March of 2025, it's possible for this value to be + * an empty string. Any modifications to mappings and sources from that + * time will need to add a valid mapping template in order to succeed. * - * At present, this only occurs if certain slots are empty. + * See `Query.harvestExamples` for examples of valid mapping templates. * */ - hidden: Scalars['Boolean']['output']; - id: Scalars['ID']['output']; + extractionMappingTemplate: Scalars['String']['input']; /** - * The time this object was last rendered. + * This can be a cron expression as well as a human-readable expression like + * `"every sunday at 5 am America/Los_Angeles"`. + * The system will attempt to validate and parse the expression when setting + * it in order to make sure it is something that Meru can handle. * */ - lastRenderedAt?: Maybe; - layoutKind: LayoutKind; + frequencyExpression?: InputMaybe; /** - * Return all preceding siblings to the current template in order of proximity. + * An optional set to associate with the mapping. * - * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + * This cannot be changed since mappings are intricately tied to their set (if applicable). * */ - nextSiblings: Array; + harvestSetId?: InputMaybe; /** - * Return all preceding siblings to the current template in order of proximity. + * The harvest source to create the mapping for. * - * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + * This cannot be changed since mappings are intricately tied to sources. * */ - prevSiblings: Array; + harvestSourceId: Scalars['ID']['input']; /** - * Rendered slots for this template. + * Options that control mapping of entities during the harvesting process. * */ - slots: HeroTemplateInstanceSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -/** - * Rendered slots for the associated template. - * - */ -export type HeroTemplateInstanceSlots = { - __typename?: 'HeroTemplateInstanceSlots'; - bigSearchPrompt?: Maybe; - callToAction?: Maybe; - descendantSearchPrompt?: Maybe; - header?: Maybe; - headerAside?: Maybe; - headerParent?: Maybe; - headerSidebar?: Maybe; - headerSubtitle?: Maybe; - headerSummary?: Maybe; - metadata?: Maybe; - sidebar?: Maybe; - subheader?: Maybe; - subheaderAside?: Maybe; - subheaderSubtitle?: Maybe; - subheaderSummary?: Maybe; - summary?: Maybe; -}; - -/** - * A ranking of a schema from a certain point in the hierarchy. This can be used to generate - * navigation or calculate statistics about what various entities contain. - * - */ -export type HierarchicalSchemaRank = DescribesSchema & Node & { - __typename?: 'HierarchicalSchemaRank'; - /** The number of entities that implement this schema from this point in the hierarchy. */ - count: Scalars['Int']['output']; + mappingOptions?: InputMaybe; /** - * The full declaration for this schema, including namespace, identifier, and version (if available). + * The metadata format for this mapping to use, which can be different from the Harvest Source. * - */ - declaration: Scalars['String']['output']; - /** A count of distinct versions of this specific schema type from this point of the hierarchy. */ - distinctVersionCount: Scalars['Int']['output']; - id: Scalars['ID']['output']; - /** - * A unique (per-namespace) value that names the schema within the system. + * It should default to whatever the harvest source uses. * */ - identifier: Scalars['String']['output']; + metadataFormat: HarvestMetadataFormat; /** - * The kind of entity this schema applies to. + * Options that control reading from the source. * */ - kind: SchemaKind; + readOptions?: InputMaybe; /** - * A human-readable name for the schema. + * The community or collection to target for this mapping. * - */ - name: Scalars['String']['output']; - /** - * A unique namespace the schema lives in. + * This can be changed if the mapping needs to be retargeted in the hierarchy. * */ - namespace: Scalars['String']['output']; - /** The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent. */ - rank: Scalars['Int']['output']; - /** A reference to the discrete schema definition */ - schemaDefinition: SchemaDefinition; - /** A fully-qualified unique value that can be used to refer to this schema within the system */ - slug: Scalars['String']['output']; - /** A reference to the schema versions from this ranking */ - versionRanks: Array; + targetEntityId: Scalars['ID']['input']; }; -/** - * A ranking of a schema version from a certain point in the hierarchy. This can be used to generate - * navigation or calculate statistics about what versions of a schema various entities contain. - * - */ -export type HierarchicalSchemaVersionRank = DescribesSchema & Node & { - __typename?: 'HierarchicalSchemaVersionRank'; - /** The number of entities that implement this schema from this point in the hierarchy. */ - count: Scalars['Int']['output']; - /** - * The full declaration for this schema, including namespace, identifier, and version (if available). - * - */ - declaration: Scalars['String']['output']; - id: Scalars['ID']['output']; - /** - * A unique (per-namespace) value that names the schema within the system. - * - */ - identifier: Scalars['String']['output']; - /** - * The kind of entity this schema applies to. - * - */ - kind: SchemaKind; +/** Autogenerated return type of HarvestMappingCreate. */ +export type HarvestMappingCreatePayload = StandardMutationPayload & { + __typename?: 'HarvestMappingCreatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; /** - * A human-readable name for the schema. + * The newly-modified harvest mapping, if successful. * */ - name: Scalars['String']['output']; + harvestMapping?: Maybe; +}; + +/** Autogenerated input type of HarvestMappingDestroy */ +export type HarvestMappingDestroyInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * A unique namespace the schema lives in. + * The harvest mapping to destroy. * */ - namespace: Scalars['String']['output']; - /** The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent. */ - rank: Scalars['Int']['output']; - /** A reference to the discrete schema definition */ - schemaDefinition: SchemaDefinition; - /** A reference to the discrete schema version */ - schemaVersion: SchemaVersion; - /** A fully-qualified unique value that can be used to refer to this schema within the system */ - slug: Scalars['String']['output']; - /** A semantic version associated with the schema */ - versionNumber: Scalars['String']['output']; + harvestMappingId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of HarvestMappingDestroy. */ +export type HarvestMappingDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'HarvestMappingDestroyPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** An edge in a connection. */ +export type HarvestMappingEdge = { + __typename?: 'HarvestMappingEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: HarvestMapping; }; /** - * An interface for various component types of an image attachment - * that allow it to be identified in name and purpose. + * Sort a collection of `HarvestMapping` records by specific properties and directions. * */ -export type Image = { - /** Alt text for accessible images */ - alt?: Maybe; - /** The MIME type of the image, if present */ - contentType?: Maybe; - /** @deprecated Use width and height directly. */ - dimensions?: Maybe>; - /** The height of the image, if present */ - height?: Maybe; +export type HarvestMappingOrder = + /** Sort harvest mappings by their default order. */ + | 'DEFAULT' + /** Sort harvest mappings by oldest created date. */ + | 'OLDEST' + /** Sort harvest mappings by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** Autogenerated input type of HarvestMappingUpdate */ +export type HarvestMappingUpdateInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * The original filename, if one was detected during attachment. + * The extraction mapping template used for this harvesting-related record + * at its place in the hierarchy. It is an XML document that describes how + * to map various types of metadata from the harvested records and transform + * that data into entities in Meru. * - * Filename detection is not always consistent across browsers, so this - * may not always be present, even with a valid attachment. + * For harvest sources, it can be considered the default mapping template + * for any record in the system, and should be used to pre-populate + * attempts that are created by the source, as well as future plans to + * allow for extracting a single record by external ID that may not have + * yet been fetched by an extract records process. + * + * For harvest mappings, it can be considered the default mapping template + * for any attempt created by the mapping. + * + * For any harvesting data that exists prior to the harvesting refactor + * completed during March of 2025, it's possible for this value to be + * an empty string. Any modifications to mappings and sources from that + * time will need to add a valid mapping template in order to succeed. + * + * See `Query.harvestExamples` for examples of valid mapping templates. * */ - originalFilename?: Maybe; + extractionMappingTemplate: Scalars['String']['input']; /** - * The intended purpose of this image attachment. This is intended to - * help fragments that operate solely on image subcomponents to have - * some context for what they are without extra work. + * This can be a cron expression as well as a human-readable expression like + * `"every sunday at 5 am America/Los_Angeles"`. + * The system will attempt to validate and parse the expression when setting + * it in order to make sure it is something that Meru can handle. * */ - purpose: ImagePurpose; + frequencyExpression?: InputMaybe; /** - * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + * The harvest mapping to update. * */ - storage?: Maybe; - /** The URL for the image, if present. */ - url?: Maybe; - /** The width of the image, if present */ - width?: Maybe; -}; - -/** An attached image with standardized derivatives. */ -export type ImageAttachment = HasAttachmentStorage & ImageIdentification & { - __typename?: 'ImageAttachment'; - /** Alt text for accessible images */ - alt?: Maybe; - /** A hero-sized mapping for derivative formats */ - hero: ImageSize; - /** A large-sized mapping for derivative formats */ - large: ImageSize; - /** A medium-sized mapping for derivative formats */ - medium: ImageSize; - /** Configurable metadata for the image. */ - metadata?: Maybe; - /** The original source for the image */ - original: ImageOriginal; + harvestMappingId: Scalars['ID']['input']; /** - * The original filename, if one was detected during attachment. - * - * Filename detection is not always consistent across browsers, so this - * may not always be present, even with a valid attachment. + * Options that control mapping of entities during the harvesting process. * */ - originalFilename?: Maybe; + mappingOptions?: InputMaybe; /** - * The intended purpose of this image attachment. This is intended to - * help fragments that operate solely on image subcomponents to have - * some context for what they are without extra work. + * Options that control reading from the source. * */ - purpose: ImagePurpose; - /** A small-sized mapping for derivative formats */ - small: ImageSize; + readOptions?: InputMaybe; /** - * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + * The community or collection to target for this mapping. + * + * This can be changed if the mapping needs to be retargeted in the hierarchy. * */ - storage?: Maybe; - /** A thumb-sized mapping for derivative formats */ - thumb: ImageSize; + targetEntityId: Scalars['ID']['input']; }; -/** A derivative of the image with a specific size and format. */ -export type ImageDerivative = Image & ImageIdentification & { - __typename?: 'ImageDerivative'; - /** Alt text for accessible images */ - alt?: Maybe; - /** The MIME type of the image, if present */ - contentType?: Maybe; - /** @deprecated Use width and height directly. */ - dimensions?: Maybe>; - /** The format of this derivative */ - format: ImageDerivativeFormat; - /** The height of the image, if present */ - height?: Maybe; - /** The maximum height this size can occupy */ - maxHeight?: Maybe; - /** The maximum width this size can occupy */ - maxWidth?: Maybe; +/** Autogenerated return type of HarvestMappingUpdate. */ +export type HarvestMappingUpdatePayload = StandardMutationPayload & { + __typename?: 'HarvestMappingUpdatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; /** - * The original filename, if one was detected during attachment. + * The newly-modified harvest mapping, if successful. * - * Filename detection is not always consistent across browsers, so this - * may not always be present, even with a valid attachment. + */ + harvestMapping?: Maybe; +}; + +/** + * A single log message recorded during some aspect of harvesting. + * + */ +export type HarvestMessage = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'HarvestMessage'; + /** + * The time the message occurred. This field should be favored at + * for display over the model's default `createdAt` field. * */ - originalFilename?: Maybe; + at: Scalars['ISO8601DateTime']['output']; /** - * The intended purpose of this image attachment. This is intended to - * help fragments that operate solely on image subcomponents to have - * some context for what they are without extra work. + * Whether the current user has permission to destroy this record. * */ - purpose: ImagePurpose; - /** The size of this derivative */ - size: ImageDerivativeSize; + canDestroy: AuthorizationResult; /** - * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + * Whether the current user has permission to update this record. * */ - storage?: Maybe; - /** The URL for the image, if present. */ - url?: Maybe; - /** The width of the image, if present */ - width?: Maybe; -}; - -/** The format of a specific image derivative. */ -export type ImageDerivativeFormat = + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * A Portable Network Graphics-formatted file, for legacy support on most all browsers. + * The harvest attempt associatd with the message, if available. * */ - | 'PNG' + harvestAttempt?: Maybe; /** - * A more efficiently compressed image supported by most browsers worldwide. + * The harvest entity associatd with the message, if available. * */ - | 'WEBP' - | '%future added value'; - -/** The size of a specific image derivative. */ -export type ImageDerivativeSize = - /** A hero-sized image, constrained to 2880px wide with no height limit. */ - | 'HERO' - /** A large-sized image, constrained to 750px wide by 750px high. */ - | 'LARGE' - /** A medium-sized image, constrained to 500px wide by 500px high. */ - | 'MEDIUM' - /** A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit. */ - | 'SANS_TEXT' - /** A small-sized image, constrained to 250px wide by 250px high. */ - | 'SMALL' - /** A thumb-sized image, constrained to 100px wide by 100px high. */ - | 'THUMB' - /** A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high. */ - | 'WITH_TEXT' - | '%future added value'; - -/** - * An interface for various component types of an image attachment - * that allow it to be identified in name and purpose. - * - */ -export type ImageIdentification = { + harvestEntity?: Maybe; /** - * The original filename, if one was detected during attachment. + * The harvest mapping associatd with the message, if available. * - * Filename detection is not always consistent across browsers, so this - * may not always be present, even with a valid attachment. + */ + harvestMapping?: Maybe; + /** + * The harvest record associatd with the message, if available. * */ - originalFilename?: Maybe; + harvestRecord?: Maybe; /** - * The intended purpose of this image attachment. This is intended to - * help fragments that operate solely on image subcomponents to have - * some context for what they are without extra work. + * The harvest source associated with the message. * */ - purpose: ImagePurpose; -}; - -/** Shared metadata for image attachments */ -export type ImageMetadata = { - __typename?: 'ImageMetadata'; - /** Alt text for accessible images */ - alt?: Maybe; -}; - -/** Shared metadata for updating image attachments */ -export type ImageMetadataInput = { - /** Alt text for accessible images */ - alt?: InputMaybe; -}; - -/** - * The original source for the image. While derivatives are processing, it could be useful - * for a temporary preview in the admin section, or for troubleshooting. - * - * As this is the raw image, it is not optimized for display in the frontend and is best - * used only as a fallback. - * - */ -export type ImageOriginal = HasAttachmentStorage & Image & ImageIdentification & { - __typename?: 'ImageOriginal'; - /** Alt text for accessible images */ - alt?: Maybe; - /** The MIME type of the image, if present */ - contentType?: Maybe; - /** @deprecated Use width and height directly. */ - dimensions?: Maybe>; - /** The height of the image, if present */ - height?: Maybe; + harvestSource?: Maybe; + id: Scalars['ID']['output']; /** - * The original filename, if one was detected during attachment. + * The level of severity of the message. * - * Filename detection is not always consistent across browsers, so this - * may not always be present, even with a valid attachment. + */ + level: HarvestMessageLevel; + /** + * The message itself. * */ - originalFilename?: Maybe; + message: Scalars['String']['output']; /** - * The intended purpose of this image attachment. This is intended to - * help fragments that operate solely on image subcomponents to have - * some context for what they are without extra work. + * The encoded slug for this record. * */ - purpose: ImagePurpose; + slug: Scalars['Slug']['output']; /** - * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + * Tags associated with the message. This may describe what section + * of the harvesting system triggered the message, and may support + * querying in the future. * */ - storage?: Maybe; - /** The URL for the image, if present. */ - url?: Maybe; - /** The width of the image, if present */ - width?: Maybe; + tags: Array; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** - * Image attachments on entities fulfill different purposes. This can - * be used to distinguish them at the `ImageAttachment` level. - * - */ -export type ImagePurpose = - /** A hero image. */ - | 'HERO_IMAGE' - /** A logo (on a Community). */ - | 'LOGO' - /** A fallback for otherwise-unspecified images. */ - | 'OTHER' - /** The logo for the site. */ - | 'SITE_LOGO' - /** A thumbnail that appears next to the entity in lists, grids, etc. */ - | 'THUMBNAIL' - | '%future added value'; +/** The connection type for HarvestMessage. */ +export type HarvestMessageConnection = Paginated & { + __typename?: 'HarvestMessageConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type HarvestMessageEdge = { + __typename?: 'HarvestMessageEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: HarvestMessage; +}; /** - * This describes a specific derivative style - * for an attachment, e.g. small, medium, thumb. - * - * It is further broken down into the various formats - * the WDP generates, presently WEBP and PNG. + * Filtering options for `HarvestMessage` records. * */ -export type ImageSize = ImageIdentification & { - __typename?: 'ImageSize'; - /** Alt text for accessible images */ - alt?: Maybe; - /** The (maximum) height for this size. */ - height?: Maybe; - /** - * The original filename, if one was detected during attachment. - * - * Filename detection is not always consistent across browsers, so this - * may not always be present, even with a valid attachment. - * - */ - originalFilename?: Maybe; - /** A png-formatted image derivative for this particular size. */ - png: ImageDerivative; +export type HarvestMessageFilterInput = { /** - * The intended purpose of this image attachment. This is intended to - * help fragments that operate solely on image subcomponents to have - * some context for what they are without extra work. + * Filter by severity. * */ - purpose: ImagePurpose; - size: ImageDerivativeSize; - /** A webp-formatted image derivative for this particular size. */ - webp: ImageDerivative; - /** The (maximum) width for this size. */ - width?: Maybe; + severity?: InputMaybe; }; /** - * Require that the `path` must include or be one of the strings provided in `value`. + * Levels of severity associated with `HarvestMessage`s. * - * The actual value of `path` may be an array (multiselect) or string (select). + * `FATAL` is the most severe, `TRACE` is the least. * */ -export type InAnyOperatorInput = { - path: Scalars['String']['input']; - value: Array; -}; - -/** Configuration settings for the specific institution featured on this installation. */ -export type InstitutionSettings = { - __typename?: 'InstitutionSettings'; - /** The name of the institution. */ - name: Scalars['String']['output']; -}; - -/** An object for updating the site's configuration */ -export type InstitutionSettingsInput = { - /** The name of the institution. */ - name?: InputMaybe; -}; - -export type IntegerProperty = ScalarProperty & SchemaProperty & SearchableProperty & { - __typename?: 'IntegerProperty'; +export type HarvestMessageLevel = /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. + * Debug information about the harvesting system. * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * May be hidden by default when displaying. * */ - array: Scalars['Boolean']['output']; - defaultInteger?: Maybe; - description?: Maybe; + | 'DEBUG' /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * An error that may or may not have interrupted a harvesting operation, + * but could, for instance, just indicate that a single record failed. * */ - fullPath: Scalars['String']['output']; + | 'ERROR' /** - * The purpose or intent of this property relative to its entity, parents, and others. + * A fatal error which likely caused an entire harvesting operation to stop. * */ - function: SchemaPropertyFunction; - integerValue?: Maybe; + | 'FATAL' /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * Informational messages that are higher priority than debug messages. * */ - isWide: Scalars['Boolean']['output']; + | 'INFO' /** - * Provided for introspection. This describes the underlying structure of the data type. + * Very low-level trace messages that may be used in the future + * to narrow down specific / performance issues with harvesting, + * but at present likely won't appear. + * + * Should be hidden by default when displaying. * */ - kind: SchemaPropertyKind; - label: Scalars['String']['output']; + | 'TRACE' /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * Warnings about validation failures and similar things. * */ - orderable: Scalars['Boolean']['output']; + | 'WARN' + | '%future added value'; + +/** + * Supported metadata formats for harvesting. + * + * `HarvestProtocol` describes the transport method for individual records to be harvested, + * while `HarvestMetadataFormat` describes the structure of the data. + * + */ +export type HarvestMetadataFormat = /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * [Esploro Records](https://developers.exlibrisgroup.com/esploro/apis/xsd/esploro_record.xsd/) * */ - path: Scalars['String']['output']; + | 'ESPLORO' /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. - * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + * [Journal Article Tag Suite](https://jats.nlm.nih.gov/) * */ - required: Scalars['Boolean']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; + | 'JATS' /** - * Provided for introspection. This represents the actual data type this property - * uses. + * [Metadata Encoding and Transmission Standard](https://www.loc.gov/standards/mets/) * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + */ + | 'METS' + /** + * [Metadata Object Description Schema](https://www.loc.gov/standards/mods/) * */ - type: SchemaPropertyType; -}; - -/** An item that belongs to a collection */ -export type Item = Accessible & Attachable & Attributable & ChildEntity & Contributable & Entity & EntityBase & ExposesPermissions & HasDoi & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & ReferencesEntityVisibility & ReferencesGlobalEntityDates & SchemaInstance & Searchable & Sluggable & { - __typename?: 'Item'; - /** Derived access control list */ - accessControlList?: Maybe; - accessGrants: AnyCollectionAccessGrantConnection; - /** A polymorphic connection for access grants from an entity */ - allAccessGrants: AnyAccessGrantConnection; - /** A list of allowed actions for the given user on this entity (and its descendants). */ - allowedActions: Array; + | 'MODS' /** - * Directly fetch a defined named ancestor by its name. It can be null, - * either because an invalid name was provided, the schema hierarchy is - * incomplete, or the association itself is optional. + * [OAI-PMH Dublin Core](https://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#dublincore) * */ - ancestorByName?: Maybe; + | 'OAIDC' /** - * Look up an ancestor for this entity that implements a specific type. It ascends from this entity, - * so it will first check the parent, then the grandparent, and so on. + * Pressbooks 'Book' response * */ - ancestorOfType?: Maybe; - /** Look up an announcement for this entity by slug */ - announcement?: Maybe; - /** Announcements for a specific entity */ - announcements: AnnouncementConnection; - /** The role(s) that gave the permissions to access this resource, if any. */ - applicableRoles: Array; - assetDownloads: AnalyticsEventCountSummary; - assetDownloadsByRegion: AnalyticsRegionCountSummary; - /** Assets owned by this entity */ - assets: AssetConnection; - /** The role(s) that the current user could assign to other users on this entity, if applicable. */ - assignableRoles: Array; - /** Retrieve a list of user & role assignments for this entity */ - assignedUsers: ContextualPermissionConnection; - /** Attributions for the item. */ - attributions: Array; + | 'PRESSBOOKS' + | '%future added value'; + +/** + * An advanced definition that allows mapping specific existing entities to act as parents + * for certain harvested entities, based on their metadata matching a specific mapping. + * + */ +export type HarvestMetadataMapping = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'HarvestMetadataMapping'; /** - * Expose all available entities for this schema property. + * Whether the current user has permission to destroy this record. * */ - availableEntitiesFor: Array; - /** Previous entries in the hierarchy */ - breadcrumbs: Array; + canDestroy: AuthorizationResult; /** - * The canonical permalink for this resource, if one is set. + * Whether the current user has permission to update this record. * */ - canonicalPermalink?: Maybe; - /** @deprecated Use Item.items */ - children: ItemConnection; - collection: Collection; - community: Community; - /** Look up contribution role configuration for this record. */ - contributionRoles: ContributionRoleConfiguration; - contributions: ItemContributionConnection; - /** Contributors to this element */ - contributors: AnyContributorConnection; - /** The date this entity was added to the WDP */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * Whether the entity is _currently_ hidden, based on the server's time zone. + * Which "field" this should try to match its `pattern` against. * */ - currentlyHidden: Scalars['Boolean']['output']; + field: HarvestMetadataMappingField; + id: Scalars['ID']['output']; /** - * Whether the entity is _currently_ visible, based on the server's time zone. + * A regular expression / pattern to match against. Must be written to support postgres regular expressions, + * which are more limited than most modern languages but follow the ANSI spec as much as possible. * */ - currentlyVisible: Scalars['Boolean']['output']; + pattern: Scalars['String']['output']; /** - * Search and retrieve *all* descendants of this `Entity`, regardless of type. + * The encoded slug for this record. * */ - descendants: EntityDescendantConnection; + slug: Scalars['Slug']['output']; /** - * The Digital Object Identifier for this entity. See https://doi.org + * The entity that will act as the parent when this metadata mapping is matched. * */ - doi?: Maybe; + targetEntity: HarvestTarget; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +/** The connection type for HarvestMetadataMapping. */ +export type HarvestMetadataMappingConnection = Paginated & { + __typename?: 'HarvestMetadataMappingConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** Autogenerated input type of HarvestMetadataMappingCreate */ +export type HarvestMetadataMappingCreateInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * The data sanitized from `rawDOI`, including things like the URL and host. + * Which "field" this should try to match its `pattern` against. * */ - doiData: DoiData; - entityViews: AnalyticsEventCountSummary; - entityViewsByRegion: AnalyticsRegionCountSummary; - /** Retrieve the first matching item beneath this item. */ - firstItem?: Maybe; + field: HarvestMetadataMappingField; /** - * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have - * no effect on this record. + * The source to create the harvest metadata mapping for. * */ - harvestModificationStatus: HarvestModificationStatus; + harvestSourceId: Scalars['ID']['input']; /** - * The harvest record(s) associated with the entity, with most recent harvest records sorted to the top. + * A regular expression / pattern to match against. Must be written to support postgres regular expressions, + * which are more limited than most modern languages but follow the ANSI spec as much as possible. * - * It is technically possible for multiple harvest records to have affected an entity. + */ + pattern: Scalars['String']['input']; + /** + * The entity that will act as the parent when this metadata mapping is matched. * */ - harvestRecords: Array; - /** Whether this item has any child items */ - hasItems: Scalars['Boolean']['output']; + targetEntityId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of HarvestMetadataMappingCreate. */ +export type HarvestMetadataMappingCreatePayload = StandardMutationPayload & { + __typename?: 'HarvestMetadataMappingCreatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; /** - * For use in the admin, something to signify that data has been set on `rawDOI` - * that could not be properly assigned to `doi`. + * The newly-modified harvest metadata mapping, if successful. * */ - hasWeirdDOI: Scalars['Boolean']['output']; - /** A hero image for the entity, suitable for displaying in page headers */ - heroImage: ImageAttachment; - /** Configurable metadata for the hero_image attachment */ - heroImageMetadata?: Maybe; + harvestMetadataMapping?: Maybe; +}; + +/** Autogenerated input type of HarvestMetadataMappingDestroy */ +export type HarvestMetadataMappingDestroyInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * Whether the entity's visibility is set to `HIDDEN` + * The harvest metadata mapping to destroy. * */ - hidden: Scalars['Boolean']['output']; + harvestMetadataMappingId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of HarvestMetadataMappingDestroy. */ +export type HarvestMetadataMappingDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'HarvestMetadataMappingDestroyPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** An edge in a connection. */ +export type HarvestMetadataMappingEdge = { + __typename?: 'HarvestMetadataMappingEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: HarvestMetadataMapping; +}; + +/** + * An enum describing which "field" to match on. An individual record + * can try to match any number of fields in order to satisfy its mappings. + * + */ +export type HarvestMetadataMappingField = /** - * Specify a time to check to see if the entity will be hidden. + * Some sort of identifier for the record itself. * */ - hiddenAsOf: Scalars['Boolean']['output']; - /** If present, this is the timestamp the entity was hidden at */ - hiddenAt?: Maybe; - /** The depth of the hierarchical entity, taking into account any parent types */ - hierarchicalDepth: Scalars['Int']['output']; - id: Scalars['ID']['output']; - /** A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers. */ - identifier: Scalars['String']['output']; - /** Retrieve the items beneath this item */ - items: ItemConnection; + | 'IDENTIFIER' /** - * Access layouts for this entity. + * Some sort of relationship identifier for the record. * */ - layouts: EntityLayouts; - leaf: Scalars['Boolean']['output']; - /** Available link targets for this entity */ - linkTargetCandidates: LinkTargetCandidateConnection; - links: EntityLinkConnection; + | 'RELATION' /** - * Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. + * An attempt to map records based on their title value(s) to existing collections. * */ - markedForPurge: Scalars['Boolean']['output']; + | 'TITLE' + | '%future added value'; + +/** + * Sort a collection of `HarvestMetadataMapping` records by specific properties and directions. + * + */ +export type HarvestMetadataMappingOrder = + /** Sort harvest metadata mappings by their default order. */ + | 'DEFAULT' + /** Sort harvest metadata mappings by oldest created date. */ + | 'OLDEST' + /** Sort harvest metadata mappings by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** + * An enum which describes how harvesting actions will affect + * a given record. + * + */ +export type HarvestModificationStatus = /** - * Fetch a list of named ancestors for this entity. This list is deterministically sorted - * to retrieve the "closest" ancestors first, ascending upwards in the hierarchy from there. + * This record was created through harvesting actions and **has** + * been modified in the admin section. Harvest * - * **Note**: Like breadcrumbs, this association is intentionally not paginated for ease of use, - * because in practice a schema should not have many associations. + * Harvesting actions will leave this record alone. * */ - namedAncestors: Array; - /** Look up an ordering for this entity by identifier */ - ordering?: Maybe; - /** Look up an ordering that is set up to handle a specific schema. */ - orderingForSchema?: Maybe; + | 'MODIFIED' /** - * Retrieve a connection of orderings for the parent object. + * This record was created through harvesting actions and **has not** + * been modified in the admin section. + * + * Harvesting actions will overwrite any data if they encounter this record again. * */ - orderings: OrderingConnection; - /** Look up a page for this entity by slug */ - page?: Maybe; - pages: PageConnection; - parent?: Maybe; + | 'PRISTINE' /** - * All permalinks associated with this resource. + * This record was not created through harvesting actions. + * + * Should harvesting actions end up matching an unharvested record, + * it will change this value to `MODIFIED` and treat it as such. * */ - permalinks: Array; - /** An array of hashes that can be requested to load in a context */ - permissions: Array; - /** The date this entity was published */ - published: VariablePrecisionDate; + | 'UNHARVESTED' + | '%future added value'; + +/** + * Options that control mapping of entities during the harvesting process. + * + */ +export type HarvestOptionsMapping = { + __typename?: 'HarvestOptionsMapping'; /** - * The value that was set on the entity. It will be validated and sanitized - * and be set on `doi` if possible. + * Harvesting certain journals may require creating volumes/issues automatically. * */ - rawDOI?: Maybe; - /** Retrieve linked items of the same schema type */ - relatedItems: ItemConnection; - root: Scalars['Boolean']['output']; - schemaDefinition: SchemaDefinition; + autoCreateVolumesAndIssues: Scalars['Boolean']['output']; /** - * The context for our schema instance. Includes form values and necessary referents. + * When linking to existing entities, it may be necessary to use global identifiers, + * as there may be some entities that are created outside of a specific harvesting + * attempt, or exist elsewhere in the hierarchy. + * + * This will look for a globally unique identifier for an entity, and fail if it finds + * duplicates. * */ - schemaInstanceContext: SchemaInstanceContext; + linkIdentifiersGlobally: Scalars['Boolean']['output']; /** - * A list of schema properties associated with this instance or version. + * When resolving to existing entities, the system may rely on + * metadata mappings to figure out where something should go based + * on the presence of certain fields in the metadata. * */ - schemaProperties: Array; + useMetadataMappings: Scalars['Boolean']['output']; +}; + +/** + * Options that control mapping of entities during the harvesting process. + * + */ +export type HarvestOptionsMappingInput = { /** - * Read a single schema property by its full path. + * Harvesting certain journals may require creating volumes/issues automatically. * */ - schemaProperty?: Maybe; - schemaRanks: Array; - schemaVersion: SchemaVersion; - /** Search from this level of the API using it as the origin */ - search: SearchScope; - slug: Scalars['Slug']['output']; + autoCreateVolumesAndIssues?: InputMaybe; /** - * A human-readable subtitle for the entity. + * When linking to existing entities, it may be necessary to use global identifiers, + * as there may be some entities that are created outside of a specific harvesting + * attempt, or exist elsewhere in the hierarchy. + * + * This will look for a globally unique identifier for an entity, and fail if it finds + * duplicates. * */ - subtitle?: Maybe; + linkIdentifiersGlobally?: InputMaybe; /** - * A description of the contents of the entity. + * When resolving to existing entities, the system may rely on + * metadata mappings to figure out where something should go based + * on the presence of certain fields in the metadata. * */ - summary?: Maybe; - /** A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc. */ - thumbnail: ImageAttachment; - /** Configurable metadata for the thumbnail attachment */ - thumbnailMetadata?: Maybe; + useMetadataMappings?: InputMaybe; +}; + +/** + * Options that control reading from the source. + * + */ +export type HarvestOptionsRead = { + __typename?: 'HarvestOptionsRead'; /** - * A human-readable title for the entity. + * The maximum number of records to read from the source per attempt. + * + * The system will not paginate beyond this count. * */ - title: Scalars['String']['output']; - /** The date this entity was last updated within the WDP */ - updatedAt: Scalars['ISO8601DateTime']['output']; - /** Access grants for specific users */ - userAccessGrants: UserCollectionAccessGrantConnection; - /** Not presently used */ - userGroupAccessGrants: UserGroupCollectionAccessGrantConnection; - /** If an entity is available in the frontend */ - visibility: EntityVisibility; + maxRecords: Scalars['Int']['output']; +}; + +/** + * Options that control reading from the source. + * + */ +export type HarvestOptionsReadInput = { /** - * Whether the entity's visibility is set to `VISIBLE`. + * The maximum number of records to read from the source per attempt. + * + * The system will not paginate beyond this count. * */ - visible: Scalars['Boolean']['output']; - /** If present, this is the timestamp an entity is visible after */ - visibleAfterAt?: Maybe; + maxRecords?: InputMaybe; +}; + +/** + * Protocols for harvesting. Only `OAI` is presently supported. + * + * `HarvestProtocol` describes the transport method for individual records to be harvested, + * while `HarvestMetadataFormat` describes the structure of the data. + * + */ +export type HarvestProtocol = /** - * Specify a time to check to see if the entity will be visible. + * [OAI-PMH](https://www.openarchives.org/OAI/2.0/guidelines.htm) * */ - visibleAsOf: Scalars['Boolean']['output']; - /** If present, this is the timestamp an entity is visible until */ - visibleUntilAt?: Maybe; + | 'OAI' + /** + * [Pressbooks API](https://pressbooks.org/dev-guides/rest-api/) + * + */ + | 'PRESSBOOKS' + /** + * A fallback value for protocols that should not appear under normal circumstances. + * + */ + | 'UNKNOWN' + | '%future added value'; + +/** + * The selection criteria for pruning entities from a harvest. + * + */ +export type HarvestPruneMode = + /** + * Prune **all** entities that have been harvested by the source or attempt. + * + */ + | 'EVERYTHING' + /** + * Prune **only** unmodified harvested entities. + * + * Note that unmodified entities _may_ be left behind + * if one of their child entities has been modified. + * + */ + | 'UNMODIFIED' + | '%future added value'; + +/** + * An object representing a single record in the `HarvestSource`. + * It can produce one or more harvest entities. + * + */ +export type HarvestRecord = CommonModel & CommonPermissions & HasDefaultTimestamps & HasHarvestErrors & HasHarvestMetadataFormat & Node & QueriesHarvestMessage & Sluggable & { + __typename?: 'HarvestRecord'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The number of entities this record can/will produce (if available). + * + */ + entityCount?: Maybe; + /** + * Staged entities that were extracted from this record. + * + */ + harvestEntities: Array; + /** + * A list of errors that are associated with this harvesting type. + * + * @deprecated Harvest errors are no longer returned nor generated. Check the harvest messages instead. + * + */ + harvestErrors: Array; + harvestMessages: HarvestMessageConnection; + /** + * The harvest source this belongs to. + * + */ + harvestSource: HarvestSource; + id: Scalars['ID']['output']; + /** + * A unique identifier for the record within the `HarvestSource`. + * + */ + identifier: Scalars['String']['output']; + jsonMetadataSource?: Maybe; + /** + * The metadata format used by this source / mapping. + * + * Fixed at creation time for now. + * + */ + metadataFormat: HarvestMetadataFormat; + /** + * The raw metadata extracted from `rawSource`, with minimal processing applied. + * + * When rendering in the frontend, this should be in some sort of fixed-width font / code view, + * as it will be JSON, XML, or similar types of data. + * + */ + rawMetadataSource?: Maybe; + /** + * The raw source extracted from the protocol. + * + * When rendering in the frontend, this should be in some sort of fixed-width font / code view, + * as it will be JSON, XML, or similar types of data. + * + */ + rawSource?: Maybe; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The status of the record. + * + */ + status: HarvestRecordStatus; + /** + * An enum describing how the `rawSource` / `rawMetadataSource` is encoded. + * + */ + underlyingDataFormat: UnderlyingDataFormat; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** An item that belongs to a collection */ -export type ItemAccessGrantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - subject?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemAllAccessGrantsArgs = { +/** + * An object representing a single record in the `HarvestSource`. + * It can produce one or more harvest entities. + * + */ +export type HarvestRecordHarvestMessagesArgs = { after?: InputMaybe; before?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + orFilters?: InputMaybe>; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; - subject?: InputMaybe; }; - -/** An item that belongs to a collection */ -export type ItemAncestorByNameArgs = { - name: Scalars['String']['input']; +/** The connection type for HarvestRecord. */ +export type HarvestRecordConnection = Paginated & { + __typename?: 'HarvestRecordConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; }; - -/** An item that belongs to a collection */ -export type ItemAncestorOfTypeArgs = { - schema: Scalars['String']['input']; +/** An edge in a connection. */ +export type HarvestRecordEdge = { + __typename?: 'HarvestRecordEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: HarvestRecord; }; +/** + * Sort a collection of `HarvestRecord` records by specific properties and directions. + * + */ +export type HarvestRecordOrder = + /** Sort harvest records by their default order. */ + | 'DEFAULT' + /** Sort harvest records by oldest created date. */ + | 'OLDEST' + /** Sort harvest records by newest created date. */ + | 'RECENT' + | '%future added value'; -/** An item that belongs to a collection */ -export type ItemAnnouncementArgs = { - slug: Scalars['Slug']['input']; -}; - +/** + * A harvested record can exist in a number of statuses. + * + */ +export type HarvestRecordStatus = + /** + * An record that is considered active and ready to be extracted into entities. + * + */ + | 'ACTIVE' + /** + * A record that was deleted in the upstream harvest source. + * + */ + | 'DELETED' + /** + * A brand new record that hasn't been processed yet. + * + */ + | 'PENDING' + /** + * A record that was skipped over for some validation reason. + * + */ + | 'SKIPPED' + | '%future added value'; -/** An item that belongs to a collection */ -export type ItemAnnouncementsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type HarvestScheduleData = { + __typename?: 'HarvestScheduleData'; + /** + * The frequency expression as a cron statement, regardless + * of its original syntax. + * + */ + cronExpression?: Maybe; + /** + * The maximum frequency between occurrences, expressed as a duration. + * + */ + frequencyMax?: Maybe; + /** + * The minimum frequency between occurrences, expressed as a duration. + * + */ + frequencyMin?: Maybe; + /** + * If the frequency expression included time zone information, + * this will expose which time zone is being used. Otherwise, + * the frequency will use the Meru installation time zone. + * + */ + timeZone?: Maybe; }; +/** + * Harvest schedule mode enum + * + */ +export type HarvestScheduleMode = + | 'MANUAL' + | 'SCHEDULED' + | '%future added value'; -/** An item that belongs to a collection */ -export type ItemAssetDownloadsArgs = { - dateFilter?: InputMaybe; - precision?: InputMaybe; - subjectIds?: InputMaybe>; +/** + * The concept of a "set" within a given `HarvestSource`. It can be used in order to fetch + * a subset of data with a `HarvestMapping`. These are not created directly in Meru, but + * instead are fetched by the `HarvestSource` and internally managed based on its `protocol`. + * + */ +export type HarvestSet = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'HarvestSet'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * An optional description for the set (if available). + * + */ + description?: Maybe; + /** + * The source for the harvest set. + * + */ + harvestSource: HarvestSource; + id: Scalars['ID']['output']; + /** + * A unique, machine-readable string that identifies the set for the specific source. + * + */ + identifier: Scalars['String']['output']; + /** + * A human-readable name that describes the set (if available). + * + */ + name: Scalars['String']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; - -/** An item that belongs to a collection */ -export type ItemAssetDownloadsByRegionArgs = { - dateFilter?: InputMaybe; - subjectIds?: InputMaybe>; - usOnly?: InputMaybe; +/** The connection type for HarvestSet. */ +export type HarvestSetConnection = Paginated & { + __typename?: 'HarvestSetConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; }; - -/** An item that belongs to a collection */ -export type ItemAssetsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - kind?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +/** An edge in a connection. */ +export type HarvestSetEdge = { + __typename?: 'HarvestSetEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: HarvestSet; }; - -/** An item that belongs to a collection */ -export type ItemAssignedUsersArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +/** + * Filtering options for `HarvestSet` records. + * + */ +export type HarvestSetFilterInput = { + /** + * Filter by identifier. + * + */ + identifier?: InputMaybe; + /** + * Filter by name. + * + */ + name?: InputMaybe; + /** + * Filter by prefix. + * + */ + prefix?: InputMaybe; }; +/** + * Sort a collection of `HarvestSet` records by specific properties and directions. + * + */ +export type HarvestSetOrder = + /** Sort harvest sets by their default order. */ + | 'DEFAULT' + /** Sort harvest sets by oldest created date. */ + | 'OLDEST' + /** Sort harvest sets by newest created date. */ + | 'RECENT' + | '%future added value'; -/** An item that belongs to a collection */ -export type ItemAvailableEntitiesForArgs = { - fullPath: Scalars['String']['input']; -}; - - -/** An item that belongs to a collection */ -export type ItemChildrenArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; +/** + * A source from which to harvest entities. + * + * It can produce a `HarvestAttempt`. + * + */ +export type HarvestSource = CommonModel & CommonPermissions & HarvestAttemptable & HasDefaultTimestamps & HasHarvestExtractionMappingTemplate & HasHarvestMetadataFormat & HasHarvestOptions & Node & QueriesHarvestMessage & Sluggable & { + __typename?: 'HarvestSource'; + /** + * The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. + * + */ + baseURL: Scalars['String']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * An optional, wordier description for the source that may offer insight as to its intended + * purpose within the installation. + * + */ + description?: Maybe; + /** + * The extraction mapping template used for this harvesting-related record + * at its place in the hierarchy. It is an XML document that describes how + * to map various types of metadata from the harvested records and transform + * that data into entities in Meru. + * + * For harvest sources, it can be considered the default mapping template + * for any record in the system, and should be used to pre-populate + * attempts that are created by the source, as well as future plans to + * allow for extracting a single record by external ID that may not have + * yet been fetched by an extract records process. + * + * For harvest mappings, it can be considered the default mapping template + * for any attempt created by the mapping. + * + * For any harvesting data that exists prior to the harvesting refactor + * completed during March of 2025, it's possible for this value to be + * an empty string. Any modifications to mappings and sources from that + * time will need to add a valid mapping template in order to succeed. + * + * See `Query.harvestExamples` for examples of valid mapping templates. + * + */ + extractionMappingTemplate: Scalars['String']['output']; + /** + * Attempts produced by this source. + * + */ + harvestAttempts: HarvestAttemptConnection; + /** + * Mappings associated with the harvest source. + * + */ + harvestMappings: HarvestMappingConnection; + harvestMessages: HarvestMessageConnection; + /** + * Metadata mappings used for advanced features that allow matching patterns to existing harvest targets. + * + */ + harvestMetadataMappings: HarvestMetadataMappingConnection; + /** + * Records associated with this source. + * + */ + harvestRecords: HarvestRecordConnection; + /** + * Sets associated with the harvest source. + * + * A single source may have thousands of sets associated with it, + * so it must be paginated. + * + */ + harvestSets: HarvestSetConnection; + id: Scalars['ID']['output']; + /** + * A unique, machine-readable identifier. Requirements: + * + * * At least three characters: alphanumeric, hyphens, underscores + * * All lowercase + * * No whitespace + * * No consecutive hyphens nor underscores. + * + * Cannot be changed once created. To reuse an identifier, the original source + * must be destroyed. + * + */ + identifier: Scalars['String']['output']; + /** + * Options that control mapping of entities during the harvesting process. + * + */ + mappingOptions: HarvestOptionsMapping; + /** + * The metadata format used by this source / mapping. + * + * Fixed at creation time for now. + * + */ + metadataFormat: HarvestMetadataFormat; + /** + * A unique name for the source. Purely descriptive. + * + */ + name: Scalars['String']['output']; + /** + * The protocol for this source. + * + * Cannot be changed once created. + * + */ + protocol: HarvestProtocol; + /** + * Options that control reading from the source. + * + */ + readOptions: HarvestOptionsRead; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * An enum that describes the functional state for harvest sources. + * + */ + status: HarvestSourceStatus; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** An item that belongs to a collection */ -export type ItemContributionsArgs = { +/** + * A source from which to harvest entities. + * + * It can produce a `HarvestAttempt`. + * + */ +export type HarvestSourceHarvestAttemptsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; }; -/** An item that belongs to a collection */ -export type ItemContributorsArgs = { +/** + * A source from which to harvest entities. + * + * It can produce a `HarvestAttempt`. + * + */ +export type HarvestSourceHarvestMappingsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; - kind?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; - prefix?: InputMaybe; }; -/** An item that belongs to a collection */ -export type ItemDescendantsArgs = { +/** + * A source from which to harvest entities. + * + * It can produce a `HarvestAttempt`. + * + */ +export type HarvestSourceHarvestMessagesArgs = { after?: InputMaybe; before?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - maxDepth?: InputMaybe; - order?: EntityDescendantOrder; + orFilters?: InputMaybe>; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; - schema?: InputMaybe>; - scope?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemEntityViewsArgs = { - dateFilter?: InputMaybe; - precision?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemEntityViewsByRegionArgs = { - dateFilter?: InputMaybe; - usOnly?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemFirstItemArgs = { - nodeFilter?: InputMaybe; - order?: InputMaybe; - schema?: InputMaybe>; -}; - - -/** An item that belongs to a collection */ -export type ItemHiddenAsOfArgs = { - time?: InputMaybe; }; -/** An item that belongs to a collection */ -export type ItemItemsArgs = { - access?: InputMaybe; +/** + * A source from which to harvest entities. + * + * It can produce a `HarvestAttempt`. + * + */ +export type HarvestSourceHarvestMetadataMappingsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - nodeFilter?: InputMaybe; - order?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; - schema?: InputMaybe>; }; -/** An item that belongs to a collection */ -export type ItemLinkTargetCandidatesArgs = { +/** + * A source from which to harvest entities. + * + * It can produce a `HarvestAttempt`. + * + */ +export type HarvestSourceHarvestRecordsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; - kind?: InputMaybe; last?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; - title?: InputMaybe; }; -/** An item that belongs to a collection */ -export type ItemLinksArgs = { +/** + * A source from which to harvest entities. + * + * It can produce a `HarvestAttempt`. + * + */ +export type HarvestSourceHarvestSetsArgs = { after?: InputMaybe; before?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; }; - -/** An item that belongs to a collection */ -export type ItemOrderingArgs = { - identifier: Scalars['String']['input']; -}; - - -/** An item that belongs to a collection */ -export type ItemOrderingForSchemaArgs = { - slug: Scalars['Slug']['input']; -}; - - -/** An item that belongs to a collection */ -export type ItemOrderingsArgs = { - after?: InputMaybe; - availability?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - visibility?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemPageArgs = { - slug: Scalars['String']['input']; -}; - - -/** An item that belongs to a collection */ -export type ItemPagesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemRelatedItemsArgs = { - access?: InputMaybe; - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemSchemaPropertyArgs = { - fullPath: Scalars['String']['input']; -}; - - -/** An item that belongs to a collection */ -export type ItemSearchArgs = { - maxDepth?: InputMaybe; - visibility?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemUserAccessGrantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemUserGroupAccessGrantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** An item that belongs to a collection */ -export type ItemVisibleAsOfArgs = { - time?: InputMaybe; -}; - -/** - * Attributions for items. - * - */ -export type ItemAttribution = Attribution & Node & Sluggable & { - __typename?: 'ItemAttribution'; - contributor: ContributorBase; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - /** - * A priority-ordered list of the roles the associated contributor had. - * - */ - roles: Array; - slug: Scalars['Slug']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -/** The connection type for Item. */ -export type ItemConnection = Paginated & { - __typename?: 'ItemConnection'; +/** The connection type for HarvestSource. */ +export type HarvestSourceConnection = Paginated & { + __typename?: 'HarvestSourceConnection'; /** A list of edges. */ - edges: Array; + edges: Array; /** A list of nodes. */ - nodes: Array; + nodes: Array; /** Information to aid in pagination. */ pageInfo: PageInfo; }; -/** A contribution to an item */ -export type ItemContribution = Contribution & ContributionBase & Node & Sluggable & { - __typename?: 'ItemContribution'; - /** A potentially-overridden value from person contributors */ - affiliation?: Maybe; - /** The actual role */ - contributionRole: ControlledVocabularyItem; - contributor: Contributor; - contributorKind: ContributorKind; - createdAt: Scalars['ISO8601DateTime']['output']; - /** A potentially-overridden display name value for all contributor types */ - displayName: Scalars['String']['output']; - id: Scalars['ID']['output']; +/** Autogenerated input type of HarvestSourceCreate */ +export type HarvestSourceCreateInput = { /** - * An optional sorting discriminator to decide which contribution ranks higher. - * - * Applies _after_ contribution role ranking. + * The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. * */ - innerPosition?: Maybe; - item: Item; - /** A potentially-overridden value from organization contributors */ - location?: Maybe; - metadata: ContributionMetadata; + baseURL: Scalars['String']['input']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * An optional sorting discriminator to decide which contribution ranks higher. - * - * Applies _before_ contribution role ranking, superseding everything else. + * An optional, wordier description for the source that may offer insight as to its intended + * purpose within the installation. * */ - outerPosition?: Maybe; + description?: InputMaybe; /** - * An arbitrary text value describing the role the contributor had - * @deprecated Use `roleLabel` instead. + * The extraction mapping template used for this harvesting-related record + * at its place in the hierarchy. It is an XML document that describes how + * to map various types of metadata from the harvested records and transform + * that data into entities in Meru. + * + * For harvest sources, it can be considered the default mapping template + * for any record in the system, and should be used to pre-populate + * attempts that are created by the source, as well as future plans to + * allow for extracting a single record by external ID that may not have + * yet been fetched by an extract records process. + * + * For harvest mappings, it can be considered the default mapping template + * for any attempt created by the mapping. + * + * For any harvesting data that exists prior to the harvesting refactor + * completed during March of 2025, it's possible for this value to be + * an empty string. Any modifications to mappings and sources from that + * time will need to add a valid mapping template in order to succeed. + * + * See `Query.harvestExamples` for examples of valid mapping templates. + * */ - role?: Maybe; - /** An arbitrary text value describing the role the contributor had */ - roleLabel?: Maybe; - slug: Scalars['Slug']['output']; - /** A potentially-overridden value from person contributors */ - title?: Maybe; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -/** The connection type for ItemContribution. */ -export type ItemContributionConnection = Paginated & { - __typename?: 'ItemContributionConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** An edge in a connection. */ -export type ItemContributionEdge = { - __typename?: 'ItemContributionEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: ItemContribution; -}; - -/** An edge in a connection. */ -export type ItemEdge = { - __typename?: 'ItemEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: Item; -}; - -export type ItemParent = Collection | Item | { __typename?: "%other" }; - -/** - * Entities within the system have layouts associated with their schema, - * that can eventually be overridden for more custom approaches. - * - * This interface defines the *definition* for one such layout, while any - * given entity will also have its own LayoutInstance. - * - */ -export type LayoutDefinition = { - layoutKind: LayoutKind; -}; - -/** - * An interface describing an instance type that can be rendered for a given entity. - * - */ -export type LayoutInstance = { + extractionMappingTemplate: Scalars['String']['input']; /** - * Whether all templates in this instance are hidden. + * A unique, machine-readable identifier. Requirements: + * + * * At least three characters: alphanumeric, hyphens, underscores + * * All lowercase + * * No whitespace + * * No consecutive hyphens nor underscores. + * + * Cannot be changed once created. To reuse an identifier, the original source + * must be destroyed. * */ - allHidden: Scalars['Boolean']['output']; + identifier: Scalars['String']['input']; /** - * Whether all slots in all template instances in this layout are empty. + * Options that control mapping of entities during the harvesting process. * */ - allSlotsEmpty: Scalars['Boolean']['output']; + mappingOptions?: InputMaybe; /** - * The associated entity for this layout instance. + * The metadata format for this source to use by default. + * + * Mappings can override this, but it cannot be changed currently. * */ - entity: Entity; - /** - * The time this object was last rendered. - * - */ - lastRenderedAt?: Maybe; - layoutKind: LayoutKind; -}; - -/** - * The various kinds of `Layout`s in the system. - * - */ -export type LayoutKind = - /** - * The "hero" layout for an Entity. - * - */ - | 'HERO' + metadataFormat: HarvestMetadataFormat; /** - * A layout describing how an entity should look when it is being rendered. + * A unique name for the source. Purely descriptive. * */ - | 'LIST_ITEM' + name: Scalars['String']['input']; /** - * The "main" layout for the landing page of an entity. - * - * It is where most of the detail on an entity should go. + * The protocol for this source. * - */ - | 'MAIN' - /** - * A layout for controlling how metadata should render. + * Cannot be changed once created. * */ - | 'METADATA' + protocol?: HarvestProtocol; /** - * A layout describing how an entity should be navigated. + * Options that control reading from the source. * */ - | 'NAVIGATION' + readOptions?: InputMaybe; +}; + +/** Autogenerated return type of HarvestSourceCreate. */ +export type HarvestSourceCreatePayload = StandardMutationPayload & { + __typename?: 'HarvestSourceCreatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; /** - * A shared layout for certain supplementary routes like contributors and metrics. + * The newly-modified harvest source, if successful. * */ - | 'SUPPLEMENTARY' - | '%future added value'; + harvestSource?: Maybe; +}; -/** Autogenerated input type of LinkEntity */ -export type LinkEntityInput = { +/** Autogenerated input type of HarvestSourceDestroy */ +export type HarvestSourceDestroyInput = { /** A unique identifier for the client performing the mutation. */ clientMutationId?: InputMaybe; - /** The 'type' of link */ - operator: EntityLinkOperator; - /** The ID for the source entity */ - sourceId: Scalars['ID']['input']; - /** The ID for the target entity */ - targetId: Scalars['ID']['input']; + /** + * The harvest source to destroy. + * + */ + harvestSourceId: Scalars['ID']['input']; }; -/** Autogenerated return type of LinkEntity. */ -export type LinkEntityPayload = StandardMutationPayload & { - __typename?: 'LinkEntityPayload'; +/** Autogenerated return type of HarvestSourceDestroy. */ +export type HarvestSourceDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'HarvestSourceDestroyPayload'; attributeErrors: Array; /** A unique identifier for the client performing the mutation. */ clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; /** @deprecated Use attributeErrors or globalErrors */ errors: Array; globalErrors: Array; /** Not presently used */ haltCode?: Maybe; - /** The created or updated link, if applicable */ - link?: Maybe; +}; + +/** An edge in a connection. */ +export type HarvestSourceEdge = { + __typename?: 'HarvestSourceEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: HarvestSource; }; /** - * An enumerated value associated with the templating subsystem. + * Sort a collection of `HarvestSource` records by specific properties and directions. * */ -export type LinkListBackground = +export type HarvestSourceOrder = + /** Sort harvest sources by their default order. */ + | 'DEFAULT' + /** Sort harvest sources by oldest created date. */ + | 'OLDEST' + /** Sort harvest sources by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** Autogenerated input type of HarvestSourcePruneEntities */ +export type HarvestSourcePruneEntitiesInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * A dark gradient is applied to the background of this template. + * The harvest source to update. * */ - | 'DARK' + harvestSourceId: Scalars['ID']['input']; /** - * A light gradient is applied to the background of this template. + * Whether to prune `PRISTINE` or **all** harvested entities. * */ - | 'LIGHT' + mode: HarvestPruneMode; +}; + +/** Autogenerated return type of HarvestSourcePruneEntities. */ +export type HarvestSourcePruneEntitiesPayload = StandardMutationPayload & { + __typename?: 'HarvestSourcePruneEntitiesPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; /** - * No background is applied to this template. + * The harvest source, if successful. * */ - | 'NONE' - | '%future added value'; + harvestSource?: Maybe; +}; /** - * An enum used to control the mode of selection for a link list template. + * An enum that describes the functional state for harvest sources. + * + * Harvest sources are checked on a regular basis and can also be + * manually rechecked with harvestSourceCheck * */ -export type LinkListSelectionMode = +export type HarvestSourceStatus = /** - * Render links from a dynamic list, determined at query time. + * An active harvest source has been recently validated as working + * and thus can be used for harvesting. * */ - | 'DYNAMIC' + | 'ACTIVE' /** - * Render links from a manual list set on each individual entity. See `manualListName` for how this works. + * An inactive harvest source has been recently validated as not working + * and cannot be used for harvesting. * */ - | 'MANUAL' + | 'INACTIVE' | '%future added value'; -export type LinkListTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'LinkListTemplateDefinition'; +/** Autogenerated input type of HarvestSourceUpdate */ +export type HarvestSourceUpdateInput = { /** - * The background gradient to use for this template. Affects presentation. + * The URL to fetch from. It should be just the base URL, without any OAI verbs or similar. * */ - background?: Maybe; + baseURL: Scalars['String']['input']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * A boolean used to describe list templates that should match browse style as close as possible. + * An optional, wordier description for the source that may offer insight as to its intended + * purpose within the installation. * */ - browseStyle?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; + description?: InputMaybe; /** - * When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure - * as schemas to define a dynamic ordering that is resolved at runtime and based - * on the `selectionSource`. + * The extraction mapping template used for this harvesting-related record + * at its place in the hierarchy. It is an XML document that describes how + * to map various types of metadata from the harvested records and transform + * that data into entities in Meru. * - */ - dynamicOrderingDefinition?: Maybe; - /** - * Enumerate how much context to show when listing entities. + * For harvest sources, it can be considered the default mapping template + * for any record in the system, and should be used to pre-populate + * attempts that are created by the source, as well as future plans to + * allow for extracting a single record by external ID that may not have + * yet been fetched by an extract records process. * - * Replaces `showEntityContext`. + * For harvest mappings, it can be considered the default mapping template + * for any attempt created by the mapping. + * + * For any harvesting data that exists prior to the harvesting refactor + * completed during March of 2025, it's possible for this value to be + * an empty string. Any modifications to mappings and sources from that + * time will need to add a valid mapping template in order to succeed. + * + * See `Query.harvestExamples` for examples of valid mapping templates. * */ - entityContext?: Maybe; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; + extractionMappingTemplate: Scalars['String']['input']; /** - * When `selectionMode` is set to `MANUAL`, the purpose of this property - * is to specify a name under which all the manual selections (per entity) - * will be stored. This allows a layout to have multiple templates of the - * same type using different lists, that will persist across rearrangements - * of the layout _without_ losing connections between entities. + * The harvest source to update. * */ - manualListName?: Maybe; - seeAllButtonLabel?: Maybe; + harvestSourceId: Scalars['ID']['input']; /** - * If provided, this will expose an ordering on the template instance that can - * be used to generate a link to the ordering in the frontend. + * Options that control mapping of entities during the harvesting process. * */ - seeAllOrderingIdentifier?: Maybe; + mappingOptions?: InputMaybe; /** - * The fallback mode to use when rendering a list of entities, when the list from - * `selectionMode` is empty and `useSelectionFallback` has been set to true. + * A unique name for the source. Purely descriptive. * */ - selectionFallbackMode?: Maybe; + name: Scalars['String']['input']; /** - * Regardless of `selectionMode`, this limit will be applied on whatever resulting - * list of entities are produced, so that only up to that amount of entities are - * rendered in the template proper. + * Options that control reading from the source. * */ - selectionLimit?: Maybe; + readOptions?: InputMaybe; +}; + +/** Autogenerated return type of HarvestSourceUpdate. */ +export type HarvestSourceUpdatePayload = StandardMutationPayload & { + __typename?: 'HarvestSourceUpdatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; /** - * The default mode to use when rendering a list of entities. - * - * See also `selectionFallbackMode` and `useSelectionFallback`. + * The newly-modified harvest source, if successful. * */ - selectionMode?: Maybe; + harvestSource?: Maybe; +}; + +/** + * Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + * + */ +export type HarvestTarget = { /** - * When selecting entities based on `selectionMode`, this property determines - * which entity (relevant to the rendering entity) should be used for lookups. + * Whether this is a collection or a community. * - * By default, it is `self`, which means the rendering entity itself. + */ + harvestTargetKind: HarvestTargetKind; + /** + * The encoded slug for this record. * - * It can also support things like `ancestor.journal`, `ancestor.issue`, etc., - * in order to render a list of values in its parent. + */ + slug: Scalars['Slug']['output']; + /** + * A human-readable subtitle for the entity. * */ - selectionSource?: Maybe; + subtitle?: Maybe; /** - * The derived name of the ancestor used for the `selectionSource`. + * A description of the contents of the entity. * - * Exposed for introspection only. + */ + summary?: Maybe; + /** + * A human-readable title for the entity. * */ - selectionSourceAncestorName?: Maybe; + title: Scalars['String']['output']; +}; + +/** + * The kind of entity that's being used as a Harvest Target. + * + */ +export type HarvestTargetKind = /** - * An enum representing what mode `selectionSource` is in. Not directly set, - * it is used internally for lookups. + * A branch or leaf in the hierarchy. * */ - selectionSourceMode?: Maybe; + | 'COLLECTION' /** - * When true, this takes priority over `selectionLimit`. It allows an entire - * matching list of records to be retrieved. It should be used with caution, - * since very large entity trees could cause responses to be slow. + * A root-level entity in the hierarchy. * */ - selectionUnbounded?: Maybe; + | 'COMMUNITY' + | '%future added value'; + +/** Something which implements a #storage key that identifies where its attachment currently lives. */ +export type HasAttachmentStorage = { /** - * Show contributors when listing entities. + * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. * */ - showContributors?: Maybe; + storage?: Maybe; +}; + +export type HasAvailableEntities = { /** - * Show additional context about each entity in the selection. + * Expose all available entities for this schema property. * - * @deprecated Use entity_context enum instead */ - showEntityContext?: Maybe; - showHeroImage?: Maybe; + availableEntities: Array; +}; + +export type HasControlledVocabulary = { /** - * Show nested items from the associated listItemLayouts in order to generate - * a two-tier list. + * The vocabulary configured for this property, based on its `wants` value + * and whatever is currently configured in `ControlledVocabularySource`. * */ - showNestedEntities?: Maybe; - /** @deprecated Use seeAllOrdering on the instance instead. */ - showSeeAllButton?: Maybe; + controlledVocabulary?: Maybe; /** - * Slot definitions for this template. + * The key used to determine which `ControlledVocabulary` to fetch. + * + * See `#controlledVocabulary`. * */ - slots: LinkListTemplateDefinitionSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - title?: Maybe; - updatedAt: Scalars['ISO8601DateTime']['output']; + wants?: Maybe; +}; + +/** An entity that has a DOI */ +export type HasDoi = { /** - * Controls whether or not to use `selectionFallbackMode` if the entity list returned - * via `selectionMode` turns out to be empty at runtime. + * The Digital Object Identifier for this entity. See https://doi.org * */ - useSelectionFallback?: Maybe; + doi?: Maybe; /** - * The variant rendering mode to use for this template. Affects presentation. + * The data sanitized from `rawDOI`, including things like the URL and host. * */ - variant?: Maybe; + doiData: DoiData; /** - * This controls how wide the template should render. + * For use in the admin, something to signify that data has been set on `rawDOI` + * that could not be properly assigned to `doi`. * - * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - * template that also uses `HALF`. + */ + hasWeirdDOI: Scalars['Boolean']['output']; + /** + * The value that was set on the entity. It will be validated and sanitized + * and be set on `doi` if possible. * */ - width?: Maybe; + rawDOI?: Maybe; }; /** - * Slot definitions for the associated template. + * Automatically-set timestamps present on most real models in the system. * */ -export type LinkListTemplateDefinitionSlots = { - __typename?: 'LinkListTemplateDefinitionSlots'; - blockHeader?: Maybe; - blockHeaderFallback?: Maybe; - header?: Maybe; - headerAside?: Maybe; - headerFallback?: Maybe; - listContext?: Maybe; - metadata?: Maybe; - subtitle?: Maybe; +export type HasDefaultTimestamps = { + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -export type LinkListTemplateInstance = Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance & { - __typename?: 'LinkListTemplateInstance'; +/** Entity models implement their own analytics views that come pre-filtered */ +export type HasEntityAnalytics = { + assetDownloads: AnalyticsEventCountSummary; + assetDownloadsByRegion: AnalyticsRegionCountSummary; + entityViews: AnalyticsEventCountSummary; + entityViewsByRegion: AnalyticsRegionCountSummary; +}; + + +/** Entity models implement their own analytics views that come pre-filtered */ +export type HasEntityAnalyticsAssetDownloadsArgs = { + dateFilter?: InputMaybe; + precision?: InputMaybe; + subjectIds?: InputMaybe>; +}; + + +/** Entity models implement their own analytics views that come pre-filtered */ +export type HasEntityAnalyticsAssetDownloadsByRegionArgs = { + dateFilter?: InputMaybe; + subjectIds?: InputMaybe>; + usOnly?: InputMaybe; +}; + + +/** Entity models implement their own analytics views that come pre-filtered */ +export type HasEntityAnalyticsEntityViewsArgs = { + dateFilter?: InputMaybe; + precision?: InputMaybe; +}; + + +/** Entity models implement their own analytics views that come pre-filtered */ +export type HasEntityAnalyticsEntityViewsByRegionArgs = { + dateFilter?: InputMaybe; + usOnly?: InputMaybe; +}; + +export type HasEntityBreadcrumbs = { + /** Previous entries in the hierarchy */ + breadcrumbs: Array; +}; + +export type HasHarvestErrors = { /** - * Whether all slots in this template are empty. + * A list of errors that are associated with this harvesting type. * - */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - /** - * Load the associated definition for this template. + * @deprecated Harvest errors are no longer returned nor generated. Check the harvest messages instead. * */ - definition: LinkListTemplateDefinition; + harvestErrors: Array; +}; + +/** + * An interface for harvesting-related records that expose a mapping template + * for handling extraction at their point in the hierarchy. + * + */ +export type HasHarvestExtractionMappingTemplate = { /** - * The associated entity for this template instance. + * The extraction mapping template used for this harvesting-related record + * at its place in the hierarchy. It is an XML document that describes how + * to map various types of metadata from the harvested records and transform + * that data into entities in Meru. * - */ - entity: Entity; - /** - * The list of entities to render as part of this template's content. + * For harvest sources, it can be considered the default mapping template + * for any record in the system, and should be used to pre-populate + * attempts that are created by the source, as well as future plans to + * allow for extracting a single record by external ID that may not have + * yet been fetched by an extract records process. * - */ - entityList: TemplateEntityList; - /** - * Whether this template instance should be hidden based on some logic. + * For harvest mappings, it can be considered the default mapping template + * for any attempt created by the mapping. * - * At present, this only occurs if certain slots are empty. + * For any harvesting data that exists prior to the harvesting refactor + * completed during March of 2025, it's possible for this value to be + * an empty string. Any modifications to mappings and sources from that + * time will need to add a valid mapping template in order to succeed. * - */ - hidden: Scalars['Boolean']['output']; - id: Scalars['ID']['output']; - /** - * The time this object was last rendered. + * See `Query.harvestExamples` for examples of valid mapping templates. * */ - lastRenderedAt?: Maybe; - layoutKind: LayoutKind; + extractionMappingTemplate: Scalars['String']['output']; +}; + +/** + * A record that stores a metadata format it uses. + * + */ +export type HasHarvestMetadataFormat = { /** - * Return all preceding siblings to the current template in order of proximity. + * The metadata format used by this source / mapping. * - * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + * Fixed at creation time for now. * */ - nextSiblings: Array; + metadataFormat: HarvestMetadataFormat; +}; + +/** + * An interface for records which can be created/updated through Harvesting + * that includes an enum which can prevent harvesting actions from overwriting + * any data that has been manually corrected. + * + */ +export type HasHarvestModificationStatus = { /** - * Return all preceding siblings to the current template in order of proximity. - * - * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have + * no effect on this record. * */ - prevSiblings: Array; + harvestModificationStatus: HarvestModificationStatus; +}; + +export type HasHarvestOptions = { /** - * The ordering to render for a "see all" link. + * Options that control mapping of entities during the harvesting process. * */ - seeAllOrdering?: Maybe; + mappingOptions: HarvestOptionsMapping; /** - * Rendered slots for this template. + * Options that control reading from the source. * */ - slots: LinkListTemplateInstanceSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - updatedAt: Scalars['ISO8601DateTime']['output']; + readOptions: HarvestOptionsRead; }; -/** - * Rendered slots for the associated template. - * - */ -export type LinkListTemplateInstanceSlots = { - __typename?: 'LinkListTemplateInstanceSlots'; - blockHeader?: Maybe; - blockHeaderFallback?: Maybe; - header?: Maybe; - headerAside?: Maybe; - headerFallback?: Maybe; - listContext?: Maybe; - metadata?: Maybe; - subtitle?: Maybe; +export type HasSchemaProperties = { + /** + * A list of schema properties associated with this instance or version. + * + */ + schemaProperties: Array; }; /** - * An enum used to control how a link list template should be rendered. + * An enumerated value associated with the templating subsystem. * */ -export type LinkListVariant = - /** - * A card list of entities. - * - */ - | 'CARDS' - /** - * A compact list of entities. - * - */ - | 'COMPACT' - /** - * A grid of entities - * - */ - | 'GRID' +export type HeroBackground = /** - * A horizontal list of entities with promotional header. + * A dark gradient is applied to the background of this template. * */ - | 'PROMOS' + | 'DARK' /** - * A vertical, summarized list of entities. + * A light gradient is applied to the background of this template. * */ - | 'SUMMARY' + | 'LIGHT' /** - * A tree structure. + * No background is applied to this template. * */ - | 'TREE' - | '%future added value'; - -/** A candidate for a link target, scoped to a parent source */ -export type LinkTargetCandidate = Node & { - __typename?: 'LinkTargetCandidate'; - createdAt: Scalars['ISO8601DateTime']['output']; - /** How deeply nested the candidate entity is */ - depth: Scalars['Int']['output']; - id: Scalars['ID']['output']; - kind: LinkTargetCandidateKind; - /** The actual target */ - target: Entity; - /** The targetID to provide to linkEntity */ - targetId: Scalars['ID']['output']; - /** The target entity's title */ - title: Scalars['String']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -/** The connection type for LinkTargetCandidate. */ -export type LinkTargetCandidateConnection = Paginated & { - __typename?: 'LinkTargetCandidateConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** An edge in a connection. */ -export type LinkTargetCandidateEdge = { - __typename?: 'LinkTargetCandidateEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: LinkTargetCandidate; -}; - -/** Filter the available candidates for a link target */ -export type LinkTargetCandidateFilter = - /** Show all possible link target candidate types */ - | 'ALL' - /** Limit to collection candidates */ - | 'COLLECTION' - /** Limit to item candidates */ - | 'ITEM' + | 'NONE' | '%future added value'; -/** The kind of link target candidate */ -export type LinkTargetCandidateKind = - | 'COLLECTION' - | 'ITEM' +/** The layout to use when rendering a Hero for an `Entity`. */ +export type HeroImageLayout = + | 'ONE_COLUMN' + | 'TWO_COLUMN' | '%future added value'; -/** - * An enum used to control how much context to show for listed entities in a template. - * - */ -export type ListEntityContext = - /** - * Show an abbreviated amount of context for listed entities. - * - */ - | 'ABBR' +export type HeroLayoutDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable & { + __typename?: 'HeroLayoutDefinition'; /** - * Show the maximum amount of context for listed entities. + * Whether the current user has permission to destroy this record. * */ - | 'FULL' + canDestroy: AuthorizationResult; /** - * Show the minimal / no amount of context for listed entities. + * Whether the current user has permission to update this record. * */ - | 'NONE' - | '%future added value'; - -export type ListItemLayoutDefinition = LayoutDefinition & Node & Sluggable & { - __typename?: 'ListItemLayoutDefinition'; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; id: Scalars['ID']['output']; layoutKind: LayoutKind; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; /** * This layout will only ever have one template, so it can be fetched directly without needing the union. * */ - template?: Maybe; + template?: Maybe; /** * The ordered template definitions available for this layout. * */ - templates: Array; + templates: Array; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -export type ListItemLayoutInstance = LayoutInstance & Node & Renderable & Sluggable & { - __typename?: 'ListItemLayoutInstance'; +export type HeroLayoutInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable & { + __typename?: 'HeroLayoutInstance'; /** * Whether all templates in this instance are hidden. * @@ -12110,7 +13119,20 @@ export type ListItemLayoutInstance = LayoutInstance & Node & Renderable & Slugga * */ allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * The associated entity for this layout instance. * @@ -12126,184 +13148,137 @@ export type ListItemLayoutInstance = LayoutInstance & Node & Renderable & Slugga * The layout definition for this type. * */ - layoutDefinition: ListItemLayoutDefinition; + layoutDefinition: HeroLayoutDefinition; layoutKind: LayoutKind; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; /** * This layout will only ever have one template, so it can be fetched directly without needing the union. * */ - template?: Maybe; + template?: Maybe; /** * The ordered template instances available for this layout. * */ - templates: Array; + templates: Array; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** - * An enum used to control the mode of selection for a list item template's associated records (if applicable). - * - */ -export type ListItemSelectionMode = - | 'DYNAMIC' - | 'MANUAL' - | 'NAMED' - | 'PROPERTY' - | '%future added value'; - -export type ListItemTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'ListItemTemplateDefinition'; - createdAt: Scalars['ISO8601DateTime']['output']; +export type HeroTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'HeroTemplateDefinition'; /** - * When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure - * as schemas to define a dynamic ordering that is resolved at runtime and based - * on the `selectionSource`. + * The background gradient to use for this template. Affects presentation. * */ - dynamicOrderingDefinition?: Maybe; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; + background?: Maybe; /** - * When `selectionMode` is set to `MANUAL`, the purpose of this property - * is to specify a name under which all the manual selections (per entity) - * will be stored. This allows a layout to have multiple templates of the - * same type using different lists, that will persist across rearrangements - * of the layout _without_ losing connections between entities. + * Whether the current user has permission to destroy this record. * */ - manualListName?: Maybe; + canDestroy: AuthorizationResult; /** - * This can be set to specify the named ordering on the `selectionSource` - * that should be used to populate the associated entity list. + * Whether the current user has permission to update this record. * */ - orderingIdentifier?: Maybe; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** @deprecated This is a slot now. */ + descendantSearchPrompt?: Maybe; + enableDescendantBrowsing?: Maybe; + enableDescendantSearch?: Maybe; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; + listContributors?: Maybe; + showBasicViewMetrics?: Maybe; + showBigSearchPrompt?: Maybe; + showBreadcrumbs?: Maybe; + showDOI?: Maybe; + showHeroImage?: Maybe; + showSharingLink?: Maybe; + showSplitDisplay?: Maybe; + showThumbnailImage?: Maybe; /** - * If provided, this will expose an ordering on the template instance that can - * be used to generate a link to the ordering in the frontend. + * Slot definitions for this template. * */ - seeAllOrderingIdentifier?: Maybe; + slots: HeroTemplateDefinitionSlots; /** - * The fallback mode to use when rendering a list of entities, when the list from - * `selectionMode` is empty and `useSelectionFallback` has been set to true. + * The encoded slug for this record. * */ - selectionFallbackMode?: Maybe; + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +/** + * Slot definitions for the associated template. + * + */ +export type HeroTemplateDefinitionSlots = { + __typename?: 'HeroTemplateDefinitionSlots'; + bigSearchPrompt?: Maybe; + callToAction?: Maybe; + descendantSearchPrompt?: Maybe; + header?: Maybe; + headerAside?: Maybe; + headerParent?: Maybe; + headerSidebar?: Maybe; + headerSubtitle?: Maybe; + headerSummary?: Maybe; + metadata?: Maybe; + sidebar?: Maybe; + subheader?: Maybe; + subheaderAside?: Maybe; + subheaderSubtitle?: Maybe; + subheaderSummary?: Maybe; + summary?: Maybe; +}; + +export type HeroTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance & { + __typename?: 'HeroTemplateInstance'; /** - * Regardless of `selectionMode`, this limit will be applied on whatever resulting - * list of entities are produced, so that only up to that amount of entities are - * rendered in the template proper. + * Whether all slots in this template are empty. * */ - selectionLimit?: Maybe; + allSlotsEmpty: Scalars['Boolean']['output']; /** - * The default mode to use when rendering a list of entities. - * - * See also `selectionFallbackMode` and `useSelectionFallback`. + * Whether the current user has permission to destroy this record. * */ - selectionMode?: Maybe; + canDestroy: AuthorizationResult; /** - * When `selectionMode` is set to `PROPERTY`, this should be set to the full path - * for a given schema property on the associated `selectionSource` + * Whether the current user has permission to update this record. * */ - selectionPropertyPath?: Maybe; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * When selecting entities based on `selectionMode`, this property determines - * which entity (relevant to the rendering entity) should be used for lookups. - * - * By default, it is `self`, which means the rendering entity itself. - * - * It can also support things like `ancestor.journal`, `ancestor.issue`, etc., - * in order to render a list of values in its parent. + * Load the associated definition for this template. * */ - selectionSource?: Maybe; + definition: HeroTemplateDefinition; /** - * The derived name of the ancestor used for the `selectionSource`. - * - * Exposed for introspection only. - * - */ - selectionSourceAncestorName?: Maybe; - /** - * An enum representing what mode `selectionSource` is in. Not directly set, - * it is used internally for lookups. - * - */ - selectionSourceMode?: Maybe; - /** - * When true, this takes priority over `selectionLimit`. It allows an entire - * matching list of records to be retrieved. It should be used with caution, - * since very large entity trees could cause responses to be slow. - * - */ - selectionUnbounded?: Maybe; - /** - * Slot definitions for this template. - * - */ - slots: ListItemTemplateDefinitionSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - updatedAt: Scalars['ISO8601DateTime']['output']; - /** - * Controls whether or not to use `selectionFallbackMode` if the entity list returned - * via `selectionMode` turns out to be empty at runtime. - * - */ - useSelectionFallback?: Maybe; -}; - -/** - * Slot definitions for the associated template. - * - */ -export type ListItemTemplateDefinitionSlots = { - __typename?: 'ListItemTemplateDefinitionSlots'; - contextA?: Maybe; - contextAbbr?: Maybe; - contextB?: Maybe; - contextC?: Maybe; - contextFull?: Maybe; - description?: Maybe; - header?: Maybe; - metaA?: Maybe; - metaB?: Maybe; - nestedContext?: Maybe; - nestedHeader?: Maybe; - nestedMetadata?: Maybe; - nestedSubheader?: Maybe; - subheader?: Maybe; -}; - -export type ListItemTemplateInstance = Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance & { - __typename?: 'ListItemTemplateInstance'; - /** - * Whether all slots in this template are empty. - * - */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - /** - * Load the associated definition for this template. - * - */ - definition: ListItemTemplateDefinition; - /** - * The associated entity for this template instance. + * The associated entity for this template instance. * */ entity: Entity; - /** - * The list of entities to render as part of this template's content. - * - */ - entityList: TemplateEntityList; /** * Whether this template instance should be hidden based on some logic. * @@ -12333,374 +13308,476 @@ export type ListItemTemplateInstance = Node & Renderable & Sluggable & TemplateH */ prevSiblings: Array; /** - * The ordering to render for a "see all" link. + * Rendered slots for this template. * */ - seeAllOrdering?: Maybe; + slots: HeroTemplateInstanceSlots; /** - * Rendered slots for this template. + * The encoded slug for this record. * */ - slots: ListItemTemplateInstanceSlots; slug: Scalars['Slug']['output']; templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** * Rendered slots for the associated template. * */ -export type ListItemTemplateInstanceSlots = { - __typename?: 'ListItemTemplateInstanceSlots'; - contextA?: Maybe; - contextAbbr?: Maybe; - contextB?: Maybe; - contextC?: Maybe; - contextFull?: Maybe; - description?: Maybe; +export type HeroTemplateInstanceSlots = { + __typename?: 'HeroTemplateInstanceSlots'; + bigSearchPrompt?: Maybe; + callToAction?: Maybe; + descendantSearchPrompt?: Maybe; header?: Maybe; - metaA?: Maybe; - metaB?: Maybe; - nestedContext?: Maybe; - nestedHeader?: Maybe; - nestedMetadata?: Maybe; - nestedSubheader?: Maybe; + headerAside?: Maybe; + headerParent?: Maybe; + headerSidebar?: Maybe; + headerSubtitle?: Maybe; + headerSummary?: Maybe; + metadata?: Maybe; + sidebar?: Maybe; subheader?: Maybe; + subheaderAside?: Maybe; + subheaderSubtitle?: Maybe; + subheaderSummary?: Maybe; + summary?: Maybe; }; -export type MainLayoutDefinition = LayoutDefinition & Node & Sluggable & { - __typename?: 'MainLayoutDefinition'; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; - slug: Scalars['Slug']['output']; +/** + * A ranking of a schema from a certain point in the hierarchy. This can be used to generate + * navigation or calculate statistics about what various entities contain. + * + */ +export type HierarchicalSchemaRank = DescribesSchema & Node & { + __typename?: 'HierarchicalSchemaRank'; + /** The number of entities that implement this schema from this point in the hierarchy. */ + count: Scalars['Int']['output']; /** - * The ordered template definitions available for this layout. + * The full declaration for this schema, including namespace, identifier, and version (if available). * */ - templates: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -export type MainLayoutInstance = LayoutInstance & Node & Renderable & Sluggable & { - __typename?: 'MainLayoutInstance'; + declaration: Scalars['String']['output']; + /** A count of distinct versions of this specific schema type from this point of the hierarchy. */ + distinctVersionCount: Scalars['Int']['output']; + id: Scalars['ID']['output']; /** - * Whether all templates in this instance are hidden. + * A unique (per-namespace) value that names the schema within the system. * */ - allHidden: Scalars['Boolean']['output']; + identifier: Scalars['String']['output']; /** - * Whether all slots in all template instances in this layout are empty. + * The kind of entity this schema applies to. * */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + kind: SchemaKind; /** - * The associated entity for this layout instance. + * A human-readable name for the schema. * */ - entity: Entity; - id: Scalars['ID']['output']; + name: Scalars['String']['output']; /** - * The time this object was last rendered. + * A unique namespace the schema lives in. * */ - lastRenderedAt?: Maybe; + namespace: Scalars['String']['output']; + /** The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent. */ + rank: Scalars['Int']['output']; + /** A reference to the discrete schema definition */ + schemaDefinition: SchemaDefinition; + /** A fully-qualified unique value that can be used to refer to this schema within the system */ + slug: Scalars['String']['output']; + /** A reference to the schema versions from this ranking */ + versionRanks: Array; +}; + +/** + * A ranking of a schema version from a certain point in the hierarchy. This can be used to generate + * navigation or calculate statistics about what versions of a schema various entities contain. + * + */ +export type HierarchicalSchemaVersionRank = DescribesSchema & Node & { + __typename?: 'HierarchicalSchemaVersionRank'; + /** The number of entities that implement this schema from this point in the hierarchy. */ + count: Scalars['Int']['output']; /** - * The layout definition for this type. + * The full declaration for this schema, including namespace, identifier, and version (if available). * */ - layoutDefinition: MainLayoutDefinition; - layoutKind: LayoutKind; - slug: Scalars['Slug']['output']; + declaration: Scalars['String']['output']; + id: Scalars['ID']['output']; /** - * The ordered template instances available for this layout. + * A unique (per-namespace) value that names the schema within the system. * */ - templates: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -export type MarkdownProperty = ScalarProperty & SchemaProperty & SearchableProperty & { - __typename?: 'MarkdownProperty'; + identifier: Scalars['String']['output']; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * The kind of entity this schema applies to. * */ - array: Scalars['Boolean']['output']; - content?: Maybe; - default?: Maybe; - description?: Maybe; + kind: SchemaKind; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * A human-readable name for the schema. * */ - fullPath: Scalars['String']['output']; + name: Scalars['String']['output']; /** - * The purpose or intent of this property relative to its entity, parents, and others. + * A unique namespace the schema lives in. * */ - function: SchemaPropertyFunction; + namespace: Scalars['String']['output']; + /** The rank of this schema at this point in the hierarchy, based on the statistical mode of its depth relative to the parent. */ + rank: Scalars['Int']['output']; + /** A reference to the discrete schema definition */ + schemaDefinition: SchemaDefinition; + /** A reference to the discrete schema version */ + schemaVersion: SchemaVersion; + /** A fully-qualified unique value that can be used to refer to this schema within the system */ + slug: Scalars['String']['output']; + /** A semantic version associated with the schema */ + versionNumber: Scalars['String']['output']; +}; + +/** + * An interface for various component types of an image attachment + * that allow it to be identified in name and purpose. + * + */ +export type Image = { + /** Alt text for accessible images */ + alt?: Maybe; + /** The MIME type of the image, if present */ + contentType?: Maybe; + /** @deprecated Use width and height directly. */ + dimensions?: Maybe>; + /** The height of the image, if present */ + height?: Maybe; /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * The original filename, if one was detected during attachment. * - */ - isWide: Scalars['Boolean']['output']; - /** - * Provided for introspection. This describes the underlying structure of the data type. + * Filename detection is not always consistent across browsers, so this + * may not always be present, even with a valid attachment. * */ - kind: SchemaPropertyKind; - label: Scalars['String']['output']; + originalFilename?: Maybe; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * The intended purpose of this image attachment. This is intended to + * help fragments that operate solely on image subcomponents to have + * some context for what they are without extra work. * */ - orderable: Scalars['Boolean']['output']; + purpose: ImagePurpose; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. * */ - path: Scalars['String']['output']; + storage?: Maybe; + /** The URL for the image, if present. */ + url?: Maybe; + /** The width of the image, if present */ + width?: Maybe; +}; + +/** An attached image with standardized derivatives. */ +export type ImageAttachment = HasAttachmentStorage & ImageIdentification & { + __typename?: 'ImageAttachment'; + /** Alt text for accessible images */ + alt?: Maybe; + /** A hero-sized mapping for derivative formats */ + hero: ImageSize; + /** A large-sized mapping for derivative formats */ + large: ImageSize; + /** A medium-sized mapping for derivative formats */ + medium: ImageSize; + /** Configurable metadata for the image. */ + metadata?: Maybe; + /** The original source for the image */ + original: ImageOriginal; /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. + * The original filename, if one was detected during attachment. * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + * Filename detection is not always consistent across browsers, so this + * may not always be present, even with a valid attachment. * */ - required: Scalars['Boolean']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; + originalFilename?: Maybe; /** - * Provided for introspection. This represents the actual data type this property - * uses. + * The intended purpose of this image attachment. This is intended to + * help fragments that operate solely on image subcomponents to have + * some context for what they are without extra work. * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + */ + purpose: ImagePurpose; + /** A small-sized mapping for derivative formats */ + small: ImageSize; + /** + * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. * */ - type: SchemaPropertyType; -}; - -/** - * Use full-text search on `path` to match `value`. - * - * As with top-level query searches, basic quoting and similar features are supported. See - * [websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for - * more information. - * - */ -export type MatchesOperatorInput = { - path: Scalars['String']['input']; - value: Scalars['String']['input']; + storage?: Maybe; + /** A thumb-sized mapping for derivative formats */ + thumb: ImageSize; }; -/** - * An enumerated value associated with the templating subsystem. - * - */ -export type MetadataBackground = +/** A derivative of the image with a specific size and format. */ +export type ImageDerivative = Image & ImageIdentification & { + __typename?: 'ImageDerivative'; + /** Alt text for accessible images */ + alt?: Maybe; + /** The MIME type of the image, if present */ + contentType?: Maybe; + /** @deprecated Use width and height directly. */ + dimensions?: Maybe>; + /** The format of this derivative */ + format: ImageDerivativeFormat; + /** The height of the image, if present */ + height?: Maybe; + /** The maximum height this size can occupy */ + maxHeight?: Maybe; + /** The maximum width this size can occupy */ + maxWidth?: Maybe; /** - * A dark gradient is applied to the background of this template. + * The original filename, if one was detected during attachment. + * + * Filename detection is not always consistent across browsers, so this + * may not always be present, even with a valid attachment. * */ - | 'DARK' + originalFilename?: Maybe; /** - * A light gradient is applied to the background of this template. + * The intended purpose of this image attachment. This is intended to + * help fragments that operate solely on image subcomponents to have + * some context for what they are without extra work. * */ - | 'LIGHT' + purpose: ImagePurpose; + /** The size of this derivative */ + size: ImageDerivativeSize; /** - * No background is applied to this template. + * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. * */ - | 'NONE' - | '%future added value'; + storage?: Maybe; + /** The URL for the image, if present. */ + url?: Maybe; + /** The width of the image, if present */ + width?: Maybe; +}; -export type MetadataLayoutDefinition = LayoutDefinition & Node & Sluggable & { - __typename?: 'MetadataLayoutDefinition'; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; - slug: Scalars['Slug']['output']; +/** The format of a specific image derivative. */ +export type ImageDerivativeFormat = /** - * This layout will only ever have one template, so it can be fetched directly without needing the union. + * A Portable Network Graphics-formatted file, for legacy support on most all browsers. * */ - template?: Maybe; + | 'PNG' /** - * The ordered template definitions available for this layout. + * A more efficiently compressed image supported by most browsers worldwide. * */ - templates: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; + | 'WEBP' + | '%future added value'; -export type MetadataLayoutInstance = LayoutInstance & Node & Renderable & Sluggable & { - __typename?: 'MetadataLayoutInstance'; +/** The size of a specific image derivative. */ +export type ImageDerivativeSize = + /** A hero-sized image, constrained to 2880px wide with no height limit. */ + | 'HERO' + /** A large-sized image, constrained to 750px wide by 750px high. */ + | 'LARGE' + /** A medium-sized image, constrained to 500px wide by 500px high. */ + | 'MEDIUM' + /** A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit. */ + | 'SANS_TEXT' + /** A small-sized image, constrained to 250px wide by 250px high. */ + | 'SMALL' + /** A thumb-sized image, constrained to 100px wide by 100px high. */ + | 'THUMB' + /** A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high. */ + | 'WITH_TEXT' + | '%future added value'; + +/** + * An interface for various component types of an image attachment + * that allow it to be identified in name and purpose. + * + */ +export type ImageIdentification = { /** - * Whether all templates in this instance are hidden. + * The original filename, if one was detected during attachment. * - */ - allHidden: Scalars['Boolean']['output']; - /** - * Whether all slots in all template instances in this layout are empty. + * Filename detection is not always consistent across browsers, so this + * may not always be present, even with a valid attachment. * */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + originalFilename?: Maybe; /** - * The associated entity for this layout instance. + * The intended purpose of this image attachment. This is intended to + * help fragments that operate solely on image subcomponents to have + * some context for what they are without extra work. * */ - entity: Entity; - id: Scalars['ID']['output']; + purpose: ImagePurpose; +}; + +/** Shared metadata for image attachments */ +export type ImageMetadata = { + __typename?: 'ImageMetadata'; + /** Alt text for accessible images */ + alt?: Maybe; +}; + +/** Shared metadata for updating image attachments */ +export type ImageMetadataInput = { + /** Alt text for accessible images */ + alt?: InputMaybe; +}; + +/** + * The original source for the image. While derivatives are processing, it could be useful + * for a temporary preview in the admin section, or for troubleshooting. + * + * As this is the raw image, it is not optimized for display in the frontend and is best + * used only as a fallback. + * + */ +export type ImageOriginal = HasAttachmentStorage & Image & ImageIdentification & { + __typename?: 'ImageOriginal'; + /** Alt text for accessible images */ + alt?: Maybe; + /** The MIME type of the image, if present */ + contentType?: Maybe; + /** @deprecated Use width and height directly. */ + dimensions?: Maybe>; + /** The height of the image, if present */ + height?: Maybe; /** - * The time this object was last rendered. + * The original filename, if one was detected during attachment. * - */ - lastRenderedAt?: Maybe; - /** - * The layout definition for this type. + * Filename detection is not always consistent across browsers, so this + * may not always be present, even with a valid attachment. * */ - layoutDefinition: MetadataLayoutDefinition; - layoutKind: LayoutKind; - slug: Scalars['Slug']['output']; + originalFilename?: Maybe; /** - * This layout will only ever have one template, so it can be fetched directly without needing the union. + * The intended purpose of this image attachment. This is intended to + * help fragments that operate solely on image subcomponents to have + * some context for what they are without extra work. * */ - template?: Maybe; + purpose: ImagePurpose; /** - * The ordered template instances available for this layout. + * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. * */ - templates: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -export type MetadataTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'MetadataTemplateDefinition'; - /** - * The background gradient to use for this template. Affects presentation. - * - */ - background?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; - /** - * Slot definitions for this template. - * - */ - slots: MetadataTemplateDefinitionSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - updatedAt: Scalars['ISO8601DateTime']['output']; + storage?: Maybe; + /** The URL for the image, if present. */ + url?: Maybe; + /** The width of the image, if present */ + width?: Maybe; }; /** - * Slot definitions for the associated template. + * Image attachments on entities fulfill different purposes. This can + * be used to distinguish them at the `ImageAttachment` level. * */ -export type MetadataTemplateDefinitionSlots = { - __typename?: 'MetadataTemplateDefinitionSlots'; - header?: Maybe; - itemsA?: Maybe; - itemsB?: Maybe; - itemsC?: Maybe; - itemsD?: Maybe; -}; +export type ImagePurpose = + /** A hero image. */ + | 'HERO_IMAGE' + /** A logo (on a Community). */ + | 'LOGO' + /** A fallback for otherwise-unspecified images. */ + | 'OTHER' + /** The logo for the site. */ + | 'SITE_LOGO' + /** A thumbnail that appears next to the entity in lists, grids, etc. */ + | 'THUMBNAIL' + | '%future added value'; -export type MetadataTemplateInstance = Node & Renderable & Sluggable & TemplateInstance & { - __typename?: 'MetadataTemplateInstance'; - /** - * Whether all slots in this template are empty. - * - */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - /** - * Load the associated definition for this template. - * - */ - definition: MetadataTemplateDefinition; - /** - * The associated entity for this template instance. - * - */ - entity: Entity; - /** - * Whether this template instance should be hidden based on some logic. - * - * At present, this only occurs if certain slots are empty. - * - */ - hidden: Scalars['Boolean']['output']; - id: Scalars['ID']['output']; - /** - * The time this object was last rendered. - * - */ - lastRenderedAt?: Maybe; - layoutKind: LayoutKind; +/** + * This describes a specific derivative style + * for an attachment, e.g. small, medium, thumb. + * + * It is further broken down into the various formats + * the WDP generates, presently WEBP and PNG. + * + */ +export type ImageSize = ImageIdentification & { + __typename?: 'ImageSize'; + /** Alt text for accessible images */ + alt?: Maybe; + /** The (maximum) height for this size. */ + height?: Maybe; /** - * Return all preceding siblings to the current template in order of proximity. + * The original filename, if one was detected during attachment. * - * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + * Filename detection is not always consistent across browsers, so this + * may not always be present, even with a valid attachment. * */ - nextSiblings: Array; + originalFilename?: Maybe; + /** A png-formatted image derivative for this particular size. */ + png: ImageDerivative; /** - * Return all preceding siblings to the current template in order of proximity. - * - * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + * The intended purpose of this image attachment. This is intended to + * help fragments that operate solely on image subcomponents to have + * some context for what they are without extra work. * */ - prevSiblings: Array; + purpose: ImagePurpose; + size: ImageDerivativeSize; + /** A webp-formatted image derivative for this particular size. */ + webp: ImageDerivative; + /** The (maximum) width for this size. */ + width?: Maybe; +}; + +/** + * Require that the `path` must include or be one of the strings provided in `value`. + * + * The actual value of `path` may be an array (multiselect) or string (select). + * + */ +export type InAnyOperatorInput = { + path: Scalars['String']['input']; + value: Array; +}; + +/** + * Configuration settings for the specific institution featured on this installation. + * + */ +export type InstitutionSettings = { + __typename?: 'InstitutionSettings'; /** - * Rendered slots for this template. + * The name of the institution. * */ - slots: MetadataTemplateInstanceSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - updatedAt: Scalars['ISO8601DateTime']['output']; + name: Scalars['String']['output']; }; /** - * Rendered slots for the associated template. + * An object for updating the site's configuration. * */ -export type MetadataTemplateInstanceSlots = { - __typename?: 'MetadataTemplateInstanceSlots'; - header?: Maybe; - itemsA?: Maybe; - itemsB?: Maybe; - itemsC?: Maybe; - itemsD?: Maybe; +export type InstitutionSettingsInput = { + /** + * The name of the institution. + * + */ + name?: InputMaybe; }; -export type MultiselectProperty = OptionableProperty & ScalarProperty & SchemaProperty & SearchableProperty & { - __typename?: 'MultiselectProperty'; +export type IntegerProperty = ScalarProperty & SchemaProperty & SearchableProperty & { + __typename?: 'IntegerProperty'; /** * Provided for introspection. This describes whether or not the property's value * comes in an array rather than representing a discrete piece of information. @@ -12710,7 +13787,7 @@ export type MultiselectProperty = OptionableProperty & ScalarProperty & SchemaPr * */ array: Scalars['Boolean']['output']; - defaultSelections?: Maybe>; + defaultInteger?: Maybe; description?: Maybe; /** * The full path that represents the property on the schema instance. It is guaranteed @@ -12724,6 +13801,12 @@ export type MultiselectProperty = OptionableProperty & ScalarProperty & SchemaPr * */ function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + integerValue?: Maybe; /** * Whether to render a field as "wide" (two columns) in the form. * This is intended to help structure forms logically, as well as @@ -12738,8 +13821,6 @@ export type MultiselectProperty = OptionableProperty & ScalarProperty & SchemaPr */ kind: SchemaPropertyKind; label: Scalars['String']['output']; - /** The list of predefined options available for this property. */ - options: Array; /** * Provided for introspection. Whether this property can be used to order entities. * For certain data types, there's no sensible way to order properties. @@ -12764,7 +13845,11 @@ export type MultiselectProperty = OptionableProperty & ScalarProperty & SchemaPr required: Scalars['Boolean']['output']; searchOperators: Array; searchPath: Scalars['String']['output']; - selections?: Maybe>; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; /** * Provided for introspection. This represents the actual data type this property * uses. @@ -12778,1112 +13863,1242 @@ export type MultiselectProperty = OptionableProperty & ScalarProperty & SchemaPr type: SchemaPropertyType; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type Mutation = { - __typename?: 'Mutation'; - /** Change a schema version for an entity. */ - alterSchemaVersion?: Maybe; - applySchemaProperties?: Maybe; +/** An item that belongs to a collection */ +export type Item = Accessible & Attachable & Attributable & ChildEntity & CommonModel & CommonPermissions & Contributable & Entity & EntityBase & EntityContextualPermissions & EntityPermissions & ExposesPermissions & HasDoi & HasDefaultTimestamps & HasEntityAnalytics & HasEntityBreadcrumbs & HasHarvestModificationStatus & HasSchemaProperties & Node & OrderingEntryable & Permalinkable & ReferencesEntityVisibility & ReferencesGlobalEntityDates & SchemaInstance & Searchable & Sluggable & Submittable & { + __typename?: 'Item'; + accessGrants: AnyCollectionAccessGrantConnection; + /** A polymorphic connection for access grants from an entity */ + allAccessGrants: AnyAccessGrantConnection; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; /** - * Destroy a single `ControlledVocabulary` record. + * Directly fetch a defined named ancestor by its name. It can be null, + * either because an invalid name was provided, the schema hierarchy is + * incomplete, or the association itself is optional. * */ - controlledVocabularyDestroy?: Maybe; + ancestorByName?: Maybe; /** - * Update a single `ControlledVocabularySource`'s provider. + * Look up an ancestor for this entity that implements a specific type. It ascends from this entity, + * so it will first check the parent, then the grandparent, and so on. * */ - controlledVocabularySourceUpdate?: Maybe; + ancestorOfType?: Maybe; + /** Look up an announcement for this entity by slug */ + announcement?: Maybe; /** - * Upsert a controlled vocabulary based on definition. + * A list of announcements associated with this entity. * */ - controlledVocabularyUpsert?: Maybe; + announcements: AnnouncementConnection; + /** The role(s) that gave the permissions to access this resource, if any. */ + applicableRoles: Array; + assetDownloads: AnalyticsEventCountSummary; + assetDownloadsByRegion: AnalyticsRegionCountSummary; + /** Assets owned by this entity */ + assets: AssetConnection; + /** The role(s) that the current user could assign to other users on this entity, if applicable. */ + assignableRoles: Array; + /** Retrieve a list of user & role assignments for this entity */ + assignedUsers: ContextualPermissionConnection; + /** Attributions for the item. */ + attributions: Array; /** - * Create an announcement on an entity. + * Expose all available entities for this schema property. * */ - createAnnouncement?: Maybe; + availableEntitiesFor: Array; + /** Previous entries in the hierarchy */ + breadcrumbs: Array; /** - * Associate an uploaded asset (already present in the Tus cache store) with an entity. + * Whether the current user has permission to alter the schema version of this entity. * - */ - createAsset?: Maybe; - createCollection?: Maybe; - /** Create a community */ - createCommunity?: Maybe; - /** Create an item */ - createItem?: Maybe; - /** Create an ordering for an entity */ - createOrdering?: Maybe; - /** Create an organization contributor */ - createOrganizationContributor?: Maybe; - /** - * Create a page on an entity. + * Submission drafts will be denied, even if the user would otherwise have permission. * */ - createPage?: Maybe; - /** Create a contributor */ - createPersonContributor?: Maybe; + canAlterSchemaVersion: AuthorizationResult; /** - * Create a global role, with a set of permissions, that can be used to grant access to various parts of the hierarchy - * in a granular fashion. + * Whether the current user has permission to create assets under this entity. * */ - createRole?: Maybe; + canCreateAssets: AuthorizationResult; /** - * Destroy a announcement by ID. + * Whether the current user has permission to create collections under this entity. * */ - destroyAnnouncement?: Maybe; + canCreateCollections: AuthorizationResult; /** - * Destroy an asset by ID. + * Whether the current user has permission to create items under this entity. * */ - destroyAsset?: Maybe; + canCreateItems: AuthorizationResult; /** - * Destroy a collection by ID. + * Whether the current user has permission to deposit a new entity into this one. * */ - destroyCollection?: Maybe; + canDeposit: AuthorizationResult; /** - * Destroy a community by ID. + * Whether the current user has permission to destroy this record. * */ - destroyCommunity?: Maybe; + canDestroy: AuthorizationResult; /** - * Destroy a Contribution by ID. + * Whether the current user has permission to manage access to this entity. * - */ - destroyContribution?: Maybe; - /** - * Destroy a contributor by ID. + * This opens up `grantAccess` and `revokeAccess` mutations. * */ - destroyContributor?: Maybe; + canManageAccess: AuthorizationResult; /** - * Destroy an EntityLink by ID. + * Whether the current user has permission to purge this entity. * */ - destroyEntityLink?: Maybe; + canPurge: AuthorizationResult; /** - * Destroy an item by ID. + * Whether the current user has permission to reparent this entity. * - */ - destroyItem?: Maybe; - /** - * Destroy (or disable a schema-inherited) ordering. + * Submission drafts will be denied, even if the user would otherwise have permission. * */ - destroyOrdering?: Maybe; + canReparent: AuthorizationResult; /** - * Destroy a page by ID. + * Whether the current user has permission to revalidate this entity. * */ - destroyPage?: Maybe; + canRevalidate: AuthorizationResult; /** - * Purge an entity and **all** of its descendants. - * - * Depending on the entity, this can be very destructive and should be - * used with caution. - * - * The deletion will be backgrounded, so there will be a delay between - * calling this mutation and all the descendants actually being removed. + * Whether the current user has permission to review deposits to this entity. * */ - entityPurge?: Maybe; + canReview: AuthorizationResult; /** - * Revalidates the frontend cache for a given entity. + * Whether the current user has permission to update this record. * */ - frontendCacheRevalidateEntity?: Maybe; + canUpdate: AuthorizationResult; /** - * Revalidates the frontend cache for the entire instance. + * The canonical permalink for this resource, if one is set. * */ - frontendCacheRevalidateInstance?: Maybe; - /** Grant access to a specific hierarchical entity */ - grantAccess?: Maybe; + canonicalPermalink?: Maybe; + /** @deprecated Use Item.items */ + children: ItemConnection; + collection: Collection; + community: Community; + /** Look up contribution role configuration for this record. */ + contributionRoles: ContributionRoleConfiguration; + contributions: ItemContributionConnection; + /** Contributors to this element */ + contributors: AnyContributorConnection; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * Kick off a manual `HarvestAttempt` from a `HarvestMapping` + * Whether the entity is _currently_ hidden, based on the server's time zone. * */ - harvestAttemptFromMapping?: Maybe; + currentlyHidden: Scalars['Boolean']['output']; /** - * Kick off a manual `HarvestAttempt` from a `HarvestSource` + * Whether the entity is _currently_ visible, based on the server's time zone. * */ - harvestAttemptFromSource?: Maybe; + currentlyVisible: Scalars['Boolean']['output']; /** - * Prune harvested entities for a `HarvestAttempt` record. + * All descendants of this entity, regardless of type. * - * Note: the actual pruning will happen asynchronously in the background, and may take a while. + * Communities and collections can both contain collections and items. Items will only contain items. * */ - harvestAttemptPruneEntities?: Maybe; + descendants: EntityDescendantConnection; /** - * Create a single `HarvestMapping` record. + * The Digital Object Identifier for this entity. See https://doi.org * */ - harvestMappingCreate?: Maybe; + doi?: Maybe; /** - * Destroy a single `HarvestMapping` record. + * The data sanitized from `rawDOI`, including things like the URL and host. * */ - harvestMappingDestroy?: Maybe; + doiData: DoiData; + entityViews: AnalyticsEventCountSummary; + entityViewsByRegion: AnalyticsRegionCountSummary; + /** Retrieve the first matching item beneath this item. */ + firstItem?: Maybe; /** - * Update a single `HarvestMapping` record. + * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have + * no effect on this record. * */ - harvestMappingUpdate?: Maybe; + harvestModificationStatus: HarvestModificationStatus; /** - * Create a single `HarvestMetadataMapping` record. + * The harvest record(s) associated with the entity, with most recent harvest records sorted to the top. * - * There is no `harvestMetadataMappingUpdate` mutation. You can replace an existing field/pattern pair with a new target entity, - * or destroy ones that no longer apply. + * It is technically possible for multiple harvest records to have affected an entity. * */ - harvestMetadataMappingCreate?: Maybe; + harvestRecords: Array; + /** Whether this item has any child items */ + hasItems: Scalars['Boolean']['output']; /** - * Destroy a single `HarvestMetadataMapping` record. + * For use in the admin, something to signify that data has been set on `rawDOI` + * that could not be properly assigned to `doi`. * */ - harvestMetadataMappingDestroy?: Maybe; + hasWeirdDOI: Scalars['Boolean']['output']; + /** A hero image for the entity, suitable for displaying in page headers */ + heroImage: ImageAttachment; + /** Configurable metadata for the hero_image attachment */ + heroImageMetadata?: Maybe; /** - * Create a single `HarvestSource` record. + * Whether the entity's visibility is set to `HIDDEN` * */ - harvestSourceCreate?: Maybe; + hidden: Scalars['Boolean']['output']; /** - * Destroy a single `HarvestSource` record. + * Specify a time to check to see if the entity will be hidden. * */ - harvestSourceDestroy?: Maybe; + hiddenAsOf: Scalars['Boolean']['output']; + /** If present, this is the timestamp the entity was hidden at */ + hiddenAt?: Maybe; /** - * Prune harvested entities for a `HarvestSource` record. + * The depth of the hierarchical entity, taking into account any parent types. * - * Note: the actual pruning will happen asynchronously in the background, and may take a while. + */ + hierarchicalDepth: Scalars['Int']['output']; + id: Scalars['ID']['output']; + /** A machine-readable identifier for the entity. Not presently used, but will be necessary for synchronizing with upstream providers. */ + identifier: Scalars['String']['output']; + /** Retrieve the items beneath this item */ + items: ItemConnection; + /** + * Access layouts for this entity. * */ - harvestSourcePruneEntities?: Maybe; + layouts: EntityLayouts; + leaf: Scalars['Boolean']['output']; /** - * Update a single `HarvestSource` record. + * Available link targets for this entity. * */ - harvestSourceUpdate?: Maybe; - /** Link two entities together */ - linkEntity?: Maybe; + linkTargetCandidates: LinkTargetCandidateConnection; /** - * Create a single `Permalink` record. + * Links from this entity to other entities, along with metadata about those links. * */ - permalinkCreate?: Maybe; + links: EntityLinkConnection; /** - * Destroy a single `Permalink` record. + * Purely informational at this point, this signifies an entity that is currently marked for purge by itself or a parent. * */ - permalinkDestroy?: Maybe; + markedForPurge: Scalars['Boolean']['output']; /** - * Update a single `Permalink` record. + * Fetch a list of named ancestors for this entity. This list is deterministically sorted + * to retrieve the "closest" ancestors first, ascending upwards in the hierarchy from there. + * + * **Note**: Like breadcrumbs, this association is intentionally not paginated for ease of use, + * because in practice a schema should not have many associations. * */ - permalinkUpdate?: Maybe; + namedAncestors: Array; + /** Look up an ordering for this entity by identifier */ + ordering?: Maybe; + /** Look up an ordering that is set up to handle a specific schema. */ + orderingForSchema?: Maybe; /** - * Preview a slot for a given entity. + * A list of orderings associated with this entity. * */ - previewSlot?: Maybe; + orderings: OrderingConnection; + /** Look up a page for this entity by slug */ + page?: Maybe; /** - * Force the layouts to render for a given `Entity`. + * A list of pages associated with this entity. * */ - renderLayouts?: Maybe; + pages: PageConnection; + parent?: Maybe; /** - * A polymorphic mutation to reassign an entity to another point in the hierarchy. + * All permalinks associated with this resource. * - * It performs validations to make sure that the parent entity can accept the child. + */ + permalinks: Array; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; + /** The date this entity was published */ + published: VariablePrecisionDate; + /** + * The value that was set on the entity. It will be validated and sanitized + * and be set on `doi` if possible. * */ - reparentEntity?: Maybe; + rawDOI?: Maybe; + /** Retrieve linked items of the same schema type */ + relatedItems: ItemConnection; + root: Scalars['Boolean']['output']; /** - * Reset an ordering to "factory" settings. For schema-inherited orderings, - * this will reload its definition from the schema definition. For custom - * orderings, this will load minimal defaults. + * The schema definition that this entity conforms to. * */ - resetOrdering?: Maybe; - /** Revoke access from a specific hierarchical entity */ - revokeAccess?: Maybe; + schemaDefinition: SchemaDefinition; /** - * Update an announcement by its ID. + * The context for our schema instance. Includes form values and necessary referents. * */ - updateAnnouncement?: Maybe; + schemaInstanceContext: SchemaInstanceContext; /** - * Update an asset by ID. + * A list of schema properties associated with this instance or version. * */ - updateAsset?: Maybe; + schemaProperties: Array; /** - * Update an asset's attachment by ID. + * Read a single schema property by its full path. * - * This mutation is for updating **only** an asset's attachment, - * as opposed to the rest of its attributes (handled in `updateAsset`). + */ + schemaProperty?: Maybe; + /** + * The hierarchical schema ranks for this entity, which compute the overall structure + * of its descendants by schema definition. * */ - updateAssetAttachment?: Maybe; - /** Update a collection */ - updateCollection?: Maybe; - /** Update a community */ - updateCommunity?: Maybe; + schemaRanks: Array; /** - * Update a Contribution by ID. + * The schema version that this entity conforms to. * - * **Note**: Neither the contribution role nor the contributor can be changed - * by this mutation. Rather than deal with uniqueness violations, it's necessary - * to delete the old contribution and create a new one with the correct role - * or contributor. + */ + schemaVersion: SchemaVersion; + /** Search from this level of the API using it as the origin */ + search: SearchScope; + /** + * The encoded slug for this record. * */ - updateContribution?: Maybe; + slug: Scalars['Slug']['output']; /** - * Update the global configuration for this site. + * THe current submission status of this entity. Is it a draft, published, or unrelated? * */ - updateGlobalConfiguration?: Maybe; - /** Update an item */ - updateItem?: Maybe; - /** Update an ordering by ID */ - updateOrdering?: Maybe; - /** Update an organization contributor */ - updateOrganizationContributor?: Maybe; + submissionStatus: EntitySubmissionStatus; /** - * Update a page. + * The submission target that this entity can be submitted to, if any. * */ - updatePage?: Maybe; - /** Update a person contributor */ - updatePersonContributor?: Maybe; + submissionTarget?: Maybe; /** - * Update the name or permissions for a given role. + * A human-readable subtitle for the entity. * */ - updateRole?: Maybe; + subtitle?: Maybe; /** - * Update a user. + * A description of the contents of the entity. * */ - updateUser?: Maybe; + summary?: Maybe; + /** A representative thumbnail for the entity, suitable for displaying in lists, tables, grids, etc. */ + thumbnail: ImageAttachment; + /** Configurable metadata for the thumbnail attachment */ + thumbnailMetadata?: Maybe; /** - * Update the current viewer (i.e. you). + * A human-readable title for the entity. * */ - updateViewerSettings?: Maybe; + title: Scalars['String']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** Access grants for specific users */ + userAccessGrants: UserCollectionAccessGrantConnection; + /** Not presently used */ + userGroupAccessGrants: UserGroupCollectionAccessGrantConnection; + /** If an entity is available in the frontend */ + visibility: EntityVisibility; /** - * Upsert a Contribution by contributable & contributor ID. It will override any - * existing contributions for the same contributor on the same entity. + * Whether the entity's visibility is set to `VISIBLE`. * */ - upsertContribution?: Maybe; + visible: Scalars['Boolean']['output']; + /** If present, this is the timestamp an entity is visible after */ + visibleAfterAt?: Maybe; /** - * Reset a password for the current or specified user + * Specify a time to check to see if the entity will be visible. * */ - userResetPassword?: Maybe; + visibleAsOf: Scalars['Boolean']['output']; + /** If present, this is the timestamp an entity is visible until */ + visibleUntilAt?: Maybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationAlterSchemaVersionArgs = { - input: AlterSchemaVersionInput; +/** An item that belongs to a collection */ +export type ItemAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + subject?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationApplySchemaPropertiesArgs = { - input: ApplySchemaPropertiesInput; +/** An item that belongs to a collection */ +export type ItemAllAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + subject?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationControlledVocabularyDestroyArgs = { - input: ControlledVocabularyDestroyInput; +/** An item that belongs to a collection */ +export type ItemAncestorByNameArgs = { + name: Scalars['String']['input']; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationControlledVocabularySourceUpdateArgs = { - input: ControlledVocabularySourceUpdateInput; +/** An item that belongs to a collection */ +export type ItemAncestorOfTypeArgs = { + schema: Scalars['String']['input']; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationControlledVocabularyUpsertArgs = { - input: ControlledVocabularyUpsertInput; +/** An item that belongs to a collection */ +export type ItemAnnouncementArgs = { + slug: Scalars['Slug']['input']; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreateAnnouncementArgs = { - input: CreateAnnouncementInput; +/** An item that belongs to a collection */ +export type ItemAnnouncementsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreateAssetArgs = { - input: CreateAssetInput; +/** An item that belongs to a collection */ +export type ItemAssetDownloadsArgs = { + dateFilter?: InputMaybe; + precision?: InputMaybe; + subjectIds?: InputMaybe>; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreateCollectionArgs = { - input: CreateCollectionInput; +/** An item that belongs to a collection */ +export type ItemAssetDownloadsByRegionArgs = { + dateFilter?: InputMaybe; + subjectIds?: InputMaybe>; + usOnly?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreateCommunityArgs = { - input: CreateCommunityInput; +/** An item that belongs to a collection */ +export type ItemAssetsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + kind?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreateItemArgs = { - input: CreateItemInput; +/** An item that belongs to a collection */ +export type ItemAssignedUsersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreateOrderingArgs = { - input: CreateOrderingInput; +/** An item that belongs to a collection */ +export type ItemAvailableEntitiesForArgs = { + fullPath: Scalars['String']['input']; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreateOrganizationContributorArgs = { - input: CreateOrganizationContributorInput; +/** An item that belongs to a collection */ +export type ItemChildrenArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreatePageArgs = { - input: CreatePageInput; +/** An item that belongs to a collection */ +export type ItemContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreatePersonContributorArgs = { - input: CreatePersonContributorInput; +/** An item that belongs to a collection */ +export type ItemContributorsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + kind?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + prefix?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationCreateRoleArgs = { - input: CreateRoleInput; +/** An item that belongs to a collection */ +export type ItemDescendantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + maxDepth?: InputMaybe; + order?: EntityDescendantOrder; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + schema?: InputMaybe>; + scope?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyAnnouncementArgs = { - input: DestroyAnnouncementInput; +/** An item that belongs to a collection */ +export type ItemEntityViewsArgs = { + dateFilter?: InputMaybe; + precision?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyAssetArgs = { - input: DestroyAssetInput; +/** An item that belongs to a collection */ +export type ItemEntityViewsByRegionArgs = { + dateFilter?: InputMaybe; + usOnly?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyCollectionArgs = { - input: DestroyCollectionInput; +/** An item that belongs to a collection */ +export type ItemFirstItemArgs = { + nodeFilter?: InputMaybe; + order?: InputMaybe; + schema?: InputMaybe>; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyCommunityArgs = { - input: DestroyCommunityInput; +/** An item that belongs to a collection */ +export type ItemHiddenAsOfArgs = { + time?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyContributionArgs = { - input: DestroyContributionInput; +/** An item that belongs to a collection */ +export type ItemItemsArgs = { + access?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + nodeFilter?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + schema?: InputMaybe>; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyContributorArgs = { - input: DestroyContributorInput; +/** An item that belongs to a collection */ +export type ItemLinkTargetCandidatesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + kind?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + title?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyEntityLinkArgs = { - input: DestroyEntityLinkInput; +/** An item that belongs to a collection */ +export type ItemLinksArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyItemArgs = { - input: DestroyItemInput; +/** An item that belongs to a collection */ +export type ItemOrderingArgs = { + identifier: Scalars['String']['input']; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyOrderingArgs = { - input: DestroyOrderingInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationDestroyPageArgs = { - input: DestroyPageInput; +/** An item that belongs to a collection */ +export type ItemOrderingForSchemaArgs = { + slug: Scalars['Slug']['input']; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationEntityPurgeArgs = { - input: EntityPurgeInput; +/** An item that belongs to a collection */ +export type ItemOrderingsArgs = { + after?: InputMaybe; + availability?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + visibility?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationFrontendCacheRevalidateEntityArgs = { - input: FrontendCacheRevalidateEntityInput; +/** An item that belongs to a collection */ +export type ItemPageArgs = { + slug: Scalars['String']['input']; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationFrontendCacheRevalidateInstanceArgs = { - input: FrontendCacheRevalidateInstanceInput; +/** An item that belongs to a collection */ +export type ItemPagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationGrantAccessArgs = { - input: GrantAccessInput; +/** An item that belongs to a collection */ +export type ItemRelatedItemsArgs = { + access?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationHarvestAttemptFromMappingArgs = { - input: HarvestAttemptFromMappingInput; +/** An item that belongs to a collection */ +export type ItemSchemaPropertyArgs = { + fullPath: Scalars['String']['input']; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationHarvestAttemptFromSourceArgs = { - input: HarvestAttemptFromSourceInput; +/** An item that belongs to a collection */ +export type ItemSearchArgs = { + maxDepth?: InputMaybe; + visibility?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationHarvestAttemptPruneEntitiesArgs = { - input: HarvestAttemptPruneEntitiesInput; +/** An item that belongs to a collection */ +export type ItemUserAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationHarvestMappingCreateArgs = { - input: HarvestMappingCreateInput; +/** An item that belongs to a collection */ +export type ItemUserGroupAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; +/** An item that belongs to a collection */ +export type ItemVisibleAsOfArgs = { + time?: InputMaybe; +}; + /** - * The entry point for making changes to the data within the WDP API. + * Attributions for items. * */ -export type MutationHarvestMappingDestroyArgs = { - input: HarvestMappingDestroyInput; +export type ItemAttribution = Attribution & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'ItemAttribution'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + contributor: ContributorBase; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + /** + * A priority-ordered list of the roles the associated contributor had. + * + */ + roles: Array; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; +/** The connection type for Item. */ +export type ItemConnection = Paginated & { + __typename?: 'ItemConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationHarvestMappingUpdateArgs = { - input: HarvestMappingUpdateInput; +/** A contribution to an item */ +export type ItemContribution = CommonModel & CommonPermissions & Contribution & ContributionBase & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'ItemContribution'; + /** A potentially-overridden value from person contributors */ + affiliation?: Maybe; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The actual role */ + contributionRole: ControlledVocabularyItem; + contributor: Contributor; + contributorKind: ContributorKind; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** A potentially-overridden display name value for all contributor types */ + displayName: Scalars['String']['output']; + id: Scalars['ID']['output']; + /** + * An optional sorting discriminator to decide which contribution ranks higher. + * + * Applies _after_ contribution role ranking. + * + */ + innerPosition?: Maybe; + item: Item; + /** A potentially-overridden value from organization contributors */ + location?: Maybe; + metadata: ContributionMetadata; + /** + * An optional sorting discriminator to decide which contribution ranks higher. + * + * Applies _before_ contribution role ranking, superseding everything else. + * + */ + outerPosition?: Maybe; + /** + * An arbitrary text value describing the role the contributor had + * @deprecated Use `roleLabel` instead. + */ + role?: Maybe; + /** An arbitrary text value describing the role the contributor had */ + roleLabel?: Maybe; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** A potentially-overridden value from person contributors */ + title?: Maybe; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; +/** The connection type for ItemContribution. */ +export type ItemContributionConnection = Paginated & { + __typename?: 'ItemContributionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationHarvestMetadataMappingCreateArgs = { - input: HarvestMetadataMappingCreateInput; +/** An edge in a connection. */ +export type ItemContributionEdge = { + __typename?: 'ItemContributionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: ItemContribution; }; +/** An edge in a connection. */ +export type ItemEdge = { + __typename?: 'ItemEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: Item; +}; /** - * The entry point for making changes to the data within the WDP API. + * Filtering options for `Item` records. * */ -export type MutationHarvestMetadataMappingDestroyArgs = { - input: HarvestMetadataMappingDestroyInput; +export type ItemFilterInput = { + /** + * Filter the model's `created_at` with time constraints. + * + */ + createdAt?: InputMaybe; + /** + * Whether to include items that are in draft state (i.e. items that are associated with a submission). + * + */ + includeDrafts?: InputMaybe; + /** + * Filter the model's `updated_at` with time constraints. + * + */ + updatedAt?: InputMaybe; }; +export type ItemParent = Collection | Item | { __typename?: "%other" }; /** - * The entry point for making changes to the data within the WDP API. + * Entities within the system have layouts associated with their schema, + * that can eventually be overridden for more custom approaches. + * + * This interface defines the *definition* for one such layout, while any + * given entity will also have its own LayoutInstance. * */ -export type MutationHarvestSourceCreateArgs = { - input: HarvestSourceCreateInput; +export type LayoutDefinition = { + layoutKind: LayoutKind; }; - /** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationHarvestSourceDestroyArgs = { - input: HarvestSourceDestroyInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationHarvestSourcePruneEntitiesArgs = { - input: HarvestSourcePruneEntitiesInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationHarvestSourceUpdateArgs = { - input: HarvestSourceUpdateInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationLinkEntityArgs = { - input: LinkEntityInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationPermalinkCreateArgs = { - input: PermalinkCreateInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationPermalinkDestroyArgs = { - input: PermalinkDestroyInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationPermalinkUpdateArgs = { - input: PermalinkUpdateInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationPreviewSlotArgs = { - input: PreviewSlotInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationRenderLayoutsArgs = { - input: RenderLayoutsInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationReparentEntityArgs = { - input: ReparentEntityInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationResetOrderingArgs = { - input: ResetOrderingInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationRevokeAccessArgs = { - input: RevokeAccessInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdateAnnouncementArgs = { - input: UpdateAnnouncementInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdateAssetArgs = { - input: UpdateAssetInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. + * An interface describing an instance type that can be rendered for a given entity. * */ -export type MutationUpdateAssetAttachmentArgs = { - input: UpdateAssetAttachmentInput; +export type LayoutInstance = { + /** + * Whether all templates in this instance are hidden. + * + */ + allHidden: Scalars['Boolean']['output']; + /** + * Whether all slots in all template instances in this layout are empty. + * + */ + allSlotsEmpty: Scalars['Boolean']['output']; + /** + * The associated entity for this layout instance. + * + */ + entity: Entity; + /** + * The time this object was last rendered. + * + */ + lastRenderedAt?: Maybe; + layoutKind: LayoutKind; }; - /** - * The entry point for making changes to the data within the WDP API. + * The various kinds of `Layout`s in the system. * */ -export type MutationUpdateCollectionArgs = { - input: UpdateCollectionInput; -}; - +export type LayoutKind = + /** + * The "hero" layout for an Entity. + * + */ + | 'HERO' + /** + * A layout describing how an entity should look when it is being rendered. + * + */ + | 'LIST_ITEM' + /** + * The "main" layout for the landing page of an entity. + * + * It is where most of the detail on an entity should go. + * + */ + | 'MAIN' + /** + * A layout for controlling how metadata should render. + * + */ + | 'METADATA' + /** + * A layout describing how an entity should be navigated. + * + */ + | 'NAVIGATION' + /** + * A shared layout for certain supplementary routes like contributors and metrics. + * + */ + | 'SUPPLEMENTARY' + | '%future added value'; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdateCommunityArgs = { - input: UpdateCommunityInput; +/** Autogenerated input type of LinkEntity */ +export type LinkEntityInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The 'type' of link */ + operator: EntityLinkOperator; + /** The ID for the source entity */ + sourceId: Scalars['ID']['input']; + /** The ID for the target entity */ + targetId: Scalars['ID']['input']; }; - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdateContributionArgs = { - input: UpdateContributionInput; +/** Autogenerated return type of LinkEntity. */ +export type LinkEntityPayload = StandardMutationPayload & { + __typename?: 'LinkEntityPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** The created or updated link, if applicable */ + link?: Maybe; }; - /** - * The entry point for making changes to the data within the WDP API. + * An enumerated value associated with the templating subsystem. * */ -export type MutationUpdateGlobalConfigurationArgs = { - input: UpdateGlobalConfigurationInput; -}; - +export type LinkListBackground = + /** + * A dark gradient is applied to the background of this template. + * + */ + | 'DARK' + /** + * A light gradient is applied to the background of this template. + * + */ + | 'LIGHT' + /** + * No background is applied to this template. + * + */ + | 'NONE' + | '%future added value'; /** - * The entry point for making changes to the data within the WDP API. + * An enum used to control the mode of selection for a link list template. * */ -export type MutationUpdateItemArgs = { - input: UpdateItemInput; -}; - +export type LinkListSelectionMode = + /** + * Render links from a dynamic list, determined at query time. + * + */ + | 'DYNAMIC' + /** + * Render links from a manual list set on each individual entity. See `manualListName` for how this works. + * + */ + | 'MANUAL' + | '%future added value'; -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdateOrderingArgs = { - input: UpdateOrderingInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdateOrganizationContributorArgs = { - input: UpdateOrganizationContributorInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdatePageArgs = { - input: UpdatePageInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdatePersonContributorArgs = { - input: UpdatePersonContributorInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdateRoleArgs = { - input: UpdateRoleInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdateUserArgs = { - input: UpdateUserInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpdateViewerSettingsArgs = { - input: UpdateViewerSettingsInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUpsertContributionArgs = { - input: UpsertContributionInput; -}; - - -/** - * The entry point for making changes to the data within the WDP API. - * - */ -export type MutationUserResetPasswordArgs = { - input: UserResetPasswordInput; -}; - -/** An error for a specific attribute in a mutation—intended for use with react-hook-form and similarly shaped structures */ -export type MutationAttributeError = { - __typename?: 'MutationAttributeError'; - /** The accumulated messages for this combination of path and type */ - messages: Array; - /** The attribute that should have the error */ - path: Scalars['String']['output']; - /** A grouping type for the attribute */ - type: Scalars['String']['output']; -}; - -export type MutationErrorScope = - | 'ATTRIBUTE' - | 'GLOBAL' - | '%future added value'; - -/** An error that encapsulates the entire mutation input and is not tied to a specific input field. */ -export type MutationGlobalError = { - __typename?: 'MutationGlobalError'; - /** The actual message */ - message: Scalars['String']['output']; - type: Scalars['String']['output']; -}; - -/** - * Entity schemas can define named ancestors, which allows UI developers to refer - * authoritatively to significant relatives in an entity's ancestor. This object - * represents the connection between an originating entity and its ancestors, - * should any be defined for the schema. - * - */ -export type NamedAncestor = { - __typename?: 'NamedAncestor'; - /** The actual ancestor */ - ancestor: Entity; - /** The depth of the ancestor in the hierarchy */ - ancestorDepth: Scalars['Int']['output']; - /** The name of the ancestor. Guaranteed to be unique for this specific entity. */ - name: Scalars['String']['output']; - /** The relative depth of the originating entity */ - originDepth: Scalars['Int']['output']; +export type LinkListTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'LinkListTemplateDefinition'; /** - * The relative depth from the source entity to its ancestor. In other words, `(origin_depth - ancestor_depth)`. - * Used for sorting ancestors deterministically. + * The background gradient to use for this template. Affects presentation. * */ - relativeDepth: Scalars['Int']['output']; -}; - -/** - * An enumerated value associated with the templating subsystem. - * - */ -export type NavigationBackground = + background?: Maybe; /** - * A dark gradient is applied to the background of this template. + * A boolean used to describe list templates that should match browse style as close as possible. * */ - | 'DARK' + browseStyle?: Maybe; /** - * A light gradient is applied to the background of this template. + * Whether the current user has permission to destroy this record. * */ - | 'LIGHT' + canDestroy: AuthorizationResult; /** - * No background is applied to this template. + * Whether the current user has permission to update this record. * */ - | 'NONE' - | '%future added value'; - -export type NavigationLayoutDefinition = LayoutDefinition & Node & Sluggable & { - __typename?: 'NavigationLayoutDefinition'; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; - slug: Scalars['Slug']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * This layout will only ever have one template, so it can be fetched directly without needing the union. + * When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure + * as schemas to define a dynamic ordering that is resolved at runtime and based + * on the `selectionSource`. * */ - template?: Maybe; + dynamicOrderingDefinition?: Maybe; /** - * The ordered template definitions available for this layout. + * Enumerate how much context to show when listing entities. + * + * Replaces `showEntityContext`. * */ - templates: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -export type NavigationLayoutInstance = LayoutInstance & Node & Renderable & Sluggable & { - __typename?: 'NavigationLayoutInstance'; + entityContext?: Maybe; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; /** - * Whether all templates in this instance are hidden. + * When `selectionMode` is set to `MANUAL`, the purpose of this property + * is to specify a name under which all the manual selections (per entity) + * will be stored. This allows a layout to have multiple templates of the + * same type using different lists, that will persist across rearrangements + * of the layout _without_ losing connections between entities. * */ - allHidden: Scalars['Boolean']['output']; + manualListName?: Maybe; + seeAllButtonLabel?: Maybe; /** - * Whether all slots in all template instances in this layout are empty. + * If provided, this will expose an ordering on the template instance that can + * be used to generate a link to the ordering in the frontend. * */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + seeAllOrderingIdentifier?: Maybe; /** - * The associated entity for this layout instance. + * The fallback mode to use when rendering a list of entities, when the list from + * `selectionMode` is empty and `useSelectionFallback` has been set to true. * */ - entity: Entity; - id: Scalars['ID']['output']; + selectionFallbackMode?: Maybe; /** - * The time this object was last rendered. + * Regardless of `selectionMode`, this limit will be applied on whatever resulting + * list of entities are produced, so that only up to that amount of entities are + * rendered in the template proper. * */ - lastRenderedAt?: Maybe; + selectionLimit?: Maybe; /** - * The layout definition for this type. + * The default mode to use when rendering a list of entities. + * + * See also `selectionFallbackMode` and `useSelectionFallback`. * */ - layoutDefinition: NavigationLayoutDefinition; - layoutKind: LayoutKind; - slug: Scalars['Slug']['output']; + selectionMode?: Maybe; /** - * This layout will only ever have one template, so it can be fetched directly without needing the union. + * When selecting entities based on `selectionMode`, this property determines + * which entity (relevant to the rendering entity) should be used for lookups. + * + * By default, it is `self`, which means the rendering entity itself. + * + * It can also support things like `ancestor.journal`, `ancestor.issue`, etc., + * in order to render a list of values in its parent. * */ - template?: Maybe; + selectionSource?: Maybe; /** - * The ordered template instances available for this layout. + * The derived name of the ancestor used for the `selectionSource`. + * + * Exposed for introspection only. * */ - templates: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -export type NavigationTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'NavigationTemplateDefinition'; + selectionSourceAncestorName?: Maybe; /** - * The background gradient to use for this template. Affects presentation. + * An enum representing what mode `selectionSource` is in. Not directly set, + * it is used internally for lookups. * */ - background?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; + selectionSourceMode?: Maybe; /** - * If true, the metadata template/tab should be hidden for this schema. + * When true, this takes priority over `selectionLimit`. It allows an entire + * matching list of records to be retrieved. It should be used with caution, + * since very large entity trees could cause responses to be slow. * */ - hideMetadata?: Maybe; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; + selectionUnbounded?: Maybe; /** - * Slot definitions for this template. + * Show contributors when listing entities. * */ - slots: NavigationTemplateDefinitionSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -/** - * Slot definitions for the associated template. - * - */ -export type NavigationTemplateDefinitionSlots = { - __typename?: 'NavigationTemplateDefinitionSlots'; - entityLabel?: Maybe; -}; - -export type NavigationTemplateInstance = Node & Renderable & Sluggable & TemplateInstance & { - __typename?: 'NavigationTemplateInstance'; + showContributors?: Maybe; /** - * Whether all slots in this template are empty. + * Show additional context about each entity in the selection. * + * @deprecated Use entity_context enum instead */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + showEntityContext?: Maybe; + showHeroImage?: Maybe; /** - * Load the associated definition for this template. + * Show nested items from the associated listItemLayouts in order to generate + * a two-tier list. * */ - definition: NavigationTemplateDefinition; + showNestedEntities?: Maybe; + /** @deprecated Use seeAllOrdering on the instance instead. */ + showSeeAllButton?: Maybe; /** - * The associated entity for this template instance. + * Slot definitions for this template. + * + */ + slots: LinkListTemplateDefinitionSlots; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + title?: Maybe; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * Controls whether or not to use `selectionFallbackMode` if the entity list returned + * via `selectionMode` turns out to be empty at runtime. + * + */ + useSelectionFallback?: Maybe; + /** + * The variant rendering mode to use for this template. Affects presentation. + * + */ + variant?: Maybe; + /** + * This controls how wide the template should render. + * + * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + * template that also uses `HALF`. + * + */ + width?: Maybe; +}; + +/** + * Slot definitions for the associated template. + * + */ +export type LinkListTemplateDefinitionSlots = { + __typename?: 'LinkListTemplateDefinitionSlots'; + blockHeader?: Maybe; + blockHeaderFallback?: Maybe; + header?: Maybe; + headerAside?: Maybe; + headerFallback?: Maybe; + listContext?: Maybe; + metadata?: Maybe; + subtitle?: Maybe; +}; + +export type LinkListTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance & { + __typename?: 'LinkListTemplateInstance'; + /** + * Whether all slots in this template are empty. + * + */ + allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * Load the associated definition for this template. + * + */ + definition: LinkListTemplateDefinition; + /** + * The associated entity for this template instance. * */ entity: Entity; + /** + * The list of entities to render as part of this template's content. + * + */ + entityList: TemplateEntityList; /** * Whether this template instance should be hidden based on some logic. * @@ -13912,971 +15127,724 @@ export type NavigationTemplateInstance = Node & Renderable & Sluggable & Templat * */ prevSiblings: Array; + /** + * The ordering to render for a "see all" link. + * + */ + seeAllOrdering?: Maybe; /** * Rendered slots for this template. * */ - slots: NavigationTemplateInstanceSlots; + slots: LinkListTemplateInstanceSlots; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** * Rendered slots for the associated template. * */ -export type NavigationTemplateInstanceSlots = { - __typename?: 'NavigationTemplateInstanceSlots'; - entityLabel?: Maybe; -}; - -/** An object with an ID. */ -export type Node = { - /** ID of the object. */ - id: Scalars['ID']['output']; -}; - -/** The priority for NULL values when sorting */ -export type NullOrderPriority = - | 'FIRST' - | 'LAST' - | '%future added value'; - -/** - * Require that `path ≥ value` while enforcing that value is numeric. - * - * Note: this will also work for integer paths. Coercion is handled - * transparently by the API. - * - */ -export type NumericGteOperatorInput = { - path: Scalars['String']['input']; - value: Scalars['Float']['input']; -}; - -/** - * Require that `path ≤ value` while enforcing that value is numeric. - * - * Note: this will also work for integer paths. Coercion is handled - * transparently by the API. - * - */ -export type NumericLteOperatorInput = { - path: Scalars['String']['input']; - value: Scalars['Float']['input']; -}; - -/** - * An interface for properties that have a set of predefined options to choose from. - * - */ -export type OptionableProperty = { - /** The list of predefined options available for this property. */ - options: Array; +export type LinkListTemplateInstanceSlots = { + __typename?: 'LinkListTemplateInstanceSlots'; + blockHeader?: Maybe; + blockHeaderFallback?: Maybe; + header?: Maybe; + headerAside?: Maybe; + headerFallback?: Maybe; + listContext?: Maybe; + metadata?: Maybe; + subtitle?: Maybe; }; /** - * The boolean result of evaluating the left and right predicates. At least one must be true. - * - * While this is implemented, it is not likely that the first version of the search - * UI will utilize it. It is intended for advanced searching. + * An enum used to control how a link list template should be rendered. * */ -export type OrOperatorInput = { - left: SearchPredicateInput; - right: SearchPredicateInput; -}; - -/** Ordering for a specific column */ -export type OrderDefinition = { - __typename?: 'OrderDefinition'; - direction: Direction; - nulls: NullOrderPriority; - path: Scalars['String']['output']; -}; - -/** Ordering for a specific column */ -export type OrderDefinitionInput = { - direction?: InputMaybe; - nulls?: InputMaybe; - path: Scalars['String']['input']; -}; - -/** An ordering that belongs to an entity and arranges its children in a pre-configured way */ -export type Ordering = Node & Searchable & Sluggable & { - __typename?: 'Ordering'; - children: OrderingEntryConnection; - /** A constant ordering should be treated as not being able to invert itself. */ - constant: Scalars['Boolean']['output']; - /** The number of entries currently visible within the ordering */ - count: Scalars['Int']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - /** Whether the ordering has been disabled—orderings inherited from schemas will be disabled if deleted. */ - disabled: Scalars['Boolean']['output']; - /** The time the ordering was disabled, if applicable */ - disabledAt?: Maybe; - /** The entity that owns the ordering */ - entity: Entity; - filter: OrderingFilterDefinition; - /** Optional markdown content to render after the children */ - footer?: Maybe; - /** Optional markdown content to render before the children */ - header?: Maybe; +export type LinkListVariant = /** - * A hidden ordering represents an ordering that should not be shown in the frontend, - * when iterating over an entity's available orderings. It does not affect access, as - * hidden orderings may still serve a functional purpose for their schema. + * A card list of entities. * */ - hidden: Scalars['Boolean']['output']; - id: Scalars['ID']['output']; - /** A unique identifier for the ordering within the context of its parent entity. */ - identifier: Scalars['String']['output']; - /** Whether the ordering was inherited from its entity's schema definition */ - inheritedFromSchema: Scalars['Boolean']['output']; - /** An optional, human-readable name for the ordering */ - name?: Maybe; - order: Array; + | 'CARDS' /** - * For orderings that are `inheritedFromSchema`, this tracks whether or not the - * entity has been modified from the schema's definition. It is always false - * for custom, user-created orderings. + * A compact list of entities. * */ - pristine: Scalars['Boolean']['output']; + | 'COMPACT' /** - * Configuration for how to render an ordering and its entries. + * A grid of entities * */ - render: OrderingRenderDefinition; - /** Search from this level of the API using it as the origin */ - search: SearchScope; - select: OrderingSelectDefinition; - slug: Scalars['Slug']['output']; + | 'GRID' /** - * A tree ordering has some special handling to return entities - * in deterministic order based on their hierarchical position - * and relation to other entities in the same ordering. + * A horizontal list of entities with promotional header. * - * This is effectively a shortcut for `Ordering.render.mode === "TREE"`. + */ + | 'PROMOS' + /** + * A vertical, summarized list of entities. * */ - tree: Scalars['Boolean']['output']; + | 'SUMMARY' + /** + * A tree structure. + * + */ + | 'TREE' + | '%future added value'; + +/** A candidate for a link target, scoped to a parent source */ +export type LinkTargetCandidate = Node & { + __typename?: 'LinkTargetCandidate'; + createdAt: Scalars['ISO8601DateTime']['output']; + /** How deeply nested the candidate entity is */ + depth: Scalars['Int']['output']; + id: Scalars['ID']['output']; + kind: LinkTargetCandidateKind; + /** The actual target */ + target: Entity; + /** The targetID to provide to linkEntity */ + targetId: Scalars['ID']['output']; + /** The target entity's title */ + title: Scalars['String']['output']; updatedAt: Scalars['ISO8601DateTime']['output']; }; +/** The connection type for LinkTargetCandidate. */ +export type LinkTargetCandidateConnection = Paginated & { + __typename?: 'LinkTargetCandidateConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; -/** An ordering that belongs to an entity and arranges its children in a pre-configured way */ -export type OrderingChildrenArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** An ordering that belongs to an entity and arranges its children in a pre-configured way */ -export type OrderingSearchArgs = { - maxDepth?: InputMaybe; - visibility?: InputMaybe; +/** An edge in a connection. */ +export type LinkTargetCandidateEdge = { + __typename?: 'LinkTargetCandidateEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: LinkTargetCandidate; }; -/** - * An ordering's availability refers to it being enabled or disabled. - * - */ -export type OrderingAvailabilityFilter = - /** Do not filter orderings by whether they are enabled or disabled. */ +/** Filter the available candidates for a link target */ +export type LinkTargetCandidateFilter = + /** Show all possible link target candidate types */ | 'ALL' - /** Fetch only *disabled* orderings. */ - | 'DISABLED' - /** Fetch only *enabled* orderings. */ - | 'ENABLED' + /** Limit to collection candidates */ + | 'COLLECTION' + /** Limit to item candidates */ + | 'ITEM' + | '%future added value'; + +/** The kind of link target candidate */ +export type LinkTargetCandidateKind = + | 'COLLECTION' + | 'ITEM' | '%future added value'; /** - * An enumerated value associated with the templating subsystem. + * An enum used to control how much context to show for listed entities in a template. * */ -export type OrderingBackground = +export type ListEntityContext = /** - * A dark gradient is applied to the background of this template. + * Show an abbreviated amount of context for listed entities. * */ - | 'DARK' + | 'ABBR' /** - * A light gradient is applied to the background of this template. + * Show the maximum amount of context for listed entities. * */ - | 'LIGHT' + | 'FULL' /** - * No background is applied to this template. + * Show the minimal / no amount of context for listed entities. * */ | 'NONE' | '%future added value'; -/** The connection type for Ordering. */ -export type OrderingConnection = Paginated & { - __typename?: 'OrderingConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** - * A definition for an ordering (may be dynamic). - * - */ -export type OrderingDefinition = { - __typename?: 'OrderingDefinition'; - /** A constant ordering should be treated as not being able to invert itself. */ - constant: Scalars['Boolean']['output']; - filter: OrderingFilterDefinition; +export type ListItemLayoutDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable & { + __typename?: 'ListItemLayoutDefinition'; /** - * A hidden ordering represents an ordering that should not be shown in the frontend, - * when iterating over an entity's available orderings. It does not affect access, as - * hidden orderings may still serve a functional purpose for their schema. + * Whether the current user has permission to destroy this record. * */ - hidden: Scalars['Boolean']['output']; - /** A unique identifier for the ordering within the context of its parent entity. */ - identifier: Scalars['String']['output']; - /** An optional, human-readable name for the ordering */ - name?: Maybe; - order: Array; + canDestroy: AuthorizationResult; /** - * Configuration for how to render an ordering and its entries. + * Whether the current user has permission to update this record. * */ - render: OrderingRenderDefinition; - select: OrderingSelectDefinition; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; /** - * A tree ordering has some special handling to return entities - * in deterministic order based on their hierarchical position - * and relation to other entities in the same ordering. + * The encoded slug for this record. * - * This is effectively a shortcut for `Ordering.render.mode === "TREE"`. + */ + slug: Scalars['Slug']['output']; + /** + * This layout will only ever have one template, so it can be fetched directly without needing the union. * */ - tree: Scalars['Boolean']['output']; -}; - -export type OrderingDirectSelection = - | 'CHILDREN' - | 'DESCENDANTS' - | 'NONE' - | '%future added value'; - -/** An edge in a connection. */ -export type OrderingEdge = { - __typename?: 'OrderingEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: Ordering; + template?: Maybe; + /** + * The ordered template definitions available for this layout. + * + */ + templates: Array; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** An entry within an ordering, it can refer to an entity or an entity link */ -export type OrderingEntry = Node & Sluggable & { - __typename?: 'OrderingEntry'; +export type ListItemLayoutInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable & { + __typename?: 'ListItemLayoutInstance'; /** - * When the associated `Ordering` is a `TREE`, and the current entry is a leaf, this array can be used - * to get the associated ancestors within the entry that + * Whether all templates in this instance are hidden. * */ - ancestors: Array; - createdAt: Scalars['ISO8601DateTime']['output']; + allHidden: Scalars['Boolean']['output']; /** - * The actual element being ordered. At present, this will only be a `Community`, `Collection`, or `Item`, - * but future implementations of orderings may include other content, such as presentation elements. + * Whether all slots in all template instances in this layout are empty. * */ - entry: OrderingEntryable; + allSlotsEmpty: Scalars['Boolean']['output']; /** - * The delegated `slug` from the associated `entry`. - * - * This can be null because future entries may not implement it. + * Whether the current user has permission to destroy this record. * */ - entrySlug?: Maybe; + canDestroy: AuthorizationResult; /** - * The delegated `title` from the associated `entry`. + * Whether the current user has permission to update this record. * - * This can be null because future entries may not implement it. + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The associated entity for this layout instance. * */ - entryTitle?: Maybe; + entity: Entity; id: Scalars['ID']['output']; /** - * The next entry in the current ordering, if one exists. This will be null if this entry is the last. + * The time this object was last rendered. * */ - nextSibling?: Maybe; - /** The parent ordering */ - ordering: Ordering; + lastRenderedAt?: Maybe; /** - * The 1-based position of this entry. + * The layout definition for this type. * */ - position?: Maybe; + layoutDefinition: ListItemLayoutDefinition; + layoutKind: LayoutKind; /** - * The previous entry in the current ordering, if one exists. This will be null if this entry is the first. + * The encoded slug for this record. * */ - prevSibling?: Maybe; + slug: Scalars['Slug']['output']; /** - * A calculation of the depth of an entry in the hierarchy, relative to the ordering's owning entity. + * This layout will only ever have one template, so it can be fetched directly without needing the union. * */ - relativeDepth: Scalars['Int']['output']; - slug: Scalars['Slug']['output']; + template?: Maybe; /** - * When an ordering's render mode is set to TREE, its entries will have this set. - * It is a normalized depth based on what other entities were accepted into the ordering. + * The ordered template instances available for this layout. * */ - treeDepth?: Maybe; + templates: Array; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** The connection type for OrderingEntry. */ -export type OrderingEntryConnection = Paginated & { - __typename?: 'OrderingEntryConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** An edge in a connection. */ -export type OrderingEntryEdge = { - __typename?: 'OrderingEntryEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: OrderingEntry; -}; - -/** When fetching entries from an ordering, you can swap between the default or a special 'inverted' mode */ -export type OrderingEntrySortMode = - /** Retrieve the ordering entries as defined by default */ - | 'DEFAULT' - /** Retrieve the ordering entries in an inverted order, accounting for paths */ - | 'INVERSE' - | '%future added value'; - /** - * An entity or link which can appear in an ordering. + * An enum used to control the mode of selection for a list item template's associated records (if applicable). * */ -export type OrderingEntryable = { - /** ID of the object. */ - id: Scalars['ID']['output']; -}; +export type ListItemSelectionMode = + | 'DYNAMIC' + | 'MANUAL' + | 'NAMED' + | 'PROPERTY' + | '%future added value'; -/** - * A collection of settings for filtering what appears what entities - * may populate an ordering. At present, this only supports schemas. - * - */ -export type OrderingFilterDefinition = { - __typename?: 'OrderingFilterDefinition'; +export type ListItemTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'ListItemTemplateDefinition'; /** - * If set, any child or descendant that matches one of these schemas will - * be availabel to be included in the ordering. + * Whether the current user has permission to destroy this record. * */ - schemas: Array; -}; - -/** - * A collection of settings for filtering what appears what entities - * may populate an ordering. At present, this only supports schemas. - * - */ -export type OrderingFilterDefinitionInput = { + canDestroy: AuthorizationResult; /** - * If set, any child or descendant that matches one of these schemas will - * be availabel to be included in the ordering. + * Whether the current user has permission to update this record. * */ - schemas?: InputMaybe>; -}; - -/** An enum used to order `Ordering`s. It uses `DETERMINISTIC` by default to ensure a consistent rendering experience. */ -export type OrderingOrder = - /** Sort orderings by their static position of the ordering, falling back to the name if unset. */ - | 'DETERMINISTIC' - /** Sort orderings by oldest created date */ - | 'OLDEST' - /** Sort orderings by newest created date */ - | 'RECENT' - | '%future added value'; - -/** - * This represents a valid path that can be used for orderings. - * - */ -export type OrderingPath = { - /** A helpful description of the path */ - description?: Maybe; - /** A logical grouping for ordering paths */ - grouping: OrderingPathGrouping; - /** A human-readable label for the path */ - label: Scalars['String']['output']; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * Some paths may have a prefix. For instance, schema properties will have the name of the schema. + * When `selectionMode` is set to `DYNAMIC`, this uses the same basic structure + * as schemas to define a dynamic ordering that is resolved at runtime and based + * on the `selectionSource`. * */ - labelPrefix?: Maybe; - /** The exact path that should be provided to mutation inputs. */ - path: Scalars['String']['output']; - /** The schema property type */ - type: SchemaPropertyType; -}; - -/** A logical grouping for ordering paths. */ -export type OrderingPathGrouping = + dynamicOrderingDefinition?: Maybe; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; /** - * Paths under this type come from _ancestors_ in a schema. - * Not every entity is guaranteed to have one, and in orderings - * with mixed entities, missing props will be treated as null. + * When `selectionMode` is set to `MANUAL`, the purpose of this property + * is to specify a name under which all the manual selections (per entity) + * will be stored. This allows a layout to have multiple templates of the + * same type using different lists, that will persist across rearrangements + * of the layout _without_ losing connections between entities. * */ - | 'ANCESTOR_PROPS' + manualListName?: Maybe; /** - * Static properties that are directly on an ancestor. + * This can be set to specify the named ordering on the `selectionSource` + * that should be used to populate the associated entity list. * */ - | 'ANCESTOR_STATIC' + orderingIdentifier?: Maybe; /** - * Static properties that are directly on an entity. + * If provided, this will expose an ordering on the template instance that can + * be used to generate a link to the ordering in the frontend. * */ - | 'ENTITY' + seeAllOrderingIdentifier?: Maybe; /** - * Static properties that are derived from a link. + * The fallback mode to use when rendering a list of entities, when the list from + * `selectionMode` is empty and `useSelectionFallback` has been set to true. * */ - | 'LINK' + selectionFallbackMode?: Maybe; /** - * Paths under this type come from a schema. Not every entity is guaranteed - * to have one, and in orderings with mixed entities, missing props will be - * treated as null. + * Regardless of `selectionMode`, this limit will be applied on whatever resulting + * list of entities are produced, so that only up to that amount of entities are + * rendered in the template proper. * */ - | 'PROPS' + selectionLimit?: Maybe; /** - * Static properties that are derived from a schema. + * The default mode to use when rendering a list of entities. + * + * See also `selectionFallbackMode` and `useSelectionFallback`. * */ - | 'SCHEMA' - | '%future added value'; - -/** - * Configuration for controlling how an ordering renders itself and its entries. - * - */ -export type OrderingRenderDefinition = { - __typename?: 'OrderingRenderDefinition'; - /** How to render entries within */ - mode: OrderingRenderMode; -}; - -/** - * Describe how an ordering should render its entries. - * - */ -export type OrderingRenderDefinitionInput = { - mode?: InputMaybe; -}; - -/** - * How entries in an ordering should be rendered. - * - */ -export type OrderingRenderMode = + selectionMode?: Maybe; /** - * The default for most orderings. Every ordering is considered to be on - * the same level of the hierarchy, and positions are calculated based - * solely on the paths. + * When `selectionMode` is set to `PROPERTY`, this should be set to the full path + * for a given schema property on the associated `selectionSource` * */ - | 'FLAT' + selectionPropertyPath?: Maybe; /** - * A special mode for handling orderings that should operate like a tree. In this setting, - * entries will be calculated first as though they were flat, then analyzed in order to - * adjust the positioning to account for the entry's ancestors and position relative to - * other entries in the ordering. + * When selecting entities based on `selectionMode`, this property determines + * which entity (relevant to the rendering entity) should be used for lookups. + * + * By default, it is `self`, which means the rendering entity itself. + * + * It can also support things like `ancestor.journal`, `ancestor.issue`, etc., + * in order to render a list of values in its parent. * */ - | 'TREE' - | '%future added value'; - -/** This defines a specific schema that an ordering can filter its entries by */ -export type OrderingSchemaFilter = { - __typename?: 'OrderingSchemaFilter'; + selectionSource?: Maybe; /** - * The identifier within the namespace for the schema. + * The derived name of the ancestor used for the `selectionSource`. + * + * Exposed for introspection only. * */ - identifier: Scalars['String']['output']; + selectionSourceAncestorName?: Maybe; /** - * The namespace the schema occupies. + * An enum representing what mode `selectionSource` is in. Not directly set, + * it is used internally for lookups. * */ - namespace: Scalars['String']['output']; + selectionSourceMode?: Maybe; /** - * An optional version requirement for the associated schema. + * When true, this takes priority over `selectionLimit`. It allows an entire + * matching list of records to be retrieved. It should be used with caution, + * since very large entity trees could cause responses to be slow. * */ - version?: Maybe; -}; - -/** This defines a specific schema that an ordering can filter its entries by */ -export type OrderingSchemaFilterInput = { + selectionUnbounded?: Maybe; /** - * The identifier within the namespace for the schema. + * Slot definitions for this template. * */ - identifier: Scalars['String']['input']; + slots: ListItemTemplateDefinitionSlots; /** - * The namespace the schema occupies. + * The encoded slug for this record. * */ - namespace: Scalars['String']['input']; + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** - * An optional version requirement for this ordering. It supports - * Ruby's version declaration syntax, so you can provide a value - * like `">= 1.2"` to match against semantically-versioned schemas. + * Controls whether or not to use `selectionFallbackMode` if the entity list returned + * via `selectionMode` turns out to be empty at runtime. * */ - version?: InputMaybe; -}; - -/** - * Defines how an ordering should select its entries. - * - */ -export type OrderingSelectDefinition = { - __typename?: 'OrderingSelectDefinition'; - direct: OrderingDirectSelection; - links: OrderingSelectLinkDefinition; -}; - -/** - * Define how an ordering should select its entries - * - */ -export type OrderingSelectDefinitionInput = { - direct?: InputMaybe; - links?: InputMaybe; -}; - -/** - * Describes how an ordering should select its links. - * - */ -export type OrderingSelectLinkDefinition = { - __typename?: 'OrderingSelectLinkDefinition'; - contains: Scalars['Boolean']['output']; - references: Scalars['Boolean']['output']; + useSelectionFallback?: Maybe; }; /** - * Describe how an ordering should select its links. + * Slot definitions for the associated template. * */ -export type OrderingSelectLinkDefinitionInput = { - contains?: InputMaybe; - references?: InputMaybe; +export type ListItemTemplateDefinitionSlots = { + __typename?: 'ListItemTemplateDefinitionSlots'; + contextA?: Maybe; + contextAbbr?: Maybe; + contextB?: Maybe; + contextC?: Maybe; + contextFull?: Maybe; + description?: Maybe; + header?: Maybe; + metaA?: Maybe; + metaB?: Maybe; + nestedContext?: Maybe; + nestedHeader?: Maybe; + nestedMetadata?: Maybe; + nestedSubheader?: Maybe; + subheader?: Maybe; }; -export type OrderingTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'OrderingTemplateDefinition'; +export type ListItemTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasEntityList & TemplateHasSeeAllOrdering & TemplateInstance & { + __typename?: 'ListItemTemplateInstance'; /** - * The background gradient to use for this template. Affects presentation. + * Whether all slots in this template are empty. * */ - background?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; + allSlotsEmpty: Scalars['Boolean']['output']; /** - * The identifier for the ordering to derive next/prev siblings from. - * - * Refer to `orderingSource` and `selectionSource` for more details. + * Whether the current user has permission to destroy this record. * */ - orderingIdentifier?: Maybe; + canDestroy: AuthorizationResult; /** - * A reference to the entity that contains an ordering identified by `orderingIdentifier`. - * It operates exactly like `selectionSource`. See that property for more documentation. - * - * **Note**: While `self` is allowed here, it only makes sense if the rendering entity - * is contained in one of its own orderings, which doesn't happen normally. The template - * will still render, but it likely won't find siblings. + * Whether the current user has permission to update this record. * */ - orderingSource?: Maybe; - orderingSourceAncestorName?: Maybe; - orderingSourceMode?: Maybe; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * What entity to use for detecting the positional prev/next siblings. - * - * By default, it is `self`. However, it can be overridden for creating templates that - * navigate through parent issues, volumes, journals, etc. For instance, an article could - * create an `` template that has the following properties set: - * - * * `selectionSource`: `"ancestors.issue"` - * * `orderingSource`: `"ancestors.journal"` - * * `orderingIdentifier`: `"issues"` - * - * This would use the _journal's_ `issues` ordering to navigate through the article's - * associated `issues`, and provide a quick way to navigate through varying levels of - * the upper hierarchy from lower points in the tree. + * Load the associated definition for this template. * */ - selectionSource?: Maybe; + definition: ListItemTemplateDefinition; /** - * The derived name of the ancestor used for the `selectionSource`. - * - * Exposed for introspection only. + * The associated entity for this template instance. * */ - selectionSourceAncestorName?: Maybe; + entity: Entity; /** - * An enum representing what mode `selectionSource` is in. Not directly set, - * it is used internally for lookups. + * The list of entities to render as part of this template's content. * */ - selectionSourceMode?: Maybe; + entityList: TemplateEntityList; /** - * Slot definitions for this template. + * Whether this template instance should be hidden based on some logic. + * + * At present, this only occurs if certain slots are empty. * */ - slots: OrderingTemplateDefinitionSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; - updatedAt: Scalars['ISO8601DateTime']['output']; + hidden: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; /** - * This controls how wide the template should render. + * The time this object was last rendered. * - * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - * template that also uses `HALF`. + */ + lastRenderedAt?: Maybe; + layoutKind: LayoutKind; + /** + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. * */ - width?: Maybe; + nextSiblings: Array; + /** + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + * + */ + prevSiblings: Array; + /** + * The ordering to render for a "see all" link. + * + */ + seeAllOrdering?: Maybe; + /** + * Rendered slots for this template. + * + */ + slots: ListItemTemplateInstanceSlots; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** - * Slot definitions for the associated template. + * Rendered slots for the associated template. * */ -export type OrderingTemplateDefinitionSlots = { - __typename?: 'OrderingTemplateDefinitionSlots'; - nextLabel?: Maybe; - previousLabel?: Maybe; +export type ListItemTemplateInstanceSlots = { + __typename?: 'ListItemTemplateInstanceSlots'; + contextA?: Maybe; + contextAbbr?: Maybe; + contextB?: Maybe; + contextC?: Maybe; + contextFull?: Maybe; + description?: Maybe; + header?: Maybe; + metaA?: Maybe; + metaB?: Maybe; + nestedContext?: Maybe; + nestedHeader?: Maybe; + nestedMetadata?: Maybe; + nestedSubheader?: Maybe; + subheader?: Maybe; }; -export type OrderingTemplateInstance = Node & Renderable & Sluggable & TemplateHasOrderingPair & TemplateInstance & { - __typename?: 'OrderingTemplateInstance'; +export type MainLayoutDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable & { + __typename?: 'MainLayoutDefinition'; /** - * Whether all slots in this template are empty. + * Whether the current user has permission to destroy this record. * */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + canDestroy: AuthorizationResult; /** - * Load the associated definition for this template. + * Whether the current user has permission to update this record. * */ - definition: OrderingTemplateDefinition; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; /** - * The associated entity for this template instance. + * The encoded slug for this record. * */ - entity: Entity; + slug: Scalars['Slug']['output']; /** - * Whether this template instance should be hidden based on some logic. + * The ordered template definitions available for this layout. * - * At present, this only occurs if certain slots are empty. + */ + templates: Array; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +export type MainLayoutInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable & { + __typename?: 'MainLayoutInstance'; + /** + * Whether all templates in this instance are hidden. * */ - hidden: Scalars['Boolean']['output']; - id: Scalars['ID']['output']; + allHidden: Scalars['Boolean']['output']; /** - * The time this object was last rendered. + * Whether all slots in all template instances in this layout are empty. * */ - lastRenderedAt?: Maybe; - layoutKind: LayoutKind; + allSlotsEmpty: Scalars['Boolean']['output']; /** - * Return all preceding siblings to the current template in order of proximity. + * Whether the current user has permission to destroy this record. * - * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. * */ - nextSiblings: Array; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * Access the prev/next siblings within the template's specified ordering. + * The associated entity for this layout instance. * */ - orderingPair: TemplateOrderingPair; + entity: Entity; + id: Scalars['ID']['output']; /** - * Return all preceding siblings to the current template in order of proximity. + * The time this object was last rendered. * - * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + */ + lastRenderedAt?: Maybe; + /** + * The layout definition for this type. * */ - prevSiblings: Array; + layoutDefinition: MainLayoutDefinition; + layoutKind: LayoutKind; /** - * Rendered slots for this template. + * The encoded slug for this record. * */ - slots: OrderingTemplateInstanceSlots; slug: Scalars['Slug']['output']; - templateKind: TemplateKind; + /** + * The ordered template instances available for this layout. + * + */ + templates: Array; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** - * Rendered slots for the associated template. - * - */ -export type OrderingTemplateInstanceSlots = { - __typename?: 'OrderingTemplateInstanceSlots'; - nextLabel?: Maybe; - previousLabel?: Maybe; -}; - -export type OrderingVisibilityFilter = - /** Do not filter orderings by their visibility. */ - | 'ALL' - /** Fetch only *hidden* orderings. */ - | 'HIDDEN' - /** Fetch only *visible* orderings. This has no bearing on the ordering's *availability*. */ - | 'VISIBLE' - | '%future added value'; - -/** - * An organization that has made contributions. - * - */ -export type OrganizationContributor = Contributor & ContributorBase & HasHarvestModificationStatus & Node & Sluggable & { - __typename?: 'OrganizationContributor'; +export type MarkdownProperty = ScalarProperty & SchemaProperty & SearchableProperty & { + __typename?: 'MarkdownProperty'; /** - * Only applicable when `kind` = `PERSON`. + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. * - */ - affiliation?: Maybe; - attributions: ContributorAttributionConnection; - bio?: Maybe; - /** - * The total number of collection contributions from this contributor. + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. * */ - collectionContributionCount: Scalars['Int']['output']; - collectionContributions: CollectionContributionConnection; + array: Scalars['Boolean']['output']; + content?: Maybe; + default?: Maybe; + description?: Maybe; /** - * The total number of contributions (item + collection) from this contributor. + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. * */ - contributionCount: Scalars['Int']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - email?: Maybe; + fullPath: Scalars['String']['output']; /** - * Only applicable when `kind` = `PERSON`. + * The purpose or intent of this property relative to its entity, parents, and others. * */ - familyName?: Maybe; + function: SchemaPropertyFunction; /** - * Only applicable when `kind` = `PERSON`. + * Instructions for filling out this property during submission, if applicable. * */ - givenName?: Maybe; + instructions?: Maybe; /** - * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have - * no effect on this record. + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. * */ - harvestModificationStatus: HarvestModificationStatus; - id: Scalars['ID']['output']; - identifier: Scalars['String']['output']; - /** An optional image associated with the contributor. */ - image: ImageAttachment; - /** Configurable metadata for the image attachment */ - imageMetadata?: Maybe; + isWide: Scalars['Boolean']['output']; /** - * The total number of item contributions from this contributor. + * Provided for introspection. This describes the underlying structure of the data type. * */ - itemContributionCount: Scalars['Int']['output']; - itemContributions: ItemContributionConnection; - kind: ContributorKind; + kind: SchemaPropertyKind; + label: Scalars['String']['output']; /** - * Only applicable when `kind` = `ORGANIZATION`. + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. * */ - legalName?: Maybe; - links: Array; + orderable: Scalars['Boolean']['output']; /** - * Only applicable when `kind` = `ORGANIZATION`. + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. * */ - location?: Maybe; + path: Scalars['String']['output']; /** - * A display name, independent of the type of contributor. + * Whether or not this property is required in order for the schema instance + * to be considered valid. + * + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. * */ - name: Scalars['String']['output']; + required: Scalars['Boolean']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; /** - * An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. + * Whether or not this property should be displayed as part of the submission process for this schema. * */ - orcid?: Maybe; - prefix?: Maybe; - slug: Scalars['Slug']['output']; - suffix?: Maybe; + submittable: Scalars['Boolean']['output']; /** - * Only applicable when `kind` = `PERSON`. + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. * */ - title?: Maybe; - updatedAt: Scalars['ISO8601DateTime']['output']; - url?: Maybe; + type: SchemaPropertyType; }; +/** + * Use full-text search on `path` to match `value`. + * + * As with top-level query searches, basic quoting and similar features are supported. See + * [websearch_to_tsquery](https://www.postgresql.org/docs/13/textsearch-controls.html) for + * more information. + * + */ +export type MatchesOperatorInput = { + path: Scalars['String']['input']; + value: Scalars['String']['input']; +}; /** - * An organization that has made contributions. + * An enumerated value associated with the templating subsystem. * */ -export type OrganizationContributorAttributionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * An organization that has made contributions. - * - */ -export type OrganizationContributorCollectionContributionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * An organization that has made contributions. - * - */ -export type OrganizationContributorItemContributionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - -/** A page of arbitrary content for an entity */ -export type Page = Node & { - __typename?: 'Page'; - body: Scalars['String']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - entity: Entity; - /** The hero image for a page */ - heroImage: ImageAttachment; - /** Configurable metadata for the hero_image attachment */ - heroImageMetadata?: Maybe; - id: Scalars['ID']['output']; - position?: Maybe; - slug: Scalars['String']['output']; - title: Scalars['String']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -/** The connection type for Page. */ -export type PageConnection = Paginated & { - __typename?: 'PageConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** Determines the direction that page-number based pagination should flow */ -export type PageDirection = - | 'BACKWARDS' - | 'FORWARDS' - | '%future added value'; - -/** An edge in a connection. */ -export type PageEdge = { - __typename?: 'PageEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: Page; -}; - -/** Information about pagination in a connection. */ -export type PageInfo = { - __typename?: 'PageInfo'; - /** When paginating forwards, the cursor to continue. */ - endCursor?: Maybe; - /** When paginating forwards, are there more items? */ - hasNextPage: Scalars['Boolean']['output']; - /** When paginating backwards, are there more items? */ - hasPreviousPage: Scalars['Boolean']['output']; - /** The page (if page-based pagination is supported and one was provided, does not introspect a value with cursor-based pagination) */ - page?: Maybe; - /** The total number of pages available to the connection (if page-based pagination supported and a page was provided) */ - pageCount?: Maybe; - /** The number of edges/nodes per page (if page-based pagination supported and a page was provided) */ - perPage?: Maybe; - /** When paginating backwards, the cursor to continue. */ - startCursor?: Maybe; - /** The total number of nodes available to this connection, constrained by applied filters (if any) */ - totalCount: Scalars['Int']['output']; - /** The total number of nodes available to this connection, independent of any filters */ - totalUnfilteredCount: Scalars['Int']['output']; -}; - -/** - * An enumerated value associated with the templating subsystem. - * - */ -export type PageListBackground = +export type MetadataBackground = /** * A dark gradient is applied to the background of this template. * @@ -14894,56 +15862,188 @@ export type PageListBackground = | 'NONE' | '%future added value'; -export type PageListTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'PageListTemplateDefinition'; +export type MetadataLayoutDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable & { + __typename?: 'MetadataLayoutDefinition'; /** - * The background gradient to use for this template. Affects presentation. + * Whether the current user has permission to destroy this record. * */ - background?: Maybe; + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; id: Scalars['ID']['output']; layoutKind: LayoutKind; /** - * Slot definitions for this template. + * The encoded slug for this record. * */ - slots: PageListTemplateDefinitionSlots; slug: Scalars['Slug']['output']; - templateKind: TemplateKind; + /** + * This layout will only ever have one template, so it can be fetched directly without needing the union. + * + */ + template?: Maybe; + /** + * The ordered template definitions available for this layout. + * + */ + templates: Array; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +export type MetadataLayoutInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable & { + __typename?: 'MetadataLayoutInstance'; /** - * This controls how wide the template should render. + * Whether all templates in this instance are hidden. * - * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent - * template that also uses `HALF`. + */ + allHidden: Scalars['Boolean']['output']; + /** + * Whether all slots in all template instances in this layout are empty. * */ - width?: Maybe; + allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The associated entity for this layout instance. + * + */ + entity: Entity; + id: Scalars['ID']['output']; + /** + * The time this object was last rendered. + * + */ + lastRenderedAt?: Maybe; + /** + * The layout definition for this type. + * + */ + layoutDefinition: MetadataLayoutDefinition; + layoutKind: LayoutKind; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * This layout will only ever have one template, so it can be fetched directly without needing the union. + * + */ + template?: Maybe; + /** + * The ordered template instances available for this layout. + * + */ + templates: Array; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +export type MetadataTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'MetadataTemplateDefinition'; + /** + * The background gradient to use for this template. Affects presentation. + * + */ + background?: Maybe; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; + /** + * Slot definitions for this template. + * + */ + slots: MetadataTemplateDefinitionSlots; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** * Slot definitions for the associated template. * */ -export type PageListTemplateDefinitionSlots = { - __typename?: 'PageListTemplateDefinitionSlots'; +export type MetadataTemplateDefinitionSlots = { + __typename?: 'MetadataTemplateDefinitionSlots'; header?: Maybe; + itemsA?: Maybe; + itemsB?: Maybe; + itemsC?: Maybe; + itemsD?: Maybe; }; -export type PageListTemplateInstance = Node & Renderable & Sluggable & TemplateInstance & { - __typename?: 'PageListTemplateInstance'; +export type MetadataTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance & { + __typename?: 'MetadataTemplateInstance'; /** * Whether all slots in this template are empty. * */ allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** * Load the associated definition for this template. * */ - definition: PageListTemplateDefinition; + definition: MetadataTemplateDefinition; /** * The associated entity for this template instance. * @@ -14981,3545 +16081,2917 @@ export type PageListTemplateInstance = Node & Renderable & Sluggable & TemplateI * Rendered slots for this template. * */ - slots: PageListTemplateInstanceSlots; + slots: MetadataTemplateInstanceSlots; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** * Rendered slots for the associated template. * */ -export type PageListTemplateInstanceSlots = { - __typename?: 'PageListTemplateInstanceSlots'; +export type MetadataTemplateInstanceSlots = { + __typename?: 'MetadataTemplateInstanceSlots'; header?: Maybe; + itemsA?: Maybe; + itemsB?: Maybe; + itemsC?: Maybe; + itemsD?: Maybe; }; -/** Connections can be paginated by cursor or number. */ -export type Paginated = { - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** - * A permalink is a persistant link to a resource with a human-readable URI. - * Each resource can have multiple permalinks, but only one can be marked as canonical. - * - */ -export type Permalink = Node & Sluggable & { - __typename?: 'Permalink'; +export type MultiselectProperty = OptionableProperty & ScalarProperty & SchemaProperty & SearchableProperty & { + __typename?: 'MultiselectProperty'; /** - * Whether this permalink is the canonical one for the `permalinkable`. + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. * */ - canonical: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; + array: Scalars['Boolean']['output']; + defaultSelections?: Maybe>; + description?: Maybe; /** - * The type of resource this permalink points to. + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. * */ - kind: PermalinkableKind; + fullPath: Scalars['String']['output']; /** - * The resource this permalink points to. + * The purpose or intent of this property relative to its entity, parents, and others. * */ - permalinkable: Permalinkable; + function: SchemaPropertyFunction; /** - * The slug of the `permalinkable` record. - * - * It can be used for quickly generating non-canonical links to the resource - * based on the `kind` without needing to load the associated record. + * Instructions for filling out this property during submission, if applicable. * */ - permalinkableSlug: Scalars['String']['output']; - slug: Scalars['Slug']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; + instructions?: Maybe; /** - * The URI of the permalink. Used for generating routes and also serves as a unique identifier. - * - * **Note**: URIs are _case-insensitive_ and may only contain alphanumeric characters and hyphens. - * Hyphens may not be consecutive nor may they appear at the start nor the end of the URI. + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. * */ - uri: Scalars['String']['output']; -}; - -/** The connection type for Permalink. */ -export type PermalinkConnection = Paginated & { - __typename?: 'PermalinkConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** Autogenerated input type of PermalinkCreate */ -export type PermalinkCreateInput = { + isWide: Scalars['Boolean']['output']; /** - * Whether this permalink should be the canonical permalink for its resource. - * - * If true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink. + * Provided for introspection. This describes the underlying structure of the data type. * */ - canonical?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + kind: SchemaPropertyKind; + label: Scalars['String']['output']; + /** The list of predefined options available for this property. */ + options: Array; /** - * The ID of the resource to which this permalink will belong. - * - * It can be changed. + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. * */ - permalinkableId: Scalars['ID']['input']; + orderable: Scalars['Boolean']['output']; /** - * The URI for the permalink. + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. * - * It is case-insensitive and must be unique system-wide. + */ + path: Scalars['String']['output']; + /** + * Whether or not this property is required in order for the schema instance + * to be considered valid. * - * It may only contain letters, numbers, and hyphens. - * It may not begin nor end with a hyphen, nor contain consecutive hyphens. + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. * */ - uri: Scalars['String']['input']; -}; - -/** Autogenerated return type of PermalinkCreate. */ -export type PermalinkCreatePayload = StandardMutationPayload & { - __typename?: 'PermalinkCreatePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + required: Scalars['Boolean']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; + selections?: Maybe>; /** - * The newly-modified permalink, if successful. + * Whether or not this property should be displayed as part of the submission process for this schema. * */ - permalink?: Maybe; -}; - -/** Autogenerated input type of PermalinkDestroy */ -export type PermalinkDestroyInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + submittable: Scalars['Boolean']['output']; /** - * The permalink to destroy. + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. * */ - permalinkId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of PermalinkDestroy. */ -export type PermalinkDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { - __typename?: 'PermalinkDestroyPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** Whether or not the model was successfully destroyed. If false, check globalErrors */ - destroyed?: Maybe; - /** The ID of the deleted model */ - destroyedId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** An edge in a connection. */ -export type PermalinkEdge = { - __typename?: 'PermalinkEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: Permalink; + type: SchemaPropertyType; }; /** - * Sort a collection of `Permalink` records by specific properties and directions. + * The entry point for making changes to the data within the Meru API. * */ -export type PermalinkOrder = - /** Sort permalinks by their default order: canonical first, then by uri alphabetically. */ - | 'DEFAULT' - /** Sort permalinks by oldest created date. */ - | 'OLDEST' - /** Sort permalinks by newest created date. */ - | 'RECENT' - | '%future added value'; - -/** Autogenerated input type of PermalinkUpdate */ -export type PermalinkUpdateInput = { +export type Mutation = { + __typename?: 'Mutation'; + /** Change a schema version for an entity. */ + alterSchemaVersion?: Maybe; + applySchemaProperties?: Maybe; /** - * Whether this permalink should be the canonical permalink for its resource. + * A mutation to claim a contributor profile as the current user. * - * If true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink. + * This is intended to be used by depositors who have already had contributions harvested + * and may have an existing `Contributor` record in the system. + * + * It relies upon the `canClaim` permission on the given `Contributor`, + * and by proxy, whether or not `Contributor.claimed` is `false`. * */ - canonical?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + contributorClaim?: Maybe; /** - * The permalink to update. + * Merge two contributors. + * + * The actual merging will occur in the background after a delay, but the source + * contributor will be marked as `MERGING` immediately. * */ - permalinkId: Scalars['ID']['input']; + contributorMerge?: Maybe; /** - * The ID of the resource to which this permalink will belong. + * Destroy a single `ContributorUserLink` record. * - * It can be changed. + */ + contributorUserLinkDestroy?: Maybe; + /** + * Create or update a link between a `Contributor` and a `User`. + * + * It relies upon the `canLinkUser` permission on the given `Contributor`. * */ - permalinkableId: Scalars['ID']['input']; + contributorUserLinkUpsert?: Maybe; /** - * The URI for the permalink. + * Destroy a single `ControlledVocabulary` record. * - * It is case-insensitive and must be unique system-wide. + */ + controlledVocabularyDestroy?: Maybe; + /** + * Update a single `ControlledVocabularySource`'s provider. * - * It may only contain letters, numbers, and hyphens. - * It may not begin nor end with a hyphen, nor contain consecutive hyphens. + */ + controlledVocabularySourceUpdate?: Maybe; + /** + * Upsert a controlled vocabulary based on definition. * */ - uri: Scalars['String']['input']; -}; - -/** Autogenerated return type of PermalinkUpdate. */ -export type PermalinkUpdatePayload = StandardMutationPayload & { - __typename?: 'PermalinkUpdatePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + controlledVocabularyUpsert?: Maybe; /** - * The newly-modified permalink, if successful. + * Create an announcement on an entity. * */ - permalink?: Maybe; -}; - -/** - * An interface for models which can have permalinks. - * - */ -export type Permalinkable = { + createAnnouncement?: Maybe; /** - * The canonical permalink for this resource, if one is set. + * Associate an uploaded asset (already present in the Tus cache store) with an entity. * */ - canonicalPermalink?: Maybe; + createAsset?: Maybe; + createCollection?: Maybe; + /** Create a community */ + createCommunity?: Maybe; + /** Create an item */ + createItem?: Maybe; + /** Create an ordering for an entity */ + createOrdering?: Maybe; + /** Create an organization contributor */ + createOrganizationContributor?: Maybe; /** - * All permalinks associated with this resource. + * Create a page on an entity. * */ - permalinks: Array; -}; - -/** - * An enum that helps describe the different kinds of records - * that can be permalinked. - * - */ -export type PermalinkableKind = + createPage?: Maybe; + /** Create a contributor */ + createPersonContributor?: Maybe; /** - * This permalink points to a collection. + * Create a global role, with a set of permissions, that can be used to grant access to various parts of the hierarchy + * in a granular fashion. * */ - | 'COLLECTION' + createRole?: Maybe; /** - * This permalink points to a community. + * Accept the depositor agreement for the given submission target. * */ - | 'COMMUNITY' + depositorAgreementAccept?: Maybe; /** - * This permalink points to an item. + * Reset a specific depositor agreement, forcing the associated depositor to re-accept the agreement before making any more deposits to the associated submission target. * */ - | 'ITEM' - | '%future added value'; - -/** A grant of a specific permission within a specific scope. */ -export type PermissionGrant = { - __typename?: 'PermissionGrant'; - /** Whether this permission has been granted in the current context. */ - allowed: Scalars['Boolean']['output']; - /** The unqualified, single name for this permission. */ - name: Scalars['String']['output']; - /** The fully-qualified path for this permission (composed of scope + name). */ - path: Scalars['String']['output']; - /** The scope (or namespace) for this permission. */ - scope?: Maybe; -}; - -/** A mapping of permissions specific to a certain scope */ -export type PermissionGrid = { - /** A list of allowed actions for the given user on this entity (and its descendants). */ - allowedActions: Array; - /** An array of hashes that can be requested to load in a context */ - permissions: Array; -}; - -/** - * A person that has made contributions. - * - */ -export type PersonContributor = Contributor & ContributorBase & HasHarvestModificationStatus & Node & Sluggable & { - __typename?: 'PersonContributor'; + depositorAgreementReset?: Maybe; /** - * Only applicable when `kind` = `PERSON`. + * Force all depositors to re-accept the depositor agreement for a given submission target. * */ - affiliation?: Maybe; - attributions: ContributorAttributionConnection; - bio?: Maybe; + depositorAgreementResetAll?: Maybe; /** - * The total number of collection contributions from this contributor. + * Update the state for a `DepositorRequest` record. * */ - collectionContributionCount: Scalars['Int']['output']; - collectionContributions: CollectionContributionConnection; + depositorRequestChangeState?: Maybe; /** - * The total number of contributions (item + collection) from this contributor. + * Create a single `DepositorRequest` record. * */ - contributionCount: Scalars['Int']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - email?: Maybe; + depositorRequestCreate?: Maybe; /** - * Only applicable when `kind` = `PERSON`. + * Destroy a announcement by ID. * */ - familyName?: Maybe; + destroyAnnouncement?: Maybe; /** - * Only applicable when `kind` = `PERSON`. + * Destroy an asset by ID. * */ - givenName?: Maybe; + destroyAsset?: Maybe; /** - * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have - * no effect on this record. + * Destroy a collection by ID. * */ - harvestModificationStatus: HarvestModificationStatus; - id: Scalars['ID']['output']; - identifier: Scalars['String']['output']; - /** An optional image associated with the contributor. */ - image: ImageAttachment; - /** Configurable metadata for the image attachment */ - imageMetadata?: Maybe; + destroyCollection?: Maybe; /** - * The total number of item contributions from this contributor. + * Destroy a community by ID. * */ - itemContributionCount: Scalars['Int']['output']; - itemContributions: ItemContributionConnection; - kind: ContributorKind; + destroyCommunity?: Maybe; /** - * Only applicable when `kind` = `ORGANIZATION`. + * Destroy a Contribution by ID. * */ - legalName?: Maybe; - links: Array; + destroyContribution?: Maybe; /** - * Only applicable when `kind` = `ORGANIZATION`. + * Destroy a contributor by ID. * */ - location?: Maybe; + destroyContributor?: Maybe; /** - * A display name, independent of the type of contributor. + * Destroy an EntityLink by ID. * */ - name: Scalars['String']['output']; + destroyEntityLink?: Maybe; /** - * An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. + * Destroy an item by ID. * */ - orcid?: Maybe; - prefix?: Maybe; - slug: Scalars['Slug']['output']; - suffix?: Maybe; + destroyItem?: Maybe; /** - * Only applicable when `kind` = `PERSON`. + * Destroy (or disable a schema-inherited) ordering. * */ - title?: Maybe; - updatedAt: Scalars['ISO8601DateTime']['output']; - url?: Maybe; -}; - - -/** - * A person that has made contributions. - * - */ -export type PersonContributorAttributionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * A person that has made contributions. - * - */ -export type PersonContributorCollectionContributionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * A person that has made contributions. - * - */ -export type PersonContributorItemContributionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - -/** Autogenerated input type of PreviewSlot */ -export type PreviewSlotInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + destroyOrdering?: Maybe; /** - * The entity to update. + * Destroy a page by ID. * */ - entityId: Scalars['ID']['input']; + destroyPage?: Maybe; /** - * The kind of slot to render. + * Purge an entity and **all** of its descendants. + * + * Depending on the entity, this can be very destructive and should be + * used with caution. + * + * The deletion will be backgrounded, so there will be a delay between + * calling this mutation and all the descendants actually being removed. * */ - kind: TemplateSlotKind; + entityPurge?: Maybe; /** - * The template to render. + * Revalidates the frontend cache for a given entity. * */ - template: Scalars['String']['input']; -}; - -/** Autogenerated return type of PreviewSlot. */ -export type PreviewSlotPayload = StandardMutationPayload & { - __typename?: 'PreviewSlotPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + frontendCacheRevalidateEntity?: Maybe; /** - * The rendered slot (if successful) + * Revalidates the frontend cache for the entire instance. * */ - slot?: Maybe; -}; - -/** When altering a schema version for an entity, there are various strategies that can be used to determine how to handle the provided properties. */ -export type PropertyApplicationStrategy = - /** If set to this value, property values will be validated and applied */ - | 'APPLY' - /** If set to this value, property values will not be applied, and the entity will likely exist in an invalid state. */ - | 'SKIP' - | '%future added value'; - -/** - * An interface for querying information about access control and roles within the system. - * - */ -export type QueriesAccessAndRoles = { + frontendCacheRevalidateInstance?: Maybe; + /** Grant access to a specific hierarchical entity */ + grantAccess?: Maybe; /** - * Retrieve all access grants. + * Kick off a manual `HarvestAttempt` from a `HarvestMapping` * */ - accessGrants: AnyAccessGrantConnection; + harvestAttemptFromMapping?: Maybe; /** - * List all roles. + * Kick off a manual `HarvestAttempt` from a `HarvestSource` * */ - roles: RoleConnection; -}; - - -/** - * An interface for querying information about access control and roles within the system. - * - */ -export type QueriesAccessAndRolesAccessGrantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - entity?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - subject?: InputMaybe; -}; - - -/** - * An interface for querying information about access control and roles within the system. - * - */ -export type QueriesAccessAndRolesRolesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; -}; - -/** - * Fields for querying details about contributors and contributions. - * - */ -export type QueriesContrib = { - /** Look up a collection contribution by slug */ - collectionContribution?: Maybe; - /** Look up contribution role configuration for a given contributable (or globally). */ - contributionRoles: ContributionRoleConfiguration; - /** Look up a contributor by slug */ - contributor?: Maybe; + harvestAttemptFromSource?: Maybe; /** - * Look up a contributor `by` a certain `value`. + * Prune harvested entities for a `HarvestAttempt` record. + * + * Note: the actual pruning will happen asynchronously in the background, and may take a while. * */ - contributorLookup?: Maybe; - /** A list of all contributors in the system */ - contributors: AnyContributorConnection; - /** Look up an item contribution by slug */ - itemContribution?: Maybe; -}; + harvestAttemptPruneEntities?: Maybe; + /** + * Create a single `HarvestMapping` record. + * + */ + harvestMappingCreate?: Maybe; + /** + * Destroy a single `HarvestMapping` record. + * + */ + harvestMappingDestroy?: Maybe; + /** + * Update a single `HarvestMapping` record. + * + */ + harvestMappingUpdate?: Maybe; + /** + * Create a single `HarvestMetadataMapping` record. + * + * There is no `harvestMetadataMappingUpdate` mutation. You can replace an existing field/pattern pair with a new target entity, + * or destroy ones that no longer apply. + * + */ + harvestMetadataMappingCreate?: Maybe; + /** + * Destroy a single `HarvestMetadataMapping` record. + * + */ + harvestMetadataMappingDestroy?: Maybe; + /** + * Create a single `HarvestSource` record. + * + */ + harvestSourceCreate?: Maybe; + /** + * Destroy a single `HarvestSource` record. + * + */ + harvestSourceDestroy?: Maybe; + /** + * Prune harvested entities for a `HarvestSource` record. + * + * Note: the actual pruning will happen asynchronously in the background, and may take a while. + * + */ + harvestSourcePruneEntities?: Maybe; + /** + * Update a single `HarvestSource` record. + * + */ + harvestSourceUpdate?: Maybe; + /** Link two entities together */ + linkEntity?: Maybe; + /** + * Create a single `Permalink` record. + * + */ + permalinkCreate?: Maybe; + /** + * Destroy a single `Permalink` record. + * + */ + permalinkDestroy?: Maybe; + /** + * Update a single `Permalink` record. + * + */ + permalinkUpdate?: Maybe; + /** + * Preview a slot for a given entity. + * + */ + previewSlot?: Maybe; + /** + * Force the layouts to render for a given `Entity`. + * + */ + renderLayouts?: Maybe; + /** + * A polymorphic mutation to reassign an entity to another point in the hierarchy. + * + * It performs validations to make sure that the parent entity can accept the child. + * + */ + reparentEntity?: Maybe; + /** + * Reset an ordering to "factory" settings. For schema-inherited orderings, + * this will reload its definition from the schema definition. For custom + * orderings, this will load minimal defaults. + * + */ + resetOrdering?: Maybe; + /** Revoke access from a specific hierarchical entity */ + revokeAccess?: Maybe; + /** + * Publish multiple submissions within a single submission target. + * + * This will enqueue the actual publications in the backend. + * + */ + submissionBatchPublish?: Maybe; + /** + * A mutation to change the state of a `Submission`. + * + */ + submissionChangeState?: Maybe; + /** + * Create a single `SubmissionComment` record. + * + */ + submissionCommentCreate?: Maybe; + /** + * Destroy a single `SubmissionComment` record. + * + */ + submissionCommentDestroy?: Maybe; + /** + * Update a single `SubmissionComment` record. + * + */ + submissionCommentUpdate?: Maybe; + /** + * Create a single `Submission` record. + * + */ + submissionCreate?: Maybe; + /** + * Leave a review on a submission. + * + * This effectively acts as an upsert and can be run by itself, + * or as a response to `submissionRequestReview`. + * + */ + submissionLeaveReview?: Maybe; + /** + * Publish a single submission. + * + * To publish multiple submissions at once, use `submissionBatchPublish`. + * + */ + submissionPublish?: Maybe; + /** + * Request a review from a reviewer. + * + * This effectively acts as an upsert. + * + * The reviewer is expected to call `submissionLeaveReview`. + * + */ + submissionRequestReview?: Maybe; + /** + * Close a `SubmissionTarget`, preventing any new submissions from being made. + * + */ + submissionTargetClose?: Maybe; + /** + * Update a single `SubmissionTarget` record. + * + */ + submissionTargetConfigure?: Maybe; + /** + * Open a `SubmissionTarget`, allowing new submissions to be made. + * + */ + submissionTargetOpen?: Maybe; + /** + * Create a single `SubmissionTargetReviewer` record. + * + */ + submissionTargetReviewerCreate?: Maybe; + /** + * Destroy a single `SubmissionTargetReviewer` record. + * + */ + submissionTargetReviewerDestroy?: Maybe; + /** + * Update an announcement by its ID. + * + */ + updateAnnouncement?: Maybe; + /** + * Update an asset by ID. + * + */ + updateAsset?: Maybe; + /** + * Update an asset's attachment by ID. + * + * This mutation is for updating **only** an asset's attachment, + * as opposed to the rest of its attributes (handled in `updateAsset`). + * + */ + updateAssetAttachment?: Maybe; + /** Update a collection */ + updateCollection?: Maybe; + /** Update a community */ + updateCommunity?: Maybe; + /** + * Update a Contribution by ID. + * + * **Note**: Neither the contribution role nor the contributor can be changed + * by this mutation. Rather than deal with uniqueness violations, it's necessary + * to delete the old contribution and create a new one with the correct role + * or contributor. + * + */ + updateContribution?: Maybe; + /** + * Update the global configuration for this site. + * + */ + updateGlobalConfiguration?: Maybe; + /** Update an item */ + updateItem?: Maybe; + /** Update an ordering by ID */ + updateOrdering?: Maybe; + /** Update an organization contributor */ + updateOrganizationContributor?: Maybe; + /** + * Update a page. + * + */ + updatePage?: Maybe; + /** Update a person contributor */ + updatePersonContributor?: Maybe; + /** + * Update the name or permissions for a given role. + * + */ + updateRole?: Maybe; + /** + * Update a user. + * + */ + updateUser?: Maybe; + /** + * Update the current viewer (i.e. you). + * + */ + updateViewerSettings?: Maybe; + /** + * Upsert a Contribution by contributable & contributor ID. It will override any + * existing contributions for the same contributor on the same entity. + * + */ + upsertContribution?: Maybe; + /** + * Reset a password for the current or specified user + * + */ + userResetPassword?: Maybe; +}; /** - * Fields for querying details about contributors and contributions. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesContribCollectionContributionArgs = { - slug: Scalars['Slug']['input']; +export type MutationAlterSchemaVersionArgs = { + input: AlterSchemaVersionInput; }; /** - * Fields for querying details about contributors and contributions. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesContribContributionRolesArgs = { - contributableId?: InputMaybe; +export type MutationApplySchemaPropertiesArgs = { + input: ApplySchemaPropertiesInput; }; /** - * Fields for querying details about contributors and contributions. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesContribContributorArgs = { - slug: Scalars['Slug']['input']; +export type MutationContributorClaimArgs = { + input: ContributorClaimInput; }; /** - * Fields for querying details about contributors and contributions. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesContribContributorLookupArgs = { - by: ContributorLookupField; - order?: SimpleOrder; - value: Scalars['String']['input']; +export type MutationContributorMergeArgs = { + input: ContributorMergeInput; }; /** - * Fields for querying details about contributors and contributions. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesContribContributorsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - kind?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - prefix?: InputMaybe; +export type MutationContributorUserLinkDestroyArgs = { + input: ContributorUserLinkDestroyInput; }; /** - * Fields for querying details about contributors and contributions. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesContribItemContributionArgs = { - slug: Scalars['Slug']['input']; +export type MutationContributorUserLinkUpsertArgs = { + input: ContributorUserLinkUpsertInput; }; + /** - * An interface for querying `ControlledVocabulary` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesControlledVocabulary = { - controlledVocabularies: ControlledVocabularyConnection; - /** - * Retrieve a single `ControlledVocabulary` by slug. - * - */ - controlledVocabulary?: Maybe; +export type MutationControlledVocabularyDestroyArgs = { + input: ControlledVocabularyDestroyInput; }; /** - * An interface for querying `ControlledVocabulary` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesControlledVocabularyControlledVocabulariesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationControlledVocabularySourceUpdateArgs = { + input: ControlledVocabularySourceUpdateInput; }; /** - * An interface for querying `ControlledVocabulary` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesControlledVocabularyControlledVocabularyArgs = { - slug: Scalars['Slug']['input']; +export type MutationControlledVocabularyUpsertArgs = { + input: ControlledVocabularyUpsertInput; }; + /** - * An interface for querying `ControlledVocabularySource` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesControlledVocabularySource = { - /** - * Retrieve a single `ControlledVocabularySource` by slug. - * - */ - controlledVocabularySource?: Maybe; - controlledVocabularySources: ControlledVocabularySourceConnection; +export type MutationCreateAnnouncementArgs = { + input: CreateAnnouncementInput; }; /** - * An interface for querying `ControlledVocabularySource` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesControlledVocabularySourceControlledVocabularySourceArgs = { - slug: Scalars['Slug']['input']; +export type MutationCreateAssetArgs = { + input: CreateAssetInput; }; /** - * An interface for querying `ControlledVocabularySource` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesControlledVocabularySourceControlledVocabularySourcesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationCreateCollectionArgs = { + input: CreateCollectionInput; }; + /** - * Fields for querying all entities from the top level of the hierarchy. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesEntities = { - /** Look up an asset by slug */ - asset?: Maybe; - /** Look up a collection by slug */ - collection?: Maybe; - /** List all communities */ - communities: CommunityConnection; - /** Look up a community by slug */ - community?: Maybe; - /** Look up a community by its title */ - communityByTitle?: Maybe; - /** Look up an item by slug */ - item?: Maybe; +export type MutationCreateCommunityArgs = { + input: CreateCommunityInput; }; /** - * Fields for querying all entities from the top level of the hierarchy. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesEntitiesAssetArgs = { - slug: Scalars['Slug']['input']; +export type MutationCreateItemArgs = { + input: CreateItemInput; }; /** - * Fields for querying all entities from the top level of the hierarchy. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesEntitiesCollectionArgs = { - slug: Scalars['Slug']['input']; +export type MutationCreateOrderingArgs = { + input: CreateOrderingInput; }; /** - * Fields for querying all entities from the top level of the hierarchy. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesEntitiesCommunitiesArgs = { - access?: InputMaybe; - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationCreateOrganizationContributorArgs = { + input: CreateOrganizationContributorInput; }; /** - * Fields for querying all entities from the top level of the hierarchy. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesEntitiesCommunityArgs = { - slug: Scalars['Slug']['input']; +export type MutationCreatePageArgs = { + input: CreatePageInput; }; /** - * Fields for querying all entities from the top level of the hierarchy. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesEntitiesCommunityByTitleArgs = { - title: Scalars['String']['input']; +export type MutationCreatePersonContributorArgs = { + input: CreatePersonContributorInput; }; /** - * Fields for querying all entities from the top level of the hierarchy. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesEntitiesItemArgs = { - slug: Scalars['Slug']['input']; +export type MutationCreateRoleArgs = { + input: CreateRoleInput; }; + /** - * An interface for querying `HarvestAttempt` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestAttempt = { - /** - * Retrieve a single `HarvestAttempt` by slug. - * - */ - harvestAttempt?: Maybe; - /** - * Query all harvest attempts in the system. - * - */ - harvestAttempts: HarvestAttemptConnection; +export type MutationDepositorAgreementAcceptArgs = { + input: DepositorAgreementAcceptInput; }; /** - * An interface for querying `HarvestAttempt` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestAttemptHarvestAttemptArgs = { - slug: Scalars['Slug']['input']; +export type MutationDepositorAgreementResetArgs = { + input: DepositorAgreementResetInput; }; /** - * An interface for querying `HarvestAttempt` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestAttemptHarvestAttemptsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationDepositorAgreementResetAllArgs = { + input: DepositorAgreementResetAllInput; }; + /** - * An interface for querying `HarvestExample` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestExample = { - /** - * Retrieve harvest examples for the system. - * - */ - harvestExamples: Array; +export type MutationDepositorRequestChangeStateArgs = { + input: DepositorRequestChangeStateInput; }; /** - * An interface for querying `HarvestExample` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestExampleHarvestExamplesArgs = { - generic?: InputMaybe; - metadataFormat?: InputMaybe; - protocol?: InputMaybe; +export type MutationDepositorRequestCreateArgs = { + input: DepositorRequestCreateInput; }; + /** - * An interface for querying `HarvestMapping` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestMapping = { - /** - * Retrieve a single `HarvestMapping` by slug. - * - */ - harvestMapping?: Maybe; - /** - * Query all harvest mappings in the system. - * - */ - harvestMappings: HarvestMappingConnection; +export type MutationDestroyAnnouncementArgs = { + input: DestroyAnnouncementInput; }; /** - * An interface for querying `HarvestMapping` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestMappingHarvestMappingArgs = { - slug: Scalars['Slug']['input']; +export type MutationDestroyAssetArgs = { + input: DestroyAssetInput; }; /** - * An interface for querying `HarvestMapping` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestMappingHarvestMappingsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationDestroyCollectionArgs = { + input: DestroyCollectionInput; }; + /** - * An interface for querying `HarvestMessage` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestMessage = { - harvestMessages: HarvestMessageConnection; +export type MutationDestroyCommunityArgs = { + input: DestroyCommunityInput; }; /** - * An interface for querying `HarvestMessage` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestMessageHarvestMessagesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationDestroyContributionArgs = { + input: DestroyContributionInput; }; + /** - * An interface for querying `HarvestRecord` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestRecord = { - /** - * Retrieve a single `HarvestRecord` by slug. - * - */ - harvestRecord?: Maybe; - /** - * Query all harvest records in the system. - * - */ - harvestRecords: HarvestRecordConnection; +export type MutationDestroyContributorArgs = { + input: DestroyContributorInput; }; /** - * An interface for querying `HarvestRecord` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestRecordHarvestRecordArgs = { - slug: Scalars['Slug']['input']; +export type MutationDestroyEntityLinkArgs = { + input: DestroyEntityLinkInput; }; /** - * An interface for querying `HarvestRecord` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestRecordHarvestRecordsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationDestroyItemArgs = { + input: DestroyItemInput; }; + /** - * An interface for querying `HarvestSet` records. - * - * To query a collection of harvest sets, you must check from the Harvest Source. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestSet = { - /** - * Retrieve a single `HarvestSet` by slug. - * - */ - harvestSet?: Maybe; +export type MutationDestroyOrderingArgs = { + input: DestroyOrderingInput; }; /** - * An interface for querying `HarvestSet` records. - * - * To query a collection of harvest sets, you must check from the Harvest Source. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestSetHarvestSetArgs = { - slug: Scalars['Slug']['input']; +export type MutationDestroyPageArgs = { + input: DestroyPageInput; }; + /** - * An interface for querying `HarvestSource` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestSource = { - /** - * Retrieve a single `HarvestSource` by slug. - * - */ - harvestSource?: Maybe; - harvestSources: HarvestSourceConnection; +export type MutationEntityPurgeArgs = { + input: EntityPurgeInput; }; /** - * An interface for querying `HarvestSource` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestSourceHarvestSourceArgs = { - slug: Scalars['Slug']['input']; +export type MutationFrontendCacheRevalidateEntityArgs = { + input: FrontendCacheRevalidateEntityInput; }; /** - * An interface for querying `HarvestSource` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesHarvestSourceHarvestSourcesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationFrontendCacheRevalidateInstanceArgs = { + input: FrontendCacheRevalidateInstanceInput; }; + /** - * An interface for querying `Permalink` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesPermalink = { - /** - * Retrieve a single `Permalink` by slug. - * - */ - permalink?: Maybe; - /** - * Retrieve a single `Permalink` by its URI. - * - */ - permalinkByUri?: Maybe; - permalinks: PermalinkConnection; +export type MutationGrantAccessArgs = { + input: GrantAccessInput; }; /** - * An interface for querying `Permalink` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesPermalinkPermalinkArgs = { - slug: Scalars['Slug']['input']; +export type MutationHarvestAttemptFromMappingArgs = { + input: HarvestAttemptFromMappingInput; }; /** - * An interface for querying `Permalink` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesPermalinkPermalinkByUriArgs = { - uri: Scalars['String']['input']; +export type MutationHarvestAttemptFromSourceArgs = { + input: HarvestAttemptFromSourceInput; }; /** - * An interface for querying `Permalink` records. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesPermalinkPermalinksArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationHarvestAttemptPruneEntitiesArgs = { + input: HarvestAttemptPruneEntitiesInput; }; + /** - * Fields for querying schemas and schema-related data. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSchemas = { - /** A list of ordering paths for creating and updating orderings. */ - orderingPaths: Array; - /** Look up a schema definition by slug */ - schemaDefinition?: Maybe; - /** List all schema definitions */ - schemaDefinitions: SchemaDefinitionConnection; - /** Look up a schema version by slug */ - schemaVersion?: Maybe; - /** List all options for schema versions */ - schemaVersionOptions: Array; - /** List all schema versions */ - schemaVersions: SchemaVersionConnection; +export type MutationHarvestMappingCreateArgs = { + input: HarvestMappingCreateInput; }; /** - * Fields for querying schemas and schema-related data. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSchemasOrderingPathsArgs = { - schemas?: InputMaybe>; +export type MutationHarvestMappingDestroyArgs = { + input: HarvestMappingDestroyInput; }; /** - * Fields for querying schemas and schema-related data. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSchemasSchemaDefinitionArgs = { - slug: Scalars['Slug']['input']; +export type MutationHarvestMappingUpdateArgs = { + input: HarvestMappingUpdateInput; }; /** - * Fields for querying schemas and schema-related data. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSchemasSchemaDefinitionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - namespace?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationHarvestMetadataMappingCreateArgs = { + input: HarvestMetadataMappingCreateInput; }; /** - * Fields for querying schemas and schema-related data. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSchemasSchemaVersionArgs = { - slug: Scalars['Slug']['input']; +export type MutationHarvestMetadataMappingDestroyArgs = { + input: HarvestMetadataMappingDestroyInput; }; /** - * Fields for querying schemas and schema-related data. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSchemasSchemaVersionOptionsArgs = { - kind?: InputMaybe; - namespace?: InputMaybe; +export type MutationHarvestSourceCreateArgs = { + input: HarvestSourceCreateInput; }; /** - * Fields for querying schemas and schema-related data. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSchemasSchemaVersionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - namespace?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationHarvestSourceDestroyArgs = { + input: HarvestSourceDestroyInput; }; + /** - * Fields for querying system-level information about the current installation. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSystem = { - /** Access top-level analytics. */ - analytics: Analytics; - /** Fetch the global configuration for this installation */ - globalConfiguration: GlobalConfiguration; - /** A helper field that is used to look up various details about the WDP-API ecosystem. */ - systemInfo: SystemInfo; - /** Look up a user by slug */ - user?: Maybe; - /** A list of all users in the system */ - users: UserConnection; - /** - * The currently authenticated user. AKA: you - * - */ - viewer: User; +export type MutationHarvestSourcePruneEntitiesArgs = { + input: HarvestSourcePruneEntitiesInput; }; /** - * Fields for querying system-level information about the current installation. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSystemUserArgs = { - slug: Scalars['Slug']['input']; +export type MutationHarvestSourceUpdateArgs = { + input: HarvestSourceUpdateInput; }; /** - * Fields for querying system-level information about the current installation. + * The entry point for making changes to the data within the Meru API. * */ -export type QueriesSystemUsersArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - prefix?: InputMaybe; +export type MutationLinkEntityArgs = { + input: LinkEntityInput; }; -export type QueriesUser = { - /** Look up a user by slug */ - user?: Maybe; - /** A list of all users in the system */ - users: UserConnection; - /** - * The currently authenticated user. AKA: you - * - */ - viewer: User; + +/** + * The entry point for making changes to the data within the Meru API. + * + */ +export type MutationPermalinkCreateArgs = { + input: PermalinkCreateInput; }; -export type QueriesUserUserArgs = { - slug: Scalars['Slug']['input']; +/** + * The entry point for making changes to the data within the Meru API. + * + */ +export type MutationPermalinkDestroyArgs = { + input: PermalinkDestroyInput; }; -export type QueriesUserUsersArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - prefix?: InputMaybe; +/** + * The entry point for making changes to the data within the Meru API. + * + */ +export type MutationPermalinkUpdateArgs = { + input: PermalinkUpdateInput; }; + /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type Query = QueriesAccessAndRoles & QueriesContrib & QueriesControlledVocabulary & QueriesControlledVocabularySource & QueriesEntities & QueriesHarvestAttempt & QueriesHarvestExample & QueriesHarvestMapping & QueriesHarvestMessage & QueriesHarvestRecord & QueriesHarvestSet & QueriesHarvestSource & QueriesPermalink & QueriesSchemas & QueriesSystem & QueriesUser & Searchable & { - __typename?: 'Query'; - /** - * Retrieve all access grants. - * - */ - accessGrants: AnyAccessGrantConnection; - /** Access top-level analytics. */ - analytics: Analytics; - /** Look up an asset by slug */ - asset?: Maybe; - /** Look up a collection by slug */ - collection?: Maybe; - /** Look up a collection contribution by slug */ - collectionContribution?: Maybe; - /** List all communities */ - communities: CommunityConnection; - /** Look up a community by slug */ - community?: Maybe; - /** Look up a community by its title */ - communityByTitle?: Maybe; - /** Look up contribution role configuration for a given contributable (or globally). */ - contributionRoles: ContributionRoleConfiguration; - /** Look up a contributor by slug */ - contributor?: Maybe; - /** - * Look up a contributor `by` a certain `value`. - * - */ - contributorLookup?: Maybe; - /** A list of all contributors in the system */ - contributors: AnyContributorConnection; - controlledVocabularies: ControlledVocabularyConnection; - /** - * Retrieve a single `ControlledVocabulary` by slug. - * - */ - controlledVocabulary?: Maybe; - /** - * Retrieve a single `ControlledVocabularySource` by slug. - * - */ - controlledVocabularySource?: Maybe; - controlledVocabularySources: ControlledVocabularySourceConnection; - /** Fetch the global configuration for this installation */ - globalConfiguration: GlobalConfiguration; - /** - * Retrieve a single `HarvestAttempt` by slug. - * - */ - harvestAttempt?: Maybe; - /** - * Query all harvest attempts in the system. - * - */ - harvestAttempts: HarvestAttemptConnection; - /** - * Retrieve harvest examples for the system. - * - */ - harvestExamples: Array; - /** - * Retrieve a single `HarvestMapping` by slug. - * - */ - harvestMapping?: Maybe; - /** - * Query all harvest mappings in the system. - * - */ - harvestMappings: HarvestMappingConnection; - harvestMessages: HarvestMessageConnection; - /** - * Retrieve a single `HarvestRecord` by slug. - * - */ - harvestRecord?: Maybe; - /** - * Query all harvest records in the system. - * - */ - harvestRecords: HarvestRecordConnection; - /** - * Retrieve a single `HarvestSet` by slug. - * - */ - harvestSet?: Maybe; - /** - * Retrieve a single `HarvestSource` by slug. - * - */ - harvestSource?: Maybe; - harvestSources: HarvestSourceConnection; - /** Look up an item by slug */ - item?: Maybe; - /** Look up an item contribution by slug */ - itemContribution?: Maybe; - /** Fetches an object given its ID. */ - node?: Maybe; - /** Fetches a list of objects given a list of IDs. */ - nodes: Array>; - /** A list of ordering paths for creating and updating orderings. */ - orderingPaths: Array; - /** - * Retrieve a single `Permalink` by slug. - * - */ - permalink?: Maybe; - /** - * Retrieve a single `Permalink` by its URI. - * - */ - permalinkByUri?: Maybe; - permalinks: PermalinkConnection; - /** - * List all roles. - * - */ - roles: RoleConnection; - /** Look up a schema definition by slug */ - schemaDefinition?: Maybe; - /** List all schema definitions */ - schemaDefinitions: SchemaDefinitionConnection; - /** Look up a schema version by slug */ - schemaVersion?: Maybe; - /** List all options for schema versions */ - schemaVersionOptions: Array; - /** List all schema versions */ - schemaVersions: SchemaVersionConnection; - /** Search from this level of the API using it as the origin */ - search: SearchScope; - /** A helper field that is used to look up various details about the WDP-API ecosystem. */ - systemInfo: SystemInfo; - /** Look up a user by slug */ - user?: Maybe; - /** A list of all users in the system */ - users: UserConnection; - /** - * The currently authenticated user. AKA: you - * - */ - viewer: User; +export type MutationPreviewSlotArgs = { + input: PreviewSlotInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryAccessGrantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - entity?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - subject?: InputMaybe; +export type MutationRenderLayoutsArgs = { + input: RenderLayoutsInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryAssetArgs = { - slug: Scalars['Slug']['input']; +export type MutationReparentEntityArgs = { + input: ReparentEntityInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryCollectionArgs = { - slug: Scalars['Slug']['input']; +export type MutationResetOrderingArgs = { + input: ResetOrderingInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryCollectionContributionArgs = { - slug: Scalars['Slug']['input']; +export type MutationRevokeAccessArgs = { + input: RevokeAccessInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryCommunitiesArgs = { - access?: InputMaybe; - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationSubmissionBatchPublishArgs = { + input: SubmissionBatchPublishInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryCommunityArgs = { - slug: Scalars['Slug']['input']; +export type MutationSubmissionChangeStateArgs = { + input: SubmissionChangeStateInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryCommunityByTitleArgs = { - title: Scalars['String']['input']; +export type MutationSubmissionCommentCreateArgs = { + input: SubmissionCommentCreateInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryContributionRolesArgs = { - contributableId?: InputMaybe; +export type MutationSubmissionCommentDestroyArgs = { + input: SubmissionCommentDestroyInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryContributorArgs = { - slug: Scalars['Slug']['input']; +export type MutationSubmissionCommentUpdateArgs = { + input: SubmissionCommentUpdateInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryContributorLookupArgs = { - by: ContributorLookupField; - order?: SimpleOrder; - value: Scalars['String']['input']; +export type MutationSubmissionCreateArgs = { + input: SubmissionCreateInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryContributorsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - kind?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - prefix?: InputMaybe; +export type MutationSubmissionLeaveReviewArgs = { + input: SubmissionLeaveReviewInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryControlledVocabulariesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationSubmissionPublishArgs = { + input: SubmissionPublishInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryControlledVocabularyArgs = { - slug: Scalars['Slug']['input']; +export type MutationSubmissionRequestReviewArgs = { + input: SubmissionRequestReviewInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryControlledVocabularySourceArgs = { - slug: Scalars['Slug']['input']; +export type MutationSubmissionTargetCloseArgs = { + input: SubmissionTargetCloseInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryControlledVocabularySourcesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationSubmissionTargetConfigureArgs = { + input: SubmissionTargetConfigureInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryHarvestAttemptArgs = { - slug: Scalars['Slug']['input']; +export type MutationSubmissionTargetOpenArgs = { + input: SubmissionTargetOpenInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryHarvestAttemptsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationSubmissionTargetReviewerCreateArgs = { + input: SubmissionTargetReviewerCreateInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryHarvestExamplesArgs = { - generic?: InputMaybe; - metadataFormat?: InputMaybe; - protocol?: InputMaybe; +export type MutationSubmissionTargetReviewerDestroyArgs = { + input: SubmissionTargetReviewerDestroyInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryHarvestMappingArgs = { - slug: Scalars['Slug']['input']; +export type MutationUpdateAnnouncementArgs = { + input: UpdateAnnouncementInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryHarvestMappingsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationUpdateAssetArgs = { + input: UpdateAssetInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryHarvestMessagesArgs = { - after?: InputMaybe; - before?: InputMaybe; - filters?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - orFilters?: InputMaybe>; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationUpdateAssetAttachmentArgs = { + input: UpdateAssetAttachmentInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryHarvestRecordArgs = { - slug: Scalars['Slug']['input']; +export type MutationUpdateCollectionArgs = { + input: UpdateCollectionInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryHarvestRecordsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationUpdateCommunityArgs = { + input: UpdateCommunityInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryHarvestSetArgs = { - slug: Scalars['Slug']['input']; -}; - - -/** - * The entry point for retrieving data from within the Meru API. - * - */ -export type QueryHarvestSourceArgs = { - slug: Scalars['Slug']['input']; -}; - - -/** - * The entry point for retrieving data from within the Meru API. - * - */ -export type QueryHarvestSourcesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; -}; - - -/** - * The entry point for retrieving data from within the Meru API. - * - */ -export type QueryItemArgs = { - slug: Scalars['Slug']['input']; -}; - - -/** - * The entry point for retrieving data from within the Meru API. - * - */ -export type QueryItemContributionArgs = { - slug: Scalars['Slug']['input']; -}; - - -/** - * The entry point for retrieving data from within the Meru API. - * - */ -export type QueryNodeArgs = { - id: Scalars['ID']['input']; +export type MutationUpdateContributionArgs = { + input: UpdateContributionInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryNodesArgs = { - ids: Array; +export type MutationUpdateGlobalConfigurationArgs = { + input: UpdateGlobalConfigurationInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryOrderingPathsArgs = { - schemas?: InputMaybe>; +export type MutationUpdateItemArgs = { + input: UpdateItemInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryPermalinkArgs = { - slug: Scalars['Slug']['input']; +export type MutationUpdateOrderingArgs = { + input: UpdateOrderingInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryPermalinkByUriArgs = { - uri: Scalars['String']['input']; +export type MutationUpdateOrganizationContributorArgs = { + input: UpdateOrganizationContributorInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryPermalinksArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationUpdatePageArgs = { + input: UpdatePageInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QueryRolesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; +export type MutationUpdatePersonContributorArgs = { + input: UpdatePersonContributorInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QuerySchemaDefinitionArgs = { - slug: Scalars['Slug']['input']; +export type MutationUpdateRoleArgs = { + input: UpdateRoleInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QuerySchemaDefinitionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - namespace?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationUpdateUserArgs = { + input: UpdateUserInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QuerySchemaVersionArgs = { - slug: Scalars['Slug']['input']; +export type MutationUpdateViewerSettingsArgs = { + input: UpdateViewerSettingsInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QuerySchemaVersionOptionsArgs = { - kind?: InputMaybe; - namespace?: InputMaybe; +export type MutationUpsertContributionArgs = { + input: UpsertContributionInput; }; /** - * The entry point for retrieving data from within the Meru API. + * The entry point for making changes to the data within the Meru API. * */ -export type QuerySchemaVersionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - namespace?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +export type MutationUserResetPasswordArgs = { + input: UserResetPasswordInput; }; - -/** - * The entry point for retrieving data from within the Meru API. - * - */ -export type QuerySearchArgs = { - maxDepth?: InputMaybe; - visibility?: InputMaybe; +/** An error for a specific attribute in a mutation—intended for use with react-hook-form and similarly shaped structures */ +export type MutationAttributeError = { + __typename?: 'MutationAttributeError'; + /** The accumulated messages for this combination of path and type */ + messages: Array; + /** The attribute that should have the error */ + path: Scalars['String']['output']; + /** A grouping type for the attribute */ + type: Scalars['String']['output']; }; +export type MutationErrorScope = + | 'ATTRIBUTE' + | 'GLOBAL' + | '%future added value'; -/** - * The entry point for retrieving data from within the Meru API. - * - */ -export type QueryUserArgs = { - slug: Scalars['Slug']['input']; +/** An error that encapsulates the entire mutation input and is not tied to a specific input field. */ +export type MutationGlobalError = { + __typename?: 'MutationGlobalError'; + /** The actual message */ + message: Scalars['String']['output']; + type: Scalars['String']['output']; }; - /** - * The entry point for retrieving data from within the Meru API. + * Entity schemas can define named ancestors, which allows UI developers to refer + * authoritatively to significant relatives in an entity's ancestor. This object + * represents the connection between an originating entity and its ancestors, + * should any be defined for the schema. * */ -export type QueryUsersArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - prefix?: InputMaybe; +export type NamedAncestor = { + __typename?: 'NamedAncestor'; + /** The actual ancestor */ + ancestor: Entity; + /** The depth of the ancestor in the hierarchy */ + ancestorDepth: Scalars['Int']['output']; + /** The name of the ancestor. Guaranteed to be unique for this specific entity. */ + name: Scalars['String']['output']; + /** The relative depth of the originating entity */ + originDepth: Scalars['Int']['output']; + /** + * The relative depth from the source entity to its ancestor. In other words, `(origin_depth - ancestor_depth)`. + * Used for sorting ancestors deterministically. + * + */ + relativeDepth: Scalars['Int']['output']; }; /** - * An entity which can be limited in its visibility, based on some configured attributes. + * An enumerated value associated with the templating subsystem. * */ -export type ReferencesEntityVisibility = { +export type NavigationBackground = /** - * Whether the entity is _currently_ hidden, based on the server's time zone. + * A dark gradient is applied to the background of this template. * */ - currentlyHidden: Scalars['Boolean']['output']; + | 'DARK' /** - * Whether the entity is _currently_ visible, based on the server's time zone. + * A light gradient is applied to the background of this template. * */ - currentlyVisible: Scalars['Boolean']['output']; + | 'LIGHT' /** - * Whether the entity's visibility is set to `HIDDEN` + * No background is applied to this template. * */ - hidden: Scalars['Boolean']['output']; + | 'NONE' + | '%future added value'; + +export type NavigationLayoutDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable & { + __typename?: 'NavigationLayoutDefinition'; /** - * Specify a time to check to see if the entity will be hidden. + * Whether the current user has permission to destroy this record. * */ - hiddenAsOf: Scalars['Boolean']['output']; - /** If present, this is the timestamp the entity was hidden at */ - hiddenAt?: Maybe; - /** If an entity is available in the frontend */ - visibility: EntityVisibility; + canDestroy: AuthorizationResult; /** - * Whether the entity's visibility is set to `VISIBLE`. + * Whether the current user has permission to update this record. * */ - visible: Scalars['Boolean']['output']; - /** If present, this is the timestamp an entity is visible after */ - visibleAfterAt?: Maybe; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; /** - * Specify a time to check to see if the entity will be visible. + * The encoded slug for this record. * */ - visibleAsOf: Scalars['Boolean']['output']; - /** If present, this is the timestamp an entity is visible until */ - visibleUntilAt?: Maybe; + slug: Scalars['Slug']['output']; + /** + * This layout will only ever have one template, so it can be fetched directly without needing the union. + * + */ + template?: Maybe; + /** + * The ordered template definitions available for this layout. + * + */ + templates: Array; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; - -/** - * An entity which can be limited in its visibility, based on some configured attributes. - * - */ -export type ReferencesEntityVisibilityHiddenAsOfArgs = { - time?: InputMaybe; -}; - - -/** - * An entity which can be limited in its visibility, based on some configured attributes. - * - */ -export type ReferencesEntityVisibilityVisibleAsOfArgs = { - time?: InputMaybe; -}; - -/** - * An interface for retrieving certain shared, common variable-precision dates - * that are associated with events in the publication, collection, and release - * of an entity. - * - */ -export type ReferencesGlobalEntityDates = { - /** The date this entity was published */ - published: VariablePrecisionDate; -}; - -/** Autogenerated input type of RenderLayouts */ -export type RenderLayoutsInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; +export type NavigationLayoutInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable & { + __typename?: 'NavigationLayoutInstance'; /** - * The entity to render layouts on. + * Whether all templates in this instance are hidden. * */ - entityId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of RenderLayouts. */ -export type RenderLayoutsPayload = StandardMutationPayload & { - __typename?: 'RenderLayoutsPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; + allHidden: Scalars['Boolean']['output']; /** - * The newly-rendered entity with its updated layouts, if successful. + * Whether all slots in all template instances in this layout are empty. * */ - entity?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** - * An interface describing an instance type that can be rendered for a given entity. - * - */ -export type Renderable = { + allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The associated entity for this layout instance. + * + */ + entity: Entity; + id: Scalars['ID']['output']; /** * The time this object was last rendered. * */ lastRenderedAt?: Maybe; -}; - -/** Autogenerated input type of ReparentEntity */ -export type ReparentEntityInput = { /** - * The collection in need of a new parent + * The layout definition for this type. * */ - childId: Scalars['ID']['input']; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + layoutDefinition: NavigationLayoutDefinition; + layoutKind: LayoutKind; /** - * The ID for the new parent entity. For children of the collection type, this - * must be a community or another collection. For children of the item type, - * this must be a collection or another item. + * The encoded slug for this record. * */ - parentId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of ReparentEntity. */ -export type ReparentEntityPayload = StandardMutationPayload & { - __typename?: 'ReparentEntityPayload'; - attributeErrors: Array; - /** If the child was successfully reparented, this field will be populated */ - child?: Maybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of ResetOrdering */ -export type ResetOrderingInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - orderingId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of ResetOrdering. */ -export type ResetOrderingPayload = StandardMutationPayload & { - __typename?: 'ResetOrderingPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - ordering?: Maybe; -}; - -/** Autogenerated input type of RevokeAccess */ -export type RevokeAccessInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - entityId: Scalars['ID']['input']; - roleId: Scalars['ID']['input']; - userId: Scalars['ID']['input']; -}; - -/** Autogenerated return type of RevokeAccess. */ -export type RevokeAccessPayload = StandardMutationPayload & { - __typename?: 'RevokeAccessPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - entity?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - /** Whether or not access was revoked */ - revoked?: Maybe; -}; - -/** A named role in the WDP API */ -export type Role = ExposesEffectiveAccess & Node & Sluggable & { - __typename?: 'Role'; - /** The access control list for this specific role */ - accessControlList: AccessControlList; - /** A list of action names that have been granted to this role */ - allowedActions: Array; - createdAt: Scalars['ISO8601DateTime']['output']; - /** Only relevant for `custom` roles, this affects sorting. */ - customPriority?: Maybe; + slug: Scalars['Slug']['output']; /** - * User-specific access permissions for this object. + * This layout will only ever have one template, so it can be fetched directly without needing the union. * */ - effectiveAccess: EffectiveAccess; + template?: Maybe; /** - * The global access control list that this assigned role implies, based on its sort order. + * The ordered template instances available for this layout. * */ - globalAccessControlList: GlobalAccessControlList; + templates: Array; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +export type NavigationTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'NavigationTemplateDefinition'; /** - * A list of global action names that this role implies, based on its sort order. + * The background gradient to use for this template. Affects presentation. * */ - globalAllowedActions: Array; - id: Scalars['ID']['output']; + background?: Maybe; /** - * For `system` roles, this will be populated with the unique identifier - * that marks this as a system role. + * Whether the current user has permission to destroy this record. * */ - identifier?: Maybe; + canDestroy: AuthorizationResult; /** - * The specific kind of role this is, based on how it entered the WDP-API. + * Whether the current user has permission to update this record. * */ - kind: RoleKind; - /** The human readable name of the role within the system */ - name: Scalars['String']['output']; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * Surfaced from the accessControlList for convenience, these are returned as - * an array that allows a user to check for the state of all possible roles - * without having to specify them explicitly in the GraphQL request + * If true, the metadata template/tab should be hidden for this schema. * */ - permissions: Array; + hideMetadata?: Maybe; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; /** - * Used internally to sort roles and ensure certain role types are above - * and below others, irrespective of priority. + * Slot definitions for this template. * */ - primacy: RolePrimacy; + slots: NavigationTemplateDefinitionSlots; /** - * The calculated sort priority for this role. - * - * * For `custom` roles, it is based on `custom_priority`. - * * For `system` roles, it is based on hard-coded values within the system - * and cannot be modified. + * The encoded slug for this record. * */ - priority: Scalars['Int']['output']; slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -/** The connection type for Role. */ -export type RoleConnection = Paginated & { - __typename?: 'RoleConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** An edge in a connection. */ -export type RoleEdge = { - __typename?: 'RoleEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: Role; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** - * A categorization of a `Role` based on how it gets into the WDP-API. + * Slot definitions for the associated template. * */ -export type RoleKind = +export type NavigationTemplateDefinitionSlots = { + __typename?: 'NavigationTemplateDefinitionSlots'; + entityLabel?: Maybe; +}; + +export type NavigationTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance & { + __typename?: 'NavigationTemplateInstance'; /** - * Custom roles are created and managed through the `createRole`, `updateRole`, and `destroyRole` mutations. + * Whether all slots in this template are empty. * */ - | 'CUSTOM' + allSlotsEmpty: Scalars['Boolean']['output']; /** - * System roles are shipped by default with WDP-API and cannot be modified. + * Whether the current user has permission to destroy this record. * */ - | 'SYSTEM' - | '%future added value'; - -/** Sort roles by a specific property and order */ -export type RoleOrder = - /** Sort roles by default priority within the system */ - | 'DEFAULT' - /** Sort roles by their name A-Z */ - | 'NAME_ASCENDING' - /** Sort roles by their name Z-A */ - | 'NAME_DESCENDING' - /** Sort roles by oldest created date */ - | 'OLDEST' - /** Sort roles by newest created date */ - | 'RECENT' - | '%future added value'; - -/** - * The level of importance any given role has when it comes to determing what a user's "primary" role is. - * - */ -export type RolePrimacy = - /** Values with this primacy level are the default. Any custom roles will be in this scope. */ - | 'DEFAULT' - /** Values with this primacy level take priority over all others. They cannot be directly assigned through the API. */ - | 'HIGH' - /** Values with this primacy level are always sorted after every other role. */ - | 'LOW' - | '%future added value'; - -/** - * This will identify _which_ `system` role this is, if applicable. See `RoleKind` for more information. - * - */ -export type RoleSystemIdentifier = - /** - * A global administrator. This role cannot be directly assigned. - * - */ - | 'ADMIN' - /** - * An editor has basic update permissions for a specific point in the hierarchy. - * - */ - | 'EDITOR' - /** - * A manager can be assigned to handle most `Community` and other entity management concerns. - * - * They can also appoint other roles (except for other managers) to any entity they manage. - * - */ - | 'MANAGER' + canDestroy: AuthorizationResult; /** - * A reader is anyone who has been given explicit read-access to an entity. - * This role is primarily used by the administration UI. - * - * **Note**: Anonymous users can still view public entities in the frontend. + * Whether the current user has permission to update this record. * */ - | 'READER' - | '%future added value'; - -/** - * A property on a `SchemaInstance`. - * - */ -export type ScalarProperty = { + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * Load the associated definition for this template. * */ - array: Scalars['Boolean']['output']; + definition: NavigationTemplateDefinition; /** - * A human-readable description for the property. It should describe the purpose of the - * property as well as some details about the types of values it looks for. - * - * It can be rendered as help text, hints, etc. + * The associated entity for this template instance. * */ - description?: Maybe; + entity: Entity; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * Whether this template instance should be hidden based on some logic. * - */ - fullPath: Scalars['String']['output']; - /** - * The purpose or intent of this property relative to its entity, parents, and others. + * At present, this only occurs if certain slots are empty. * */ - function: SchemaPropertyFunction; + hidden: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * The time this object was last rendered. * */ - isWide: Scalars['Boolean']['output']; + lastRenderedAt?: Maybe; + layoutKind: LayoutKind; /** - * Provided for introspection. This describes the underlying structure of the data type. + * Return all preceding siblings to the current template in order of proximity. * - */ - kind: SchemaPropertyKind; - /** - * A human-readable label for the schema property. + * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. * */ - label: Scalars['String']['output']; + nextSiblings: Array; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * Return all preceding siblings to the current template in order of proximity. * - */ - orderable: Scalars['Boolean']['output']; - /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. * */ - path: Scalars['String']['output']; + prevSiblings: Array; /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. - * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + * Rendered slots for this template. * */ - required: Scalars['Boolean']['output']; + slots: NavigationTemplateInstanceSlots; /** - * Provided for introspection. This represents the actual data type this property - * uses. - * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * The encoded slug for this record. * */ - type: SchemaPropertyType; + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** - * A schema definition is a logical grouping of `SchemaVersion`s that identifies - * only the shared kind, namespace, and identifier. The name is also most likely - * shared, although it can change between schema versions, and the value on the - * definition will default to whatever the most recent version uses. + * Rendered slots for the associated template. * */ -export type SchemaDefinition = DescribesSchema & Node & Sluggable & { - __typename?: 'SchemaDefinition'; - createdAt: Scalars['ISO8601DateTime']['output']; - /** - * The full declaration for this schema, including namespace, identifier, and version (if available). - * - */ - declaration: Scalars['String']['output']; - id: Scalars['ID']['output']; - /** - * A unique (per-namespace) value that names the schema within the system. - * - */ - identifier: Scalars['String']['output']; - /** - * The kind of entity this schema applies to. - * - */ - kind: SchemaKind; - /** - * A human-readable name for the schema. - * - */ - name: Scalars['String']['output']; - /** - * A unique namespace the schema lives in. - * - */ - namespace: Scalars['String']['output']; - slug: Scalars['Slug']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; +export type NavigationTemplateInstanceSlots = { + __typename?: 'NavigationTemplateInstanceSlots'; + entityLabel?: Maybe; }; -/** The connection type for SchemaDefinition. */ -export type SchemaDefinitionConnection = Paginated & { - __typename?: 'SchemaDefinitionConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; +/** An object with an ID. */ +export type Node = { + /** ID of the object. */ + id: Scalars['ID']['output']; }; -/** An edge in a connection. */ -export type SchemaDefinitionEdge = { - __typename?: 'SchemaDefinitionEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: SchemaDefinition; -}; +/** The priority for NULL values when sorting */ +export type NullOrderPriority = + | 'FIRST' + | 'LAST' + | '%future added value'; /** - * Being an instance that implements a schema version with strongly-typed properties. - * Overlaps with Entity, but intended for focused access to just the properties - * and the necessary context. + * Require that `path ≥ value` while enforcing that value is numeric. + * + * Note: this will also work for integer paths. Coercion is handled + * transparently by the API. * */ -export type SchemaInstance = { - /** - * Expose all available entities for this schema property. - * - */ - availableEntitiesFor: Array; - /** - * The context for our schema instance. Includes form values and necessary referents. - * - */ - schemaInstanceContext: SchemaInstanceContext; - /** - * A list of schema properties associated with this instance or version. - * - */ - schemaProperties: Array; - /** - * Read a single schema property by its full path. - * - */ - schemaProperty?: Maybe; +export type NumericGteOperatorInput = { + path: Scalars['String']['input']; + value: Scalars['Float']['input']; }; - /** - * Being an instance that implements a schema version with strongly-typed properties. - * Overlaps with Entity, but intended for focused access to just the properties - * and the necessary context. + * Require that `path ≤ value` while enforcing that value is numeric. + * + * Note: this will also work for integer paths. Coercion is handled + * transparently by the API. * */ -export type SchemaInstanceAvailableEntitiesForArgs = { - fullPath: Scalars['String']['input']; +export type NumericLteOperatorInput = { + path: Scalars['String']['input']; + value: Scalars['Float']['input']; }; +/** + * An interface for properties that have a set of predefined options to choose from. + * + */ +export type OptionableProperty = { + /** The list of predefined options available for this property. */ + options: Array; +}; /** - * Being an instance that implements a schema version with strongly-typed properties. - * Overlaps with Entity, but intended for focused access to just the properties - * and the necessary context. + * The boolean result of evaluating the left and right predicates. At least one must be true. + * + * While this is implemented, it is not likely that the first version of the search + * UI will utilize it. It is intended for advanced searching. * */ -export type SchemaInstanceSchemaPropertyArgs = { - fullPath: Scalars['String']['input']; +export type OrOperatorInput = { + left: SearchPredicateInput; + right: SearchPredicateInput; }; -/** A context that describes the current state of the form */ -export type SchemaInstanceContext = { - __typename?: 'SchemaInstanceContext'; - assets: Array; - contributors: Array; - /** Not yet populated. May be used in the future. */ - defaultValues: Scalars['JSON']['output']; - /** The entity ID for this schema instance. */ - entityId: Scalars['ID']['output']; - /** The values for the schema form on this instance */ - fieldValues: Scalars['JSON']['output']; - /** The slug for the current schema version */ - schemaVersionSlug: Scalars['String']['output']; - /** Information about the validity of the schema instance */ - validity?: Maybe; -}; - -export type SchemaInstanceValidation = { - __typename?: 'SchemaInstanceValidation'; - errors: Array; - valid: Scalars['Boolean']['output']; - validatedAt: Scalars['ISO8601DateTime']['output']; +/** Ordering for a specific column */ +export type OrderDefinition = { + __typename?: 'OrderDefinition'; + direction: Direction; + nulls: NullOrderPriority; + path: Scalars['String']['output']; }; -/** The kind of entity a schema applies to */ -export type SchemaKind = - | 'COLLECTION' - | 'COMMUNITY' - | 'ITEM' - | '%future added value'; - -/** - * This ordering path represents a schema property and is variably - * available based on whether matched entities' schemas implement it. - * - */ -export type SchemaOrderingPath = OrderingPath & { - __typename?: 'SchemaOrderingPath'; - /** A helpful description of the path */ - description?: Maybe; - /** A logical grouping for ordering paths */ - grouping: OrderingPathGrouping; - /** A human-readable label for the path */ - label: Scalars['String']['output']; - /** - * Some paths may have a prefix. For instance, schema properties will have the name of the schema. - * - */ - labelPrefix?: Maybe; - /** The exact path that should be provided to mutation inputs. */ - path: Scalars['String']['output']; - schemaVersion: SchemaVersion; - /** The schema property type */ - type: SchemaPropertyType; +/** Ordering for a specific column */ +export type OrderDefinitionInput = { + direction?: InputMaybe; + nulls?: InputMaybe; + path: Scalars['String']['input']; }; -/** - * A property on a `SchemaInstance`. - * - */ -export type SchemaProperty = { +/** An ordering that belongs to an entity and arranges its children in a pre-configured way */ +export type Ordering = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Searchable & Sluggable & { + __typename?: 'Ordering'; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * Whether the current user has permission to destroy this record. * */ - array: Scalars['Boolean']['output']; + canDestroy: AuthorizationResult; /** - * A human-readable description for the property. It should describe the purpose of the - * property as well as some details about the types of values it looks for. - * - * It can be rendered as help text, hints, etc. + * Whether the current user has permission to update this record. * */ - description?: Maybe; + canUpdate: AuthorizationResult; + children: OrderingEntryConnection; + /** A constant ordering should be treated as not being able to invert itself. */ + constant: Scalars['Boolean']['output']; + /** The number of entries currently visible within the ordering */ + count: Scalars['Int']['output']; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** Whether the ordering has been disabled—orderings inherited from schemas will be disabled if deleted. */ + disabled: Scalars['Boolean']['output']; + /** The time the ordering was disabled, if applicable */ + disabledAt?: Maybe; + /** The entity that owns the ordering */ + entity: Entity; + filter: OrderingFilterDefinition; + /** Optional markdown content to render after the children */ + footer?: Maybe; + /** Optional markdown content to render before the children */ + header?: Maybe; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * A hidden ordering represents an ordering that should not be shown in the frontend, + * when iterating over an entity's available orderings. It does not affect access, as + * hidden orderings may still serve a functional purpose for their schema. * */ - fullPath: Scalars['String']['output']; + hidden: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; + /** A unique identifier for the ordering within the context of its parent entity. */ + identifier: Scalars['String']['output']; + /** Whether the ordering was inherited from its entity's schema definition */ + inheritedFromSchema: Scalars['Boolean']['output']; + /** An optional, human-readable name for the ordering */ + name?: Maybe; + order: Array; /** - * Provided for introspection. This describes the underlying structure of the data type. + * For orderings that are `inheritedFromSchema`, this tracks whether or not the + * entity has been modified from the schema's definition. It is always false + * for custom, user-created orderings. * */ - kind: SchemaPropertyKind; + pristine: Scalars['Boolean']['output']; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * Configuration for how to render an ordering and its entries. * */ - orderable: Scalars['Boolean']['output']; + render: OrderingRenderDefinition; + /** Search from this level of the API using it as the origin */ + search: SearchScope; + select: OrderingSelectDefinition; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * The encoded slug for this record. * */ - path: Scalars['String']['output']; + slug: Scalars['Slug']['output']; /** - * Provided for introspection. This represents the actual data type this property - * uses. + * A tree ordering has some special handling to return entities + * in deterministic order based on their hierarchical position + * and relation to other entities in the same ordering. * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * This is effectively a shortcut for `Ordering.render.mode === "TREE"`. * */ - type: SchemaPropertyType; + tree: Scalars['Boolean']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** Schema properties can serve various functions. This helps communicate the purpose of them, for building UIs, and general introspection. */ -export type SchemaPropertyFunction = - /** - * This property acts as data inherently representative of the entity. Full text of an article, titling, and other such purposes. - * - */ - | 'CONTENT' - /** - * This property is intended to offer further information about the content, but not necessarily the content itself. - * Most metadata should be things that are filterable or searchable to help users find and learn more about related - * content. - * - */ - | 'METADATA' + +/** An ordering that belongs to an entity and arranges its children in a pre-configured way */ +export type OrderingChildrenArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** An ordering that belongs to an entity and arranges its children in a pre-configured way */ +export type OrderingSearchArgs = { + maxDepth?: InputMaybe; + visibility?: InputMaybe; +}; + +/** + * An ordering's availability refers to it being enabled or disabled. + * + */ +export type OrderingAvailabilityFilter = + /** Do not filter orderings by whether they are enabled or disabled. */ + | 'ALL' + /** Fetch only *disabled* orderings. */ + | 'DISABLED' + /** Fetch only *enabled* orderings. */ + | 'ENABLED' + | '%future added value'; + +/** + * An enumerated value associated with the templating subsystem. + * + */ +export type OrderingBackground = /** - * This property is used for presenting information *about* the content, or how it should be formatted, but is less reflective - * of the content itself. An option for changing a specific render style, an additional image to display, etc. + * A dark gradient is applied to the background of this template. * */ - | 'PRESENTATION' + | 'DARK' /** - * This property is only used when ordering this entity by ancestors. It should not generally be visible in the frontend, but - * remain editable by admins to adjust ordering. + * A light gradient is applied to the background of this template. * */ - | 'SORTING' + | 'LIGHT' /** - * This property's purpose remains unspecified and is likely the mark of a schema still in development. It should not generally - * be in a finished schema, as it is important to help communicate the intent of a property for those building a UI. + * No background is applied to this template. * */ - | 'UNSPECIFIED' + | 'NONE' | '%future added value'; +/** The connection type for Ordering. */ +export type OrderingConnection = Paginated & { + __typename?: 'OrderingConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + /** - * The _kind_ of a data type for a schema property. Mostly informational - * in the API, this value represents the underlying structure of the data type. + * A definition for an ordering (may be dynamic). * */ -export type SchemaPropertyKind = +export type OrderingDefinition = { + __typename?: 'OrderingDefinition'; + /** A constant ordering should be treated as not being able to invert itself. */ + constant: Scalars['Boolean']['output']; + filter: OrderingFilterDefinition; /** - * A complex data type that is composed of multiple subproperties - * or requires other processing. Their values cannot be easily - * mapped to GraphQL / JavaScript primitives. - * - * See `VariableDateProperty`, `FullTextProperty` for examples. + * A hidden ordering represents an ordering that should not be shown in the frontend, + * when iterating over an entity's available orderings. It does not affect access, as + * hidden orderings may still serve a functional purpose for their schema. * */ - | 'COMPLEX' - /** A composite of other properties. See `GroupProperty` */ - | 'GROUP' + hidden: Scalars['Boolean']['output']; + /** A unique identifier for the ordering within the context of its parent entity. */ + identifier: Scalars['String']['output']; + /** An optional, human-readable name for the ordering */ + name?: Maybe; + order: Array; /** - * A reference (or references) to other models in the system. - * - * See `AssetProperty`, `ContributorsProperty` for examples + * Configuration for how to render an ordering and its entries. * */ - | 'REFERENCE' + render: OrderingRenderDefinition; + select: OrderingSelectDefinition; /** - * The most common type of property, and what most values are likely to be. Strings, - * integers, floats, booleans, and so on. + * A tree ordering has some special handling to return entities + * in deterministic order based on their hierarchical position + * and relation to other entities in the same ordering. + * + * This is effectively a shortcut for `Ordering.render.mode === "TREE"`. * */ - | 'SIMPLE' - | '%future added value'; - -/** The data type for a schema property. */ -export type SchemaPropertyType = - /** A reference to a single asset owned by the schema instance. See `AssetProperty` */ - | 'ASSET' - /** A reference to multiple assets owned by the schema instance. See `AssetsProperty` */ - | 'ASSETS' - /** True or false, yes or no, a checkbox. See `BooleanProperty` */ - | 'BOOLEAN' - /** A reference to a single contributor in the system. See `ContributorProperty` */ - | 'CONTRIBUTOR' - /** A reference to multiple contributors in the system. See `ContributorsProperty` */ - | 'CONTRIBUTORS' - | 'CONTROLLED_VOCABULARIES' - | 'CONTROLLED_VOCABULARY' - /** An ISO8601-formatted date. See `DateProperty` */ - | 'DATE' - /** An email address. See `EmailProperty` */ - | 'EMAIL' - /** A reference to multiple entities. See `EntitiesProperty` */ - | 'ENTITIES' - /** A reference to a single entity. See `EntityProperty` */ - | 'ENTITY' - /** A decimal / floating-point number. See `FloatProperty` */ - | 'FLOAT' - /** A complex type representing textual content. See `FullTextProperty` */ - | 'FULL_TEXT' - /** A type composed of other properties. See `GroupProperty` */ - | 'GROUP' - /** A whole number. See `IntegerProperty` */ - | 'INTEGER' - /** Markdown-formatted text. See `MarkdownProperty` */ - | 'MARKDOWN' - /** A dropdown that supports selecting multiple values. See `MultiselectProperty` */ - | 'MULTISELECT' - /** A dropdown that can select only one value. See `SelectProperty` */ - | 'SELECT' - /** Simple text values. See `StringProperty` */ - | 'STRING' - /** An array of tags that can be introspected. See `TagsProperty` */ - | 'TAGS' - /** An ISO8601-formatted timestamp. See `TimestampProperty` */ - | 'TIMESTAMP' - /** A fallback type for invalid schemas. See `UnknownProperty` */ - | 'UNKNOWN' - /** A complex type representing a URL, with metadata. See `URLProperty` */ - | 'URL' - /** A complex type representing a date that cannot be expressed exactly. See `VariableDateProperty` */ - | 'VARIABLE_DATE' - | '%future added value'; - -/** - * Configuration for controlling how instances of a schema render outside of orderings. - * - */ -export type SchemaRenderDefinition = { - __typename?: 'SchemaRenderDefinition'; - /** How to render a list */ - listMode: SchemaRenderListMode; + tree: Scalars['Boolean']['output']; }; -/** - * How instances that implement a certain schema should be rendered outside of an ordering, - * when rendering only entities for the same type of schema. - * - * This value is currently only intended to be used by the frontend. It enforces no special - * handling within the API itself, unlike an `OrderingRenderModeType`. - * - */ -export type SchemaRenderListMode = - | 'GRID' - | 'TABLE' - | 'TREE' +export type OrderingDirectSelection = + | 'CHILDREN' + | 'DESCENDANTS' + | 'NONE' | '%future added value'; -/** An error that stems from trying to apply an invalid schema value. */ -export type SchemaValueError = { - __typename?: 'SchemaValueError'; - /** - * An error with the entire set of values - * @deprecated Not presently used: see globalErrors - */ - base: Scalars['Boolean']['output']; - /** Whether this is a hint */ - hint: Scalars['Boolean']['output']; - /** A human-readable description of the error */ - message: Scalars['String']['output']; - /** Additional metadata attached to the error */ - metadata?: Maybe; - /** Which input value this error came from */ - path: Scalars['String']['output']; +/** An edge in a connection. */ +export type OrderingEdge = { + __typename?: 'OrderingEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: Ordering; }; -/** - * A specific version of a `SchemaDefinition`. - * - */ -export type SchemaVersion = DescribesSchema & HasSchemaProperties & Node & Searchable & Sluggable & { - __typename?: 'SchemaVersion'; - createdAt: Scalars['ISO8601DateTime']['output']; +/** An entry within an ordering, it can refer to an entity or an entity link */ +export type OrderingEntry = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'OrderingEntry'; /** - * The full declaration for this schema, including namespace, identifier, and version (if available). + * When the associated `Ordering` is a `TREE`, and the current entry is a leaf, this array can be used + * to get the associated ancestors within the entry that * */ - declaration: Scalars['String']['output']; + ancestors: Array; /** - * Declarations / slugs for `enforcedChildVersions`. + * Whether the current user has permission to destroy this record. * */ - enforcedChildDeclarations: Array; + canDestroy: AuthorizationResult; /** - * A list of entity kinds that make acceptable children for this schema. + * Whether the current user has permission to update this record. * */ - enforcedChildKinds: Array; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * The versions that this schema accepts as a child. - * - * If there are no schemas, then this schema does not enforce its children. + * The actual element being ordered. At present, this will only be a `Community`, `Collection`, or `Item`, + * but future implementations of orderings may include other content, such as presentation elements. * */ - enforcedChildVersions: Array; + entry: OrderingEntryable; /** - * Declarations / slugs for `enforcedParentVersions`. + * The delegated `slug` from the associated `entry`. * - */ - enforcedParentDeclarations: Array; - /** - * A list of entity kinds that make acceptable parents for this schema. + * This can be null because future entries may not implement it. * */ - enforcedParentKinds: Array; + entrySlug?: Maybe; /** - * The versions that are allowed to parent this schema. + * The delegated `title` from the associated `entry`. * - * If there are no schemas, then this schema does not enforce its parentage. + * This can be null because future entries may not implement it. * */ - enforcedParentVersions: Array; - /** A boolean for the logic on `enforcedChildVersions`. */ - enforcesChildren: Scalars['Boolean']['output']; - /** A boolean for the logic on `enforcedParentVersions`. */ - enforcesParent: Scalars['Boolean']['output']; + entryTitle?: Maybe; id: Scalars['ID']['output']; /** - * A unique (per-namespace) value that names the schema within the system. - * - */ - identifier: Scalars['String']['output']; - /** - * The kind of entity this schema applies to. - * - */ - kind: SchemaKind; - /** - * A human-readable name for the schema. - * - */ - name: Scalars['String']['output']; - /** - * A unique namespace the schema lives in. + * The next entry in the current ordering, if one exists. This will be null if this entry is the last. * */ - namespace: Scalars['String']['output']; + nextSibling?: Maybe; + /** The parent ordering */ + ordering: Ordering; /** - * A semantic version for the schema + * The 1-based position of this entry. * */ - number: Scalars['String']['output']; + position?: Maybe; /** - * Configuration for rendering schema instances outside of orderings. + * The previous entry in the current ordering, if one exists. This will be null if this entry is the first. * */ - render: SchemaRenderDefinition; + prevSibling?: Maybe; /** - * The shared schema definition for all versions of this namespace and identifier. + * A calculation of the depth of an entry in the hierarchy, relative to the ordering's owning entity. * */ - schemaDefinition: SchemaDefinition; + relativeDepth: Scalars['Int']['output']; /** - * A list of schema properties associated with this instance or version. + * The encoded slug for this record. * */ - schemaProperties: Array; - /** Search from this level of the API using it as the origin */ - search: SearchScope; + slug: Scalars['Slug']['output']; /** - * A subset of properties that can be searched for this schema. + * When an ordering's render mode is set to TREE, its entries will have this set. + * It is a normalized depth based on what other entities were accepted into the ordering. * */ - searchableProperties: Array; - slug: Scalars['Slug']['output']; + treeDepth?: Maybe; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; - -/** - * A specific version of a `SchemaDefinition`. - * - */ -export type SchemaVersionSearchArgs = { - maxDepth?: InputMaybe; - visibility?: InputMaybe; -}; - -/** The connection type for SchemaVersion. */ -export type SchemaVersionConnection = Paginated & { - __typename?: 'SchemaVersionConnection'; +/** The connection type for OrderingEntry. */ +export type OrderingEntryConnection = Paginated & { + __typename?: 'OrderingEntryConnection'; /** A list of edges. */ - edges: Array; + edges: Array; /** A list of nodes. */ - nodes: Array; + nodes: Array; /** Information to aid in pagination. */ pageInfo: PageInfo; }; /** An edge in a connection. */ -export type SchemaVersionEdge = { - __typename?: 'SchemaVersionEdge'; +export type OrderingEntryEdge = { + __typename?: 'OrderingEntryEdge'; /** A cursor for use in pagination. */ cursor: Scalars['String']['output']; /** The item at the end of the edge. */ - node: SchemaVersion; -}; - -export type SchemaVersionOption = { - __typename?: 'SchemaVersionOption'; - identifier: Scalars['String']['output']; - kind: SchemaKind; - /** The label to display in a select box */ - label: Scalars['String']['output']; - name: Scalars['String']['output']; - namespace: Scalars['String']['output']; - schemaDefinition: SchemaDefinition; - schemaVersion: SchemaVersion; - /** The value to use in a select box */ - value: Scalars['String']['output']; + node: OrderingEntry; }; -/** Order schema versions by various factors */ -export type SchemaVersionOrder = - /** Order with newest versions at the top */ - | 'LATEST' - /** Order with oldest versions at the top */ - | 'OLDEST' +/** When fetching entries from an ordering, you can swap between the default or a special 'inverted' mode */ +export type OrderingEntrySortMode = + /** Retrieve the ordering entries as defined by default */ + | 'DEFAULT' + /** Retrieve the ordering entries in an inverted order, accounting for paths */ + | 'INVERSE' | '%future added value'; /** - * These operators serve as keys for `SearchPredicateInput`. + * An entity or link which can appear in an ordering. * */ -export type SearchOperator = - /** See `AndOperatorInput` */ - | 'and' - /** See `DateEqualsOperatorInput` */ - | 'dateEquals' - /** See `DateGTEOperatorInput` */ - | 'dateGTE' - /** See `DateLTEOperatorInput` */ - | 'dateLTE' - /** See `EqualsOperatorInput` */ - | 'equals' - /** See `InAnyOperatorInput` */ - | 'inAny' - /** See `MatchesOperatorInput` */ - | 'matches' - /** See `NumericGTEOperatorInput` */ - | 'numericGTE' - /** See `NumericLTEOperatorInput` */ - | 'numericLTE' - /** See `OrOperatorInput` */ - | 'or' - | '%future added value'; +export type OrderingEntryable = { + /** ID of the object. */ + id: Scalars['ID']['output']; +}; /** - * The type of origin for this search scope. + * A collection of settings for filtering what appears what entities + * may populate an ordering. At present, this only supports schemas. * */ -export type SearchOriginType = - | 'ENTITY' - | 'GLOBAL' - | 'ORDERING' - | 'SCHEMA' - | '%future added value'; +export type OrderingFilterDefinition = { + __typename?: 'OrderingFilterDefinition'; + /** + * If set, any child or descendant that matches one of these schemas will + * be availabel to be included in the ordering. + * + */ + schemas: Array; +}; /** - * A predicate clause for searching entities. - * - * Each key corresponds to a `SearchOperator`, and multiple keys combined - * in the same predicate will be implicitly `AND`ed together. + * A collection of settings for filtering what appears what entities + * may populate an ordering. At present, this only supports schemas. * */ -export type SearchPredicateInput = { - /** See `AndOperatorInput` */ - and?: InputMaybe; - /** See `DateEqualsOperatorInput` */ - dateEquals?: InputMaybe; - /** See `DateGTEOperatorInput` */ - dateGTE?: InputMaybe; - /** See `DateLTEOperatorInput` */ - dateLTE?: InputMaybe; - /** See `EqualsOperatorInput` */ - equals?: InputMaybe; - /** See `InAnyOperatorInput` */ - inAny?: InputMaybe; - /** See `MatchesOperatorInput` */ - matches?: InputMaybe; - /** See `NumericGTEOperatorInput` */ - numericGTE?: InputMaybe; - /** See `NumericLTEOperatorInput` */ - numericLTE?: InputMaybe; - /** See `OrOperatorInput` */ - or?: InputMaybe; +export type OrderingFilterDefinitionInput = { + /** + * If set, any child or descendant that matches one of these schemas will + * be availabel to be included in the ordering. + * + */ + schemas?: InputMaybe>; }; +/** An enum used to order `Ordering`s. It uses `DETERMINISTIC` by default to ensure a consistent rendering experience. */ +export type OrderingOrder = + /** Sort orderings by their static position of the ordering, falling back to the name if unset. */ + | 'DETERMINISTIC' + /** Sort orderings by oldest created date */ + | 'OLDEST' + /** Sort orderings by newest created date */ + | 'RECENT' + | '%future added value'; + /** - * An entity that's the result of a search. + * This represents a valid path that can be used for orderings. * */ -export type SearchResult = Node & Sluggable & { - __typename?: 'SearchResult'; +export type OrderingPath = { + /** A helpful description of the path */ + description?: Maybe; + /** A logical grouping for ordering paths */ + grouping: OrderingPathGrouping; + /** A human-readable label for the path */ + label: Scalars['String']['output']; /** - * A reference to the actual entity returned by the search query. + * Some paths may have a prefix. For instance, schema properties will have the name of the schema. * */ - entity: Entity; + labelPrefix?: Maybe; + /** The exact path that should be provided to mutation inputs. */ + path: Scalars['String']['output']; + /** The schema property type */ + type: SchemaPropertyType; +}; + +/** A logical grouping for ordering paths. */ +export type OrderingPathGrouping = /** - * The encoded ID that will point to the entity itself, not a special ID for the search result record. + * Paths under this type come from _ancestors_ in a schema. + * Not every entity is guaranteed to have one, and in orderings + * with mixed entities, missing props will be treated as null. * */ - id: Scalars['ID']['output']; + | 'ANCESTOR_PROPS' /** - * The kind of entity returned by the search results. + * Static properties that are directly on an ancestor. * */ - kind: EntityKind; + | 'ANCESTOR_STATIC' /** - * The schema version of the returned entity. + * Static properties that are directly on an entity. * */ - schemaVersion: SchemaVersion; + | 'ENTITY' /** - * The slug for the entity. + * Static properties that are derived from a link. * */ - slug: Scalars['Slug']['output']; + | 'LINK' /** - * The title for the entity. + * Paths under this type come from a schema. Not every entity is guaranteed + * to have one, and in orderings with mixed entities, missing props will be + * treated as null. * */ - title: Scalars['String']['output']; -}; + | 'PROPS' + /** + * Static properties that are derived from a schema. + * + */ + | 'SCHEMA' + | '%future added value'; -/** The connection type for SearchResult. */ -export type SearchResultConnection = Paginated & { - __typename?: 'SearchResultConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; +/** + * Configuration for controlling how an ordering renders itself and its entries. + * + */ +export type OrderingRenderDefinition = { + __typename?: 'OrderingRenderDefinition'; + /** How to render entries within */ + mode: OrderingRenderMode; }; -/** An edge in a connection. */ -export type SearchResultEdge = { - __typename?: 'SearchResultEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: SearchResult; +/** + * Describe how an ordering should render its entries. + * + */ +export type OrderingRenderDefinitionInput = { + mode?: InputMaybe; }; -export type SearchScope = { - __typename?: 'SearchScope'; +/** + * How entries in an ordering should be rendered. + * + */ +export type OrderingRenderMode = /** - * The available schema versions underneath this search scope. + * The default for most orderings. Every ordering is considered to be on + * the same level of the hierarchy, and positions are calculated based + * solely on the paths. * */ - availableSchemaVersions: Array; - coreProperties: Array; - originType: SearchOriginType; + | 'FLAT' /** - * The results of a search. + * A special mode for handling orderings that should operate like a tree. In this setting, + * entries will be calculated first as though they were flat, then analyzed in order to + * adjust the positioning to account for the entry's ancestors and position relative to + * other entries in the ordering. * - * You must specify one of the following options in order to activate a search: + */ + | 'TREE' + | '%future added value'; + +/** This defines a specific schema that an ordering can filter its entries by */ +export type OrderingSchemaFilter = { + __typename?: 'OrderingSchemaFilter'; + /** + * The identifier within the namespace for the schema. * - * * `predicates` - * * `prefix` - * * `query` - * * `schema` + */ + identifier: Scalars['String']['output']; + /** + * The namespace the schema occupies. * - * If _none_ of these are set, the search will be considered empty, and return 0 results. + */ + namespace: Scalars['String']['output']; + /** + * An optional version requirement for the associated schema. * */ - results: SearchResultConnection; - visibility: EntityVisibilityFilter; + version?: Maybe; }; - -export type SearchScopeResultsArgs = { - access?: InputMaybe; - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - predicates?: InputMaybe>; - prefix?: InputMaybe; - query?: InputMaybe; - schema?: InputMaybe>; - scope?: InputMaybe; +/** This defines a specific schema that an ordering can filter its entries by */ +export type OrderingSchemaFilterInput = { + /** + * The identifier within the namespace for the schema. + * + */ + identifier: Scalars['String']['input']; + /** + * The namespace the schema occupies. + * + */ + namespace: Scalars['String']['input']; + /** + * An optional version requirement for this ordering. It supports + * Ruby's version declaration syntax, so you can provide a value + * like `">= 1.2"` to match against semantically-versioned schemas. + * + */ + version?: InputMaybe; }; -export type Searchable = { - /** Search from this level of the API using it as the origin */ - search: SearchScope; +/** + * Defines how an ordering should select its entries. + * + */ +export type OrderingSelectDefinition = { + __typename?: 'OrderingSelectDefinition'; + direct: OrderingDirectSelection; + links: OrderingSelectLinkDefinition; }; - -export type SearchableSearchArgs = { - maxDepth?: InputMaybe; - visibility?: InputMaybe; -}; - -export type SearchableCoreProperty = SearchableProperty & { - __typename?: 'SearchableCoreProperty'; - description?: Maybe; - label: Scalars['String']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; -}; +/** + * Define how an ordering should select its entries + * + */ +export type OrderingSelectDefinitionInput = { + direct?: InputMaybe; + links?: InputMaybe; +}; /** - * An interface for properties that can be searched. + * Describes how an ordering should select its links. * */ -export type SearchableProperty = { - description?: Maybe; - label: Scalars['String']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; +export type OrderingSelectLinkDefinition = { + __typename?: 'OrderingSelectLinkDefinition'; + contains: Scalars['Boolean']['output']; + references: Scalars['Boolean']['output']; }; -/** An option for a select-type property. */ -export type SelectOption = { - __typename?: 'SelectOption'; - /** The display label for the option. */ - label: Scalars['String']['output']; - /** The underlying value for the option. */ - value: Scalars['String']['output']; +/** + * Describe how an ordering should select its links. + * + */ +export type OrderingSelectLinkDefinitionInput = { + contains?: InputMaybe; + references?: InputMaybe; }; -export type SelectProperty = OptionableProperty & ScalarProperty & SchemaProperty & SearchableProperty & { - __typename?: 'SelectProperty'; +export type OrderingTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'OrderingTemplateDefinition'; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. + * The background gradient to use for this template. Affects presentation. * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + */ + background?: Maybe; + /** + * Whether the current user has permission to destroy this record. * */ - array: Scalars['Boolean']['output']; - defaultSelection?: Maybe; - description?: Maybe; + canDestroy: AuthorizationResult; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * Whether the current user has permission to update this record. * */ - fullPath: Scalars['String']['output']; + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; /** - * The purpose or intent of this property relative to its entity, parents, and others. + * The identifier for the ordering to derive next/prev siblings from. + * + * Refer to `orderingSource` and `selectionSource` for more details. * */ - function: SchemaPropertyFunction; + orderingIdentifier?: Maybe; /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * A reference to the entity that contains an ordering identified by `orderingIdentifier`. + * It operates exactly like `selectionSource`. See that property for more documentation. + * + * **Note**: While `self` is allowed here, it only makes sense if the rendering entity + * is contained in one of its own orderings, which doesn't happen normally. The template + * will still render, but it likely won't find siblings. * */ - isWide: Scalars['Boolean']['output']; + orderingSource?: Maybe; + orderingSourceAncestorName?: Maybe; + orderingSourceMode?: Maybe; /** - * Provided for introspection. This describes the underlying structure of the data type. + * What entity to use for detecting the positional prev/next siblings. + * + * By default, it is `self`. However, it can be overridden for creating templates that + * navigate through parent issues, volumes, journals, etc. For instance, an article could + * create an `` template that has the following properties set: + * + * * `selectionSource`: `"ancestors.issue"` + * * `orderingSource`: `"ancestors.journal"` + * * `orderingIdentifier`: `"issues"` + * + * This would use the _journal's_ `issues` ordering to navigate through the article's + * associated `issues`, and provide a quick way to navigate through varying levels of + * the upper hierarchy from lower points in the tree. * */ - kind: SchemaPropertyKind; - label: Scalars['String']['output']; - /** The list of predefined options available for this property. */ - options: Array; + selectionSource?: Maybe; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * The derived name of the ancestor used for the `selectionSource`. + * + * Exposed for introspection only. * */ - orderable: Scalars['Boolean']['output']; + selectionSourceAncestorName?: Maybe; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * An enum representing what mode `selectionSource` is in. Not directly set, + * it is used internally for lookups. * */ - path: Scalars['String']['output']; + selectionSourceMode?: Maybe; /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. + * Slot definitions for this template. * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + */ + slots: OrderingTemplateDefinitionSlots; + /** + * The encoded slug for this record. * */ - required: Scalars['Boolean']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; - selection?: Maybe; + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** - * Provided for introspection. This represents the actual data type this property - * uses. + * This controls how wide the template should render. * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + * template that also uses `HALF`. * */ - type: SchemaPropertyType; + width?: Maybe; }; /** - * An enumerated value associated with the templating subsystem. + * Slot definitions for the associated template. * */ -export type SelectionSourceMode = +export type OrderingTemplateDefinitionSlots = { + __typename?: 'OrderingTemplateDefinitionSlots'; + nextLabel?: Maybe; + previousLabel?: Maybe; +}; + +export type OrderingTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateHasOrderingPair & TemplateInstance & { + __typename?: 'OrderingTemplateInstance'; /** - * Selections should inherit from a named ancestor of this entity. + * Whether all slots in this template are empty. * */ - | 'ANCESTOR' + allSlotsEmpty: Scalars['Boolean']['output']; /** - * Selections should inherit from the hierarchical parent of this entity. + * Whether the current user has permission to destroy this record. * */ - | 'PARENT' + canDestroy: AuthorizationResult; /** - * Selections should inherit from the exact entity in question + * Whether the current user has permission to update this record. * */ - | 'SELF' - | '%future added value'; - -/** - * The directionality of a sibling relationship, relative to a specific record (referred to as the 'source'). - * - */ -export type SiblingKind = + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; /** - * This sibling comes after the source record. + * Load the associated definition for this template. * */ - | 'NEXT' + definition: OrderingTemplateDefinition; /** - * This sibling comes before the source record. + * The associated entity for this template instance. * */ - | 'PREV' - | '%future added value'; - -/** A generic enum for sorting models that don't have anything more specific implemented */ -export type SimpleOrder = - /** Sort models by oldest created date */ - | 'OLDEST' - /** Sort models by newest created date */ - | 'RECENT' - | '%future added value'; - -/** A value for updating the site's configuration */ -export type SiteFooter = { - __typename?: 'SiteFooter'; - /** A copyright statement that lives in the site's footer. */ - copyrightStatement: Scalars['String']['output']; - /** A description that lives in the site's footer. */ - description: Scalars['String']['output']; -}; - -/** A value for updating the site's configuration */ -export type SiteFooterInput = { - /** A copyright statement that lives in the site's footer. */ - copyrightStatement?: InputMaybe; - /** A description that lives in the site's footer. */ - description?: InputMaybe; -}; - -/** An interface for accessing derivatives of the site logo (if present). */ -export type SiteLogoAttachment = HasAttachmentStorage & ImageIdentification & { - __typename?: 'SiteLogoAttachment'; - /** Alt text for accessible images */ - alt?: Maybe; - /** Configurable metadata for the image. */ - metadata?: Maybe; - /** The original source for the image */ - original: ImageOriginal; + entity: Entity; /** - * The original filename, if one was detected during attachment. + * Whether this template instance should be hidden based on some logic. * - * Filename detection is not always consistent across browsers, so this - * may not always be present, even with a valid attachment. + * At present, this only occurs if certain slots are empty. * */ - originalFilename?: Maybe; + hidden: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; /** - * The intended purpose of this image attachment. This is intended to - * help fragments that operate solely on image subcomponents to have - * some context for what they are without extra work. + * The time this object was last rendered. * */ - purpose: ImagePurpose; - /** A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit. */ - sansText: ImageSize; + lastRenderedAt?: Maybe; + layoutKind: LayoutKind; /** - * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. - * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. * */ - storage?: Maybe; - /** A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high. */ - withText: ImageSize; + nextSiblings: Array; + /** + * Access the prev/next siblings within the template's specified ordering. + * + */ + orderingPair: TemplateOrderingPair; + /** + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + * + */ + prevSiblings: Array; + /** + * Rendered slots for this template. + * + */ + slots: OrderingTemplateInstanceSlots; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** An option that determines how the site logo should be rendered */ -export type SiteLogoMode = - /** The site logo is unavailable. */ - | 'NONE' - /** The site logo should be displayed with the site title _hidden_. */ - | 'SANS_TEXT' - /** The site logo should be displayed with the site title _visible_. */ - | 'WITH_TEXT' - | '%future added value'; - -/** Configuration settings for information about this installation. */ -export type SiteSettings = { - __typename?: 'SiteSettings'; - /** Settings related to the site's footer */ - footer: SiteFooter; - /** The text that appears on the root page of the frontend. Supports basic markdown. */ - installationHomePageCopy: Scalars['String']['output']; - /** The name of the installation. */ - installationName: Scalars['String']['output']; - /** How the logo should be rendered */ - logoMode: SiteLogoMode; - /** The name of the provider supporting and maintaining this installation. */ - providerName: Scalars['String']['output']; -}; - -/** A value for updating the site's configuration */ -export type SiteSettingsInput = { - /** Settings for the site's footer */ - footer?: InputMaybe; - /** The text that appears on the root page of the frontend. Supports basic markdown. */ - installationHomePageCopy?: InputMaybe; - /** The name of the installation. */ - installationName?: InputMaybe; - /** How the logo should be rendered */ - logoMode?: InputMaybe; - /** The name of the provider supporting and maintaining this installation. */ - providerName?: InputMaybe; -}; - -/** Objects have a serialized slug for looking them up in the system and generating links without UUIDs */ -export type Sluggable = { - slug: Scalars['Slug']['output']; +/** + * Rendered slots for the associated template. + * + */ +export type OrderingTemplateInstanceSlots = { + __typename?: 'OrderingTemplateInstanceSlots'; + nextLabel?: Maybe; + previousLabel?: Maybe; }; -/** Most mutations implement this interface in their payload in order to offer a standardize response value */ -export type StandardMutationPayload = { - attributeErrors: Array; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; +export type OrderingVisibilityFilter = + /** Do not filter orderings by their visibility. */ + | 'ALL' + /** Fetch only *hidden* orderings. */ + | 'HIDDEN' + /** Fetch only *visible* orderings. This has no bearing on the ordering's *availability*. */ + | 'VISIBLE' + | '%future added value'; /** - * This property is static and is always available on an - * entity, irrespective of its schema. + * An organization that has made contributions. * */ -export type StaticOrderingPath = OrderingPath & { - __typename?: 'StaticOrderingPath'; - /** A helpful description of the path */ - description?: Maybe; - /** A logical grouping for ordering paths */ - grouping: OrderingPathGrouping; - /** A human-readable label for the path */ - label: Scalars['String']['output']; +export type OrganizationContributor = CommonModel & CommonPermissions & Contributor & ContributorBase & HasDefaultTimestamps & HasHarvestModificationStatus & Node & Sluggable & { + __typename?: 'OrganizationContributor'; /** - * Some paths may have a prefix. For instance, schema properties will have the name of the schema. + * Only applicable when `kind` = `PERSON`. * */ - labelPrefix?: Maybe; - /** The exact path that should be provided to mutation inputs. */ - path: Scalars['String']['output']; - /** The schema property type */ - type: SchemaPropertyType; -}; - -export type StringProperty = ScalarProperty & SchemaProperty & SearchableProperty & { - __typename?: 'StringProperty'; + affiliation?: Maybe; + attributions: ContributorAttributionConnection; + bio?: Maybe; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. + * Whether the current user has the ability to claim this contributor profile as their own. * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * This requires both that the user has permission to manage the system broadly, + * and that they do not already have a contributor profile linked to their account. + * + * It also requires the contributor to be unclaimed. + * + * It is associated with the `contributorClaim` mutation. * */ - array: Scalars['Boolean']['output']; - content?: Maybe; - default?: Maybe; - description?: Maybe; + canClaim: AuthorizationResult; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * Whether the current user has permission to destroy this record. * */ - fullPath: Scalars['String']['output']; + canDestroy: AuthorizationResult; /** - * The purpose or intent of this property relative to its entity, parents, and others. + * Whether the current user has the ability to link this contributor profile to any user account. + * + * This differs from `canClaim` in that it does not require the contributor to be unclaimed, + * and can specify the user account to link to. + * + * It is associated with the `contributorUserLinkUpsert` mutation. * */ - function: SchemaPropertyFunction; + canLinkUser: AuthorizationResult; /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * Whether the current user has the ability to use this contributor profile as a source in a merge operation. * */ - isWide: Scalars['Boolean']['output']; + canMergeSource: AuthorizationResult; /** - * Provided for introspection. This describes the underlying structure of the data type. + * Whether the current user has the ability to use this contributor profile as a target in a merge operation. * */ - kind: SchemaPropertyKind; - label: Scalars['String']['output']; + canMergeTarget: AuthorizationResult; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * Whether the current user has permission to update this record. * */ - orderable: Scalars['Boolean']['output']; + canUpdate: AuthorizationResult; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * Whether this contributor has been claimed by a user. * */ - path: Scalars['String']['output']; + claimed: Scalars['Boolean']['output']; /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. - * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + * The total number of collection contributions from this contributor. * */ - required: Scalars['Boolean']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; + collectionContributionCount: Scalars['Int']['output']; + collectionContributions: CollectionContributionConnection; /** - * Provided for introspection. This represents the actual data type this property - * uses. - * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * The total number of contributions (item + collection) from this contributor. * */ - type: SchemaPropertyType; -}; - -/** When retrieving subtypes of a specific entity, you can distinguish between grabbing its children (default) or all of its descendants. */ -export type SubtreeNodeFilter = - /** Fetch only the first level of the same type of entity (Item, Collection) */ - | 'CHILDREN' - /** Fetch all descendant entities of the same base type (Item, Collection) */ - | 'DESCENDANTS' - | '%future added value'; - -/** - * An enumerated value associated with the templating subsystem. - * - */ -export type SupplementaryBackground = + contributionCount: Scalars['Int']['output']; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + email?: Maybe; /** - * A dark gradient is applied to the background of this template. + * Only applicable when `kind` = `PERSON`. * */ - | 'DARK' + familyName?: Maybe; /** - * A light gradient is applied to the background of this template. + * Only applicable when `kind` = `PERSON`. * */ - | 'LIGHT' + givenName?: Maybe; /** - * No background is applied to this template. + * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have + * no effect on this record. * */ - | 'NONE' - | '%future added value'; - -export type SupplementaryLayoutDefinition = LayoutDefinition & Node & Sluggable & { - __typename?: 'SupplementaryLayoutDefinition'; - createdAt: Scalars['ISO8601DateTime']['output']; + harvestModificationStatus: HarvestModificationStatus; id: Scalars['ID']['output']; - layoutKind: LayoutKind; - slug: Scalars['Slug']['output']; + identifier: Scalars['String']['output']; + /** An optional image associated with the contributor. */ + image: ImageAttachment; + /** Configurable metadata for the image attachment */ + imageMetadata?: Maybe; /** - * This layout will only ever have one template, so it can be fetched directly without needing the union. + * The total number of item contributions from this contributor. * */ - template?: Maybe; + itemContributionCount: Scalars['Int']['output']; + itemContributions: ItemContributionConnection; + kind: ContributorKind; /** - * The ordered template definitions available for this layout. + * Only applicable when `kind` = `ORGANIZATION`. * */ - templates: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -export type SupplementaryLayoutInstance = LayoutInstance & Node & Renderable & Sluggable & { - __typename?: 'SupplementaryLayoutInstance'; + legalName?: Maybe; + links: Array; /** - * Whether all templates in this instance are hidden. + * Only applicable when `kind` = `ORGANIZATION`. * */ - allHidden: Scalars['Boolean']['output']; + location?: Maybe; /** - * Whether all slots in all template instances in this layout are empty. + * Whether this contributor is currently involved in an active merge as either a source or target. * */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; + mergeBusy: Scalars['Boolean']['output']; /** - * The associated entity for this layout instance. + * The status of this contributor in the context of being a merge source. * */ - entity: Entity; - id: Scalars['ID']['output']; + mergeSourceStatus: ContributorMergeSourceStatus; /** - * The time this object was last rendered. + * The target of the merge, if available. * */ - lastRenderedAt?: Maybe; + mergeTarget?: Maybe; /** - * The layout definition for this type. + * The status of this contributor in the context of being a merge target. * */ - layoutDefinition: SupplementaryLayoutDefinition; - layoutKind: LayoutKind; - slug: Scalars['Slug']['output']; + mergeTargetStatus: ContributorMergeTargetStatus; /** - * This layout will only ever have one template, so it can be fetched directly without needing the union. + * A display name, independent of the type of contributor. * */ - template?: Maybe; + name: Scalars['String']['output']; /** - * The ordered template instances available for this layout. + * An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. * */ - templates: Array; - updatedAt: Scalars['ISO8601DateTime']['output']; -}; - -export type SupplementaryTemplateDefinition = Node & Sluggable & TemplateDefinition & { - __typename?: 'SupplementaryTemplateDefinition'; + orcid?: Maybe; + prefix?: Maybe; /** - * The background gradient to use for this template. Affects presentation. + * The encoded slug for this record. * */ - background?: Maybe; - createdAt: Scalars['ISO8601DateTime']['output']; - id: Scalars['ID']['output']; - layoutKind: LayoutKind; + slug: Scalars['Slug']['output']; + suffix?: Maybe; /** - * Slot definitions for this template. + * Only applicable when `kind` = `PERSON`. * */ - slots: SupplementaryTemplateDefinitionSlots; - slug: Scalars['Slug']['output']; - templateKind: TemplateKind; + title?: Maybe; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + url?: Maybe; + /** + * The link between this contributor and a user, if any exists. + * + */ + userLink?: Maybe; }; + /** - * Slot definitions for the associated template. + * An organization that has made contributions. * */ -export type SupplementaryTemplateDefinitionSlots = { - __typename?: 'SupplementaryTemplateDefinitionSlots'; - contributorsLabel?: Maybe; - metricsLabel?: Maybe; +export type OrganizationContributorAttributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -export type SupplementaryTemplateInstance = Node & Renderable & Sluggable & TemplateInstance & { - __typename?: 'SupplementaryTemplateInstance'; - /** - * Whether all slots in this template are empty. - * - */ - allSlotsEmpty: Scalars['Boolean']['output']; - createdAt: Scalars['ISO8601DateTime']['output']; - /** - * Load the associated definition for this template. - * - */ - definition: SupplementaryTemplateDefinition; + +/** + * An organization that has made contributions. + * + */ +export type OrganizationContributorCollectionContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * An organization that has made contributions. + * + */ +export type OrganizationContributorItemContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** A page of arbitrary content for an entity */ +export type Page = Node & { + __typename?: 'Page'; + body: Scalars['String']['output']; + createdAt: Scalars['ISO8601DateTime']['output']; + entity: Entity; + /** The hero image for a page */ + heroImage: ImageAttachment; + /** Configurable metadata for the hero_image attachment */ + heroImageMetadata?: Maybe; + id: Scalars['ID']['output']; + position?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + updatedAt: Scalars['ISO8601DateTime']['output']; +}; + +/** The connection type for Page. */ +export type PageConnection = Paginated & { + __typename?: 'PageConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** + * Determines the direction that page-number based pagination should flow + * + */ +export type PageDirection = + /** + * Indicates that page-number based pagination should flow in descending order (9-1) + * + */ + | 'BACKWARDS' + /** + * Indicates that page-number based pagination should flow in ascending order (1-9) + * + */ + | 'FORWARDS' + | '%future added value'; + +/** An edge in a connection. */ +export type PageEdge = { + __typename?: 'PageEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: Page; +}; + +/** Information about pagination in a connection. */ +export type PageInfo = { + __typename?: 'PageInfo'; + /** When paginating forwards, the cursor to continue. */ + endCursor?: Maybe; + /** When paginating forwards, are there more items? */ + hasNextPage: Scalars['Boolean']['output']; + /** When paginating backwards, are there more items? */ + hasPreviousPage: Scalars['Boolean']['output']; + /** The page (if page-based pagination is supported and one was provided, does not introspect a value with cursor-based pagination) */ + page?: Maybe; + /** The total number of pages available to the connection (if page-based pagination supported and a page was provided) */ + pageCount?: Maybe; + /** The number of edges/nodes per page (if page-based pagination supported and a page was provided) */ + perPage?: Maybe; + /** When paginating backwards, the cursor to continue. */ + startCursor?: Maybe; + /** The total number of nodes available to this connection, constrained by applied filters (if any) */ + totalCount: Scalars['Int']['output']; + /** The total number of nodes available to this connection, independent of any filters */ + totalUnfilteredCount: Scalars['Int']['output']; +}; + +/** + * An enumerated value associated with the templating subsystem. + * + */ +export type PageListBackground = + /** + * A dark gradient is applied to the background of this template. + * + */ + | 'DARK' + /** + * A light gradient is applied to the background of this template. + * + */ + | 'LIGHT' + /** + * No background is applied to this template. + * + */ + | 'NONE' + | '%future added value'; + +export type PageListTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'PageListTemplateDefinition'; + /** + * The background gradient to use for this template. Affects presentation. + * + */ + background?: Maybe; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; + /** + * Slot definitions for this template. + * + */ + slots: PageListTemplateDefinitionSlots; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * This controls how wide the template should render. + * + * **Note**: When using `HALF`, you should take care to make sure that there is an adjacent + * template that also uses `HALF`. + * + */ + width?: Maybe; +}; + +/** + * Slot definitions for the associated template. + * + */ +export type PageListTemplateDefinitionSlots = { + __typename?: 'PageListTemplateDefinitionSlots'; + header?: Maybe; +}; + +export type PageListTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance & { + __typename?: 'PageListTemplateInstance'; + /** + * Whether all slots in this template are empty. + * + */ + allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * Load the associated definition for this template. + * + */ + definition: PageListTemplateDefinition; /** * The associated entity for this template instance. * @@ -18557,2342 +19029,2216 @@ export type SupplementaryTemplateInstance = Node & Renderable & Sluggable & Temp * Rendered slots for this template. * */ - slots: SupplementaryTemplateInstanceSlots; + slots: PageListTemplateInstanceSlots; + /** + * The encoded slug for this record. + * + */ slug: Scalars['Slug']['output']; templateKind: TemplateKind; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; /** * Rendered slots for the associated template. * */ -export type SupplementaryTemplateInstanceSlots = { - __typename?: 'SupplementaryTemplateInstanceSlots'; - contributorsLabel?: Maybe; - metricsLabel?: Maybe; +export type PageListTemplateInstanceSlots = { + __typename?: 'PageListTemplateInstanceSlots'; + header?: Maybe; }; /** - * A helper field that can look up various information about the Meru-API Ecosystem. + * Connections can be paginated by cursor or number. * */ -export type SystemInfo = { - __typename?: 'SystemInfo'; +export type Paginated = { /** - * Check to see if an entity of a given `descendant` type exists with a given `ancestor` type. + * Information to aid in pagination. * */ - entityHierarchyExists: Scalars['Boolean']['output']; + pageInfo: PageInfo; }; - /** - * A helper field that can look up various information about the Meru-API Ecosystem. + * A permalink is a persistant link to a resource with a human-readable URI. + * Each resource can have multiple permalinks, but only one can be marked as canonical. * */ -export type SystemInfoEntityHierarchyExistsArgs = { - ancestor: Scalars['Slug']['input']; - descendant: Scalars['Slug']['input']; -}; - -export type TagsProperty = ScalarProperty & SchemaProperty & { - __typename?: 'TagsProperty'; +export type Permalink = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'Permalink'; /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * Whether the current user has permission to destroy this record. * */ - array: Scalars['Boolean']['output']; + canDestroy: AuthorizationResult; /** - * A human-readable description for the property. It should describe the purpose of the - * property as well as some details about the types of values it looks for. - * - * It can be rendered as help text, hints, etc. + * Whether the current user has permission to update this record. * */ - description?: Maybe; + canUpdate: AuthorizationResult; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * Whether this permalink is the canonical one for the `permalinkable`. * */ - fullPath: Scalars['String']['output']; + canonical: Scalars['Boolean']['output']; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; /** - * The purpose or intent of this property relative to its entity, parents, and others. + * The type of resource this permalink points to. * */ - function: SchemaPropertyFunction; + kind: PermalinkableKind; /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * The resource this permalink points to. * */ - isWide: Scalars['Boolean']['output']; + permalinkable: Permalinkable; /** - * Provided for introspection. This describes the underlying structure of the data type. + * The slug of the `permalinkable` record. * - */ - kind: SchemaPropertyKind; - /** - * A human-readable label for the schema property. + * It can be used for quickly generating non-canonical links to the resource + * based on the `kind` without needing to load the associated record. * */ - label: Scalars['String']['output']; + permalinkableSlug: Scalars['String']['output']; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * The encoded slug for this record. * */ - orderable: Scalars['Boolean']['output']; + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * The URI of the permalink. Used for generating routes and also serves as a unique identifier. + * + * **Note**: URIs are _case-insensitive_ and may only contain alphanumeric characters and hyphens. + * Hyphens may not be consecutive nor may they appear at the start nor the end of the URI. * */ - path: Scalars['String']['output']; + uri: Scalars['String']['output']; +}; + +/** The connection type for Permalink. */ +export type PermalinkConnection = Paginated & { + __typename?: 'PermalinkConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** Autogenerated input type of PermalinkCreate */ +export type PermalinkCreateInput = { /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. + * Whether this permalink should be the canonical permalink for its resource. * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + * If true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink. * */ - required: Scalars['Boolean']['output']; - tags: Array; + canonical?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * Provided for introspection. This represents the actual data type this property - * uses. + * The ID of the resource to which this permalink will belong. * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * It can be changed. * */ - type: SchemaPropertyType; -}; - -/** - * A contribution from a certain contributor. - * - * This is a pared-down version of `Contribution` in order to - * better support fragment caching and smaller queries. - * - * It uses `ContributorBase` in place of the `AnyContributor` union. - * - */ -export type TemplateContribution = ContributionBase & { - __typename?: 'TemplateContribution'; - /** A potentially-overridden value from person contributors */ - affiliation?: Maybe; - /** The actual role */ - contributionRole: ControlledVocabularyItem; + permalinkableId: Scalars['ID']['input']; /** - * The contributor, loaded via abstract interface for simplicity. + * The URI for the permalink. * - */ - contributor: ContributorBase; - contributorKind: ContributorKind; - /** A potentially-overridden display name value for all contributor types */ - displayName: Scalars['String']['output']; - /** - * An optional sorting discriminator to decide which contribution ranks higher. + * It is case-insensitive and must be unique system-wide. * - * Applies _after_ contribution role ranking. + * It may only contain letters, numbers, and hyphens. + * It may not begin nor end with a hyphen, nor contain consecutive hyphens. * */ - innerPosition?: Maybe; - /** A potentially-overridden value from organization contributors */ - location?: Maybe; - metadata: ContributionMetadata; + uri: Scalars['String']['input']; +}; + +/** Autogenerated return type of PermalinkCreate. */ +export type PermalinkCreatePayload = StandardMutationPayload & { + __typename?: 'PermalinkCreatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; /** - * An optional sorting discriminator to decide which contribution ranks higher. - * - * Applies _before_ contribution role ranking, superseding everything else. + * The newly-modified permalink, if successful. * */ - outerPosition?: Maybe; + permalink?: Maybe; +}; + +/** Autogenerated input type of PermalinkDestroy */ +export type PermalinkDestroyInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * An arbitrary text value describing the role the contributor had - * @deprecated Use `roleLabel` instead. + * The permalink to destroy. + * */ - role?: Maybe; - /** An arbitrary text value describing the role the contributor had */ - roleLabel?: Maybe; - /** A potentially-overridden value from person contributors */ - title?: Maybe; + permalinkId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of PermalinkDestroy. */ +export type PermalinkDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'PermalinkDestroyPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** An edge in a connection. */ +export type PermalinkEdge = { + __typename?: 'PermalinkEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: Permalink; }; /** - * `ContributorListTemplateInstance`s return an ordered list of contributions to render - * within as part of their content. + * Sort a collection of `Permalink` records by specific properties and directions. * */ -export type TemplateContributionList = { - __typename?: 'TemplateContributionList'; +export type PermalinkOrder = + /** Sort permalinks by their default order: canonical first, then by uri alphabetically. */ + | 'DEFAULT' + /** Sort permalinks by oldest created date. */ + | 'OLDEST' + /** Sort permalinks by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** Autogenerated input type of PermalinkUpdate */ +export type PermalinkUpdateInput = { /** - * The actual entity records within this list. + * Whether this permalink should be the canonical permalink for its resource. * - * The order is deterministic. + * If true, any existing canonical permalink for the resource will be demoted to a non-canonical permalink. * */ - contributions: Array; + canonical?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * The size of the list. + * The permalink to update. * */ - count: Scalars['Int']['output']; + permalinkId: Scalars['ID']['input']; /** - * Whether the list is empty, provided for easier filtering and render-skipping. + * The ID of the resource to which this permalink will belong. + * + * It can be changed. * */ - empty: Scalars['Boolean']['output']; + permalinkableId: Scalars['ID']['input']; + /** + * The URI for the permalink. + * + * It is case-insensitive and must be unique system-wide. + * + * It may only contain letters, numbers, and hyphens. + * It may not begin nor end with a hyphen, nor contain consecutive hyphens. + * + */ + uri: Scalars['String']['input']; +}; + +/** Autogenerated return type of PermalinkUpdate. */ +export type PermalinkUpdatePayload = StandardMutationPayload & { + __typename?: 'PermalinkUpdatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The newly-modified permalink, if successful. + * + */ + permalink?: Maybe; }; /** - * Entities within the system have templates associated with schema-specific layouts, - * that can be overridden within the hierarchy for more custom approaches. - * - * This interface defines the *definition* for one such template and `layoutDefinition`, - * which controls how associated `TemplateInstance`s are rendered. + * An interface for models which can have permalinks. * */ -export type TemplateDefinition = { - layoutKind: LayoutKind; - templateKind: TemplateKind; +export type Permalinkable = { + /** + * The canonical permalink for this resource, if one is set. + * + */ + canonicalPermalink?: Maybe; + /** + * All permalinks associated with this resource. + * + */ + permalinks: Array; }; /** - * Some template instances return an ordered list of entities to render - * within as part of their content. - * - * This provides access to that list, as well as a shortcut to each entity's - * associated `ListItemLayoutInstance`. - * - * **note** It's possible that entities could match the parameters of the list - * but be skipped because they have no layouts (yet). This is intentional behavior, - * and subsequent fetches should see the list populated as soon as the descendant - * entities layouts have rendered. + * An enum that helps describe the different kinds of records + * that can be permalinked. * */ -export type TemplateEntityList = { - __typename?: 'TemplateEntityList'; +export type PermalinkableKind = /** - * The size of the list. + * This permalink points to a collection. * */ - count: Scalars['Int']['output']; + | 'COLLECTION' /** - * Whether the list is empty, provided for easier filtering and render-skipping. + * This permalink points to a community. * */ - empty: Scalars['Boolean']['output']; + | 'COMMUNITY' /** - * The actual entity records within this list. + * This permalink points to an item. * - * The order is deterministic. + */ + | 'ITEM' + | '%future added value'; + +/** A grant of a specific permission within a specific scope. */ +export type PermissionGrant = { + __typename?: 'PermissionGrant'; + /** Whether this permission has been granted in the current context. */ + allowed: Scalars['Boolean']['output']; + /** The unqualified, single name for this permission. */ + name: Scalars['String']['output']; + /** The fully-qualified path for this permission (composed of scope + name). */ + path: Scalars['String']['output']; + /** The scope (or namespace) for this permission. */ + scope?: Maybe; +}; + +/** A mapping of permissions specific to a certain scope */ +export type PermissionGrid = { + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; +}; + +/** + * A person that has made contributions. + * + */ +export type PersonContributor = CommonModel & CommonPermissions & Contributor & ContributorBase & HasDefaultTimestamps & HasHarvestModificationStatus & Node & Sluggable & { + __typename?: 'PersonContributor'; + /** + * Only applicable when `kind` = `PERSON`. * */ - entities: Array; + affiliation?: Maybe; + attributions: ContributorAttributionConnection; + bio?: Maybe; /** - * Whether the entity selection tried to use the fallback selection mode. + * Whether the current user has the ability to claim this contributor profile as their own. * - * When true, the resulting list is fallback. It can still be empty. + * This requires both that the user has permission to manage the system broadly, + * and that they do not already have a contributor profile linked to their account. + * + * It also requires the contributor to be unclaimed. + * + * It is associated with the `contributorClaim` mutation. * */ - fallback: Scalars['Boolean']['output']; + canClaim: AuthorizationResult; /** - * Whether there is any variation in hierarchical depth within the list of entities. + * Whether the current user has permission to destroy this record. * */ - flatDepth: Scalars['Boolean']['output']; + canDestroy: AuthorizationResult; /** - * A shortcut to access the list item layouts for each entity in `entities`. + * Whether the current user has the ability to link this contributor profile to any user account. * - * The order is deterministic. + * This differs from `canClaim` in that it does not require the contributor to be unclaimed, + * and can specify the user account to link to. * - * See `ListItemLayoutInstance`. + * It is associated with the `contributorUserLinkUpsert` mutation. * */ - listItemLayouts: Array; + canLinkUser: AuthorizationResult; /** - * The maximum hierarchical depth for the entities in the list (if known). + * Whether the current user has the ability to use this contributor profile as a source in a merge operation. * */ - maximumDepth?: Maybe; + canMergeSource: AuthorizationResult; /** - * The minimum hierarchical depth for the entities in the list (if known). + * Whether the current user has the ability to use this contributor profile as a target in a merge operation. * */ - minimumDepth?: Maybe; -}; - -/** - * An interface for a template instance that has a `TemplateContributionList`. - * - */ -export type TemplateHasContributionList = { + canMergeTarget: AuthorizationResult; /** - * The list of contributions to render as part of this template's content. + * Whether the current user has permission to update this record. * */ - contributionList: TemplateContributionList; -}; - -/** - * An interface for a template instance that has a `TemplateEntityList`. - * - */ -export type TemplateHasEntityList = { + canUpdate: AuthorizationResult; /** - * The list of entities to render as part of this template's content. + * Whether this contributor has been claimed by a user. * */ - entityList: TemplateEntityList; -}; - -/** - * An interface that implements the `prev` / `next` siblings - * for navigating through orderings. - * - */ -export type TemplateHasOrderingPair = { + claimed: Scalars['Boolean']['output']; /** - * Access the prev/next siblings within the template's specified ordering. + * The total number of collection contributions from this contributor. * */ - orderingPair: TemplateOrderingPair; -}; - -/** - * An interface for a template instance that exposes an `Ordering` - * in order to to link to see all associated records. - * - */ -export type TemplateHasSeeAllOrdering = { + collectionContributionCount: Scalars['Int']['output']; + collectionContributions: CollectionContributionConnection; /** - * The ordering to render for a "see all" link. + * The total number of contributions (item + collection) from this contributor. * */ - seeAllOrdering?: Maybe; -}; - -/** - * An interface describing an instance type that can be rendered for a given entity. - * - */ -export type TemplateInstance = { + contributionCount: Scalars['Int']['output']; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + email?: Maybe; /** - * Whether all slots in this template are empty. + * Only applicable when `kind` = `PERSON`. * */ - allSlotsEmpty: Scalars['Boolean']['output']; + familyName?: Maybe; /** - * The associated entity for this template instance. + * Only applicable when `kind` = `PERSON`. * */ - entity: Entity; + givenName?: Maybe; /** - * Whether this template instance should be hidden based on some logic. - * - * At present, this only occurs if certain slots are empty. + * The status of the harvesting modification. If it is `MODIFIED`, harvesting actions will have + * no effect on this record. * */ - hidden: Scalars['Boolean']['output']; + harvestModificationStatus: HarvestModificationStatus; + id: Scalars['ID']['output']; + identifier: Scalars['String']['output']; + /** An optional image associated with the contributor. */ + image: ImageAttachment; + /** Configurable metadata for the image attachment */ + imageMetadata?: Maybe; /** - * The time this object was last rendered. + * The total number of item contributions from this contributor. * */ - lastRenderedAt?: Maybe; - layoutKind: LayoutKind; + itemContributionCount: Scalars['Int']['output']; + itemContributions: ItemContributionConnection; + kind: ContributorKind; /** - * Return all preceding siblings to the current template in order of proximity. + * Only applicable when `kind` = `ORGANIZATION`. * - * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + */ + legalName?: Maybe; + links: Array; + /** + * Only applicable when `kind` = `ORGANIZATION`. * */ - nextSiblings: Array; + location?: Maybe; /** - * Return all preceding siblings to the current template in order of proximity. + * Whether this contributor is currently involved in an active merge as either a source or target. * - * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + */ + mergeBusy: Scalars['Boolean']['output']; + /** + * The status of this contributor in the context of being a merge source. * */ - prevSiblings: Array; - templateKind: TemplateKind; -}; - -/** - * A brief detail about a template instance's siblings, to help with finessing certain style concerns. - * - * For `PREV` siblings, the positions are returned in descending order. If a template is at position - * 3 of 5, then these will be returned at position 2 and 1 in that order. - * - * For `NEXT` siblings, the positions are returned in ascending order. If a template is at position - * 3 of 5, then these will be returned at position 4 and 5 in that order. - * - */ -export type TemplateInstanceSibling = Node & Sluggable & { - __typename?: 'TemplateInstanceSibling'; - createdAt: Scalars['ISO8601DateTime']['output']; + mergeSourceStatus: ContributorMergeSourceStatus; /** - * Whether the sibling has a `DARK` background. + * The target of the merge, if available. * */ - dark: Scalars['Boolean']['output']; + mergeTarget?: Maybe; /** - * Whether this sibling is hidden for whatever reason (empty slots, empty entity list, etc). + * The status of this contributor in the context of being a merge target. * */ - hidden: Scalars['Boolean']['output']; - id: Scalars['ID']['output']; + mergeTargetStatus: ContributorMergeTargetStatus; /** - * Whether this is `NEXT` or `PREV`. No functional difference, just illustrative. + * A display name, independent of the type of contributor. * */ - kind: SiblingKind; + name: Scalars['String']['output']; /** - * The layout this sibling is in. As of now, this should always be `MAIN`, - * since only `MAIN` layout templates can be stacked. + * An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. * */ - layoutKind: LayoutKind; + orcid?: Maybe; + prefix?: Maybe; /** - * The position of this sibling within the layout instance. + * The encoded slug for this record. * */ - position: Scalars['Int']['output']; slug: Scalars['Slug']['output']; + suffix?: Maybe; /** - * The template this sibling is. As of now, this should always be templates within the `MAIN` layout category, - * since only `MAIN` layout templates can be stacked. + * Only applicable when `kind` = `PERSON`. * */ - templateKind: TemplateKind; + title?: Maybe; + /** The date this record was last updated within the API. */ updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + url?: Maybe; /** - * The width of the sibling (if available). + * The link between this contributor and a user, if any exists. * */ - width?: Maybe; + userLink?: Maybe; +}; + + +/** + * A person that has made contributions. + * + */ +export type PersonContributorAttributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; + /** - * Discriminator for the various types of templates available to an entity, - * based on its schema. + * A person that has made contributions. * */ -export type TemplateKind = +export type PersonContributorCollectionContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * A person that has made contributions. + * + */ +export type PersonContributorItemContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** Autogenerated input type of PreviewSlot */ +export type PreviewSlotInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * An arbitrary text blurb that can be used for describing citations or other - * runs of content that don't neatly fit within the prescribed hierarchies. - * - * Contained within the `MAIN` layout + * The entity to update. * */ - | 'BLURB' + entityId: Scalars['ID']['input']; /** - * A template for listing contributors of note on the main layout of an entity. - * - * Contained within the `MAIN` layout. + * The kind of slot to render. * */ - | 'CONTRIBUTOR_LIST' + kind: TemplateSlotKind; /** - * A template for rendering descendants of an entity on its main layout, - * e.g. a journal listing some recent issues or a series listing featured papers. - * - * Contained within the `MAIN` layout. - * - */ - | 'DESCENDANT_LIST' - /** - * Describes details about an entity, its summary, etc. - * - * Contained within the `MAIN` layout. - * - */ - | 'DETAIL' - /** - * A template for describing how an entity's header / hero should look. - * - * Contained within the `HERO` layout. - * - */ - | 'HERO' - /** - * A template for listing entity links on the main layout of an entity. - * - * Contained within the `MAIN` layout. - * - */ - | 'LINK_LIST' - /** - * A template for describing how an entity should appear when rendered in a list. - * - * Contained within the `LIST_ITEM` layout. - * - */ - | 'LIST_ITEM' - /** - * A template for describing how an entity's metadata should be displayed. - * - * Contained within the `METADATA` layout. - * - */ - | 'METADATA' - /** - * This controls the various tabs available to an entity when rendering - * its `MAIN`, `METADATA`, `SUPPLEMENTARY` routes. - * - * Contained within the `NAVIGATION` layout. - * - */ - | 'NAVIGATION' - /** - * For applicable entities, allows navigating through specific orderings, - * e.g. going back and forth between articles in a specific issue. - * - * Contained within the `MAIN` layout. - * - */ - | 'ORDERING' - /** - * A template for listing pages on the main layout of an entity. - * - * Contained within the `MAIN` layout. + * The template to render. * */ - | 'PAGE_LIST' + template: Scalars['String']['input']; +}; + +/** Autogenerated return type of PreviewSlot. */ +export type PreviewSlotPayload = StandardMutationPayload & { + __typename?: 'PreviewSlotPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; /** - * A template for describing how an entity's supplementary pages (contributors, metrics) - * should render. - * - * Contained within the `SUPPLEMENTARY` layout. + * The rendered slot (if successful) * */ - | 'SUPPLEMENTARY' + slot?: Maybe; +}; + +/** When altering a schema version for an entity, there are various strategies that can be used to determine how to handle the provided properties. */ +export type PropertyApplicationStrategy = + /** If set to this value, property values will be validated and applied */ + | 'APPLY' + /** If set to this value, property values will not be applied, and the entity will likely exist in an invalid state. */ + | 'SKIP' | '%future added value'; /** - * An object that provides a next/prev pair for navigating through ordering siblings - * within a template. + * An interface for querying information about access control and roles within the system. * */ -export type TemplateOrderingPair = { - __typename?: 'TemplateOrderingPair'; - /** - * The number of entries in the ordering (`null` if no match). - * - */ - count?: Maybe; - /** - * Whether or not the ordering / entry actually exists and has siblings—can be used to skip rendering. - * - * Implies `inOrdering && !only`. - * - */ - exists: Scalars['Boolean']['output']; - /** - * Whether the source entity is the _first_ entity in the ordering. - * - */ - first: Scalars['Boolean']['output']; - /** - * Whether or not the entity is present in the associated ordering / entry. - * - */ - inOrdering: Scalars['Boolean']['output']; - /** - * Whether the source entity is the _last_ entity in the ordering. - * - */ - last: Scalars['Boolean']['output']; - /** - * The next entry in the current ordering, if one exists. This will be null if this entry is the last. - * - */ - nextSibling?: Maybe; - /** - * Whether the source entity is the _only_ entity in the ordering. - * - * Implies `first && last`. - * - */ - only: Scalars['Boolean']['output']; +export type QueriesAccessAndRoles = { /** - * The source entity's (1-based) position in the ordering. + * Retrieve all access grants. * */ - position?: Maybe; + accessGrants: AnyAccessGrantConnection; /** - * The previous entry in the current ordering, if one exists. This will be null if this entry is the first. + * List all roles. * */ - prevSibling?: Maybe; + roles: RoleConnection; }; + /** - * A definition for a block-type template slot. - * - * Its `kind` will always be `BLOCK`. + * An interface for querying information about access control and roles within the system. * */ -export type TemplateSlotBlockDefinition = TemplateSlotDefinition & { - __typename?: 'TemplateSlotBlockDefinition'; - /** - * Whether this slot should cause its parent template to be marked as `hidden` - * if it ends up rendering empty. - * - */ - hideWhenEmpty: Scalars['Boolean']['output']; - /** - * The kind of slot instance this is. - * - */ - kind: TemplateSlotKind; - /** - * The liquid template to render. - * - */ - rawTemplate?: Maybe; +export type QueriesAccessAndRolesAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + entity?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + subject?: InputMaybe; }; + /** - * A block template slot that has been rendered. - * - * Its `kind` will always be `BLOCK`. + * An interface for querying information about access control and roles within the system. * */ -export type TemplateSlotBlockInstance = TemplateSlotInstance & { - __typename?: 'TemplateSlotBlockInstance'; - /** - * The actual rendered content for the template (if available). - * - */ - content?: Maybe; - /** - * Whether this slot is empty. - * - */ - empty: Scalars['Boolean']['output']; - /** - * Any errors for this slot that occurred during rendering, if applicable. - * - */ - errors?: Maybe>; - /** - * Whether this slot should cause its parent template to hide. - * - * **Note**: This is exposed for introspection, but does not need - * to be checked on the frontend. Defer to `TemplateInstance.hidden`. - * - */ - hidesTemplate: Scalars['Boolean']['output']; - /** - * The kind of slot instance this is. - * - */ - kind: TemplateSlotKind; - /** - * Whether this slot rendered successfully (i.e. had no errors). - * - */ - valid: Scalars['Boolean']['output']; +export type QueriesAccessAndRolesRolesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; }; /** - * A slot definition describes how the slot should be rendered with a template. + * Fields for querying details about contributors and contributions. * */ -export type TemplateSlotDefinition = { - /** - * Whether this slot should cause its parent template to be marked as `hidden` - * if it ends up rendering empty. - * - */ - hideWhenEmpty: Scalars['Boolean']['output']; - /** - * The kind of slot instance this is. - * - */ - kind: TemplateSlotKind; +export type QueriesContrib = { + /** Look up a collection contribution by slug */ + collectionContribution?: Maybe; + /** Look up contribution role configuration for a given contributable (or globally). */ + contributionRoles: ContributionRoleConfiguration; + /** Look up a contributor by slug */ + contributor?: Maybe; /** - * The liquid template to render. + * Look up a contributor `by` a certain `value`. * */ - rawTemplate?: Maybe; + contributorLookup?: Maybe; + /** A list of all contributors in the system */ + contributors: AnyContributorConnection; + /** Look up an item contribution by slug */ + itemContribution?: Maybe; }; + /** - * Any number of things can go awry when rendering slot templates, - * this provides insight into errors that can occur at compilation - * or render-time. + * Fields for querying details about contributors and contributions. * */ -export type TemplateSlotError = { - __typename?: 'TemplateSlotError'; - /** - * The line number where the error started (if available). - * - */ - lineNumber?: Maybe; - /** - * The excerpt of markup that triggered the error (if available). - * - */ - markupContext?: Maybe; - /** - * The description of the error. - * - */ - message: Scalars['String']['output']; +export type QueriesContribCollectionContributionArgs = { + slug: Scalars['Slug']['input']; }; + /** - * A definition for an inline-type template slot. + * Fields for querying details about contributors and contributions. * - * Its `kind` will always be `INLINE`. + */ +export type QueriesContribContributionRolesArgs = { + contributableId?: InputMaybe; +}; + + +/** + * Fields for querying details about contributors and contributions. * */ -export type TemplateSlotInlineDefinition = TemplateSlotDefinition & { - __typename?: 'TemplateSlotInlineDefinition'; - /** - * Whether this slot should cause its parent template to be marked as `hidden` - * if it ends up rendering empty. - * - */ - hideWhenEmpty: Scalars['Boolean']['output']; - /** - * The kind of slot instance this is. - * - */ - kind: TemplateSlotKind; - /** - * The liquid template to render. - * - */ - rawTemplate?: Maybe; +export type QueriesContribContributorArgs = { + slug: Scalars['Slug']['input']; }; + /** - * An inline template slot that has been rendered. + * Fields for querying details about contributors and contributions. * - * Its `kind` will always be `INLINE`. + */ +export type QueriesContribContributorLookupArgs = { + by: ContributorLookupField; + order?: SimpleOrder; + value: Scalars['String']['input']; +}; + + +/** + * Fields for querying details about contributors and contributions. * */ -export type TemplateSlotInlineInstance = TemplateSlotInstance & { - __typename?: 'TemplateSlotInlineInstance'; - /** - * The actual rendered content for the template (if available). - * - */ - content?: Maybe; - /** - * Whether this slot is empty. - * - */ - empty: Scalars['Boolean']['output']; - /** - * Any errors for this slot that occurred during rendering, if applicable. - * - */ - errors?: Maybe>; - /** - * Whether this slot should cause its parent template to hide. - * - * **Note**: This is exposed for introspection, but does not need - * to be checked on the frontend. Defer to `TemplateInstance.hidden`. - * - */ - hidesTemplate: Scalars['Boolean']['output']; - /** - * The kind of slot instance this is. - * - */ - kind: TemplateSlotKind; - /** - * Whether this slot rendered successfully (i.e. had no errors). - * - */ - valid: Scalars['Boolean']['output']; +export type QueriesContribContributorsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + kind?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + prefix?: InputMaybe; }; + /** - * A slot instance is an actual rendered - * property that may appear in a template. + * Fields for querying details about contributors and contributions. * */ -export type TemplateSlotInstance = { - /** - * The actual rendered content for the template (if available). - * - */ - content?: Maybe; - /** - * Whether this slot is empty. - * - */ - empty: Scalars['Boolean']['output']; - /** - * Any errors for this slot that occurred during rendering, if applicable. - * - */ - errors?: Maybe>; - /** - * Whether this slot should cause its parent template to hide. - * - * **Note**: This is exposed for introspection, but does not need - * to be checked on the frontend. Defer to `TemplateInstance.hidden`. - * - */ - hidesTemplate: Scalars['Boolean']['output']; - /** - * The kind of slot instance this is. - * - */ - kind: TemplateSlotKind; - /** - * Whether this slot rendered successfully (i.e. had no errors). - * - */ - valid: Scalars['Boolean']['output']; +export type QueriesContribItemContributionArgs = { + slug: Scalars['Slug']['input']; }; /** - * An enum discriminating between different types of content. + * An interface for querying `ControlledVocabulary` records. * */ -export type TemplateSlotKind = - /** - * A template slot containing lengthier content that may wrap, contain semantic newlines / paragraphs, etc. - * - */ - | 'BLOCK' +export type QueriesControlledVocabulary = { + controlledVocabularies: ControlledVocabularyConnection; /** - * A template slot containing only inline information. It should contain no block level tags. - * - * It is intended for use in header, list item, and generally any other short-form spans of content. + * Retrieve a single `ControlledVocabulary` by slug. * */ - | 'INLINE' - | '%future added value'; + controlledVocabulary?: Maybe; +}; + /** - * An enum that helps organize things on the frontend to put certain templates side by side where it makes sense. + * An interface for querying `ControlledVocabulary` records. * */ -export type TemplateWidth = - /** - * This template should occupy the full-width of the layout. - * - */ - | 'FULL' +export type QueriesControlledVocabularyControlledVocabulariesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * An interface for querying `ControlledVocabulary` records. + * + */ +export type QueriesControlledVocabularyControlledVocabularyArgs = { + slug: Scalars['Slug']['input']; +}; + +/** + * An interface for querying `ControlledVocabularySource` records. + * + */ +export type QueriesControlledVocabularySource = { /** - * This template should occupy half of the width of the layout. - * - * **Note**: This should be used in concert with an adjacent HALF-width template. - * The server will not validate this is the case. + * Retrieve a single `ControlledVocabularySource` by slug. * */ - | 'HALF' - | '%future added value'; + controlledVocabularySource?: Maybe; + controlledVocabularySources: ControlledVocabularySourceConnection; +}; -/** Configuration settings for the theme of the WDP frontend. */ -export type ThemeSettings = { - __typename?: 'ThemeSettings'; - color: Scalars['String']['output']; - font: Scalars['String']['output']; + +/** + * An interface for querying `ControlledVocabularySource` records. + * + */ +export type QueriesControlledVocabularySourceControlledVocabularySourceArgs = { + slug: Scalars['Slug']['input']; }; -/** A value for updating the theme */ -export type ThemeSettingsInput = { - color: Scalars['String']['input']; - font: Scalars['String']['input']; + +/** + * An interface for querying `ControlledVocabularySource` records. + * + */ +export type QueriesControlledVocabularySourceControlledVocabularySourcesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -export type TimestampProperty = ScalarProperty & SchemaProperty & SearchableProperty & { - __typename?: 'TimestampProperty'; +/** + * An interface for querying `DepositorRequest` records. + * + */ +export type QueriesDepositorRequest = { /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. + * Retrieve a single `DepositorRequest` by slug. * */ - array: Scalars['Boolean']['output']; - default?: Maybe; - description?: Maybe; + depositorRequest?: Maybe; + depositorRequests: DepositorRequestConnection; +}; + + +/** + * An interface for querying `DepositorRequest` records. + * + */ +export type QueriesDepositorRequestDepositorRequestArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * An interface for querying `DepositorRequest` records. + * + */ +export type QueriesDepositorRequestDepositorRequestsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * Fields for querying all entities from the top level of the hierarchy. + * + */ +export type QueriesEntities = { + /** Look up an asset by slug */ + asset?: Maybe; + /** Look up a collection by slug */ + collection?: Maybe; + /** List all communities */ + communities: CommunityConnection; + /** Look up a community by slug */ + community?: Maybe; + /** Look up a community by its title */ + communityByTitle?: Maybe; + /** Look up an item by slug */ + item?: Maybe; +}; + + +/** + * Fields for querying all entities from the top level of the hierarchy. + * + */ +export type QueriesEntitiesAssetArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * Fields for querying all entities from the top level of the hierarchy. + * + */ +export type QueriesEntitiesCollectionArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * Fields for querying all entities from the top level of the hierarchy. + * + */ +export type QueriesEntitiesCommunitiesArgs = { + access?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * Fields for querying all entities from the top level of the hierarchy. + * + */ +export type QueriesEntitiesCommunityArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * Fields for querying all entities from the top level of the hierarchy. + * + */ +export type QueriesEntitiesCommunityByTitleArgs = { + title: Scalars['String']['input']; +}; + + +/** + * Fields for querying all entities from the top level of the hierarchy. + * + */ +export type QueriesEntitiesItemArgs = { + slug: Scalars['Slug']['input']; +}; + +/** + * An interface for querying `HarvestAttempt` records. + * + */ +export type QueriesHarvestAttempt = { /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * Retrieve a single `HarvestAttempt` by slug. * */ - fullPath: Scalars['String']['output']; + harvestAttempt?: Maybe; /** - * The purpose or intent of this property relative to its entity, parents, and others. + * Query all harvest attempts in the system. * */ - function: SchemaPropertyFunction; + harvestAttempts: HarvestAttemptConnection; +}; + + +/** + * An interface for querying `HarvestAttempt` records. + * + */ +export type QueriesHarvestAttemptHarvestAttemptArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * An interface for querying `HarvestAttempt` records. + * + */ +export type QueriesHarvestAttemptHarvestAttemptsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * An interface for querying `HarvestExample` records. + * + */ +export type QueriesHarvestExample = { /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * Retrieve harvest examples for the system. * */ - isWide: Scalars['Boolean']['output']; + harvestExamples: Array; +}; + + +/** + * An interface for querying `HarvestExample` records. + * + */ +export type QueriesHarvestExampleHarvestExamplesArgs = { + generic?: InputMaybe; + metadataFormat?: InputMaybe; + protocol?: InputMaybe; +}; + +/** + * An interface for querying `HarvestMapping` records. + * + */ +export type QueriesHarvestMapping = { /** - * Provided for introspection. This describes the underlying structure of the data type. + * Retrieve a single `HarvestMapping` by slug. * */ - kind: SchemaPropertyKind; - label: Scalars['String']['output']; + harvestMapping?: Maybe; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * Query all harvest mappings in the system. * */ - orderable: Scalars['Boolean']['output']; + harvestMappings: HarvestMappingConnection; +}; + + +/** + * An interface for querying `HarvestMapping` records. + * + */ +export type QueriesHarvestMappingHarvestMappingArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * An interface for querying `HarvestMapping` records. + * + */ +export type QueriesHarvestMappingHarvestMappingsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * An interface for querying `HarvestMessage` records. + * + */ +export type QueriesHarvestMessage = { + harvestMessages: HarvestMessageConnection; +}; + + +/** + * An interface for querying `HarvestMessage` records. + * + */ +export type QueriesHarvestMessageHarvestMessagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * An interface for querying `HarvestRecord` records. + * + */ +export type QueriesHarvestRecord = { /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * Retrieve a single `HarvestRecord` by slug. * */ - path: Scalars['String']['output']; + harvestRecord?: Maybe; /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. - * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. - * - */ - required: Scalars['Boolean']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; - timestamp?: Maybe; - /** - * Provided for introspection. This represents the actual data type this property - * uses. - * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * Query all harvest records in the system. * */ - type: SchemaPropertyType; + harvestRecords: HarvestRecordConnection; }; -/** When retrieving a paginated connection of tree-like entities, this enum is used to delineate which class of nodes to retrieve. Usually, you only want roots, but two other possibilities are exposed. */ -export type TreeNodeFilter = - /** Fetch only nodes that are "leaves"; nodes that have a parent of the same type */ - | 'LEAVES_ONLY' - /** Fetch all nodes that match other filters passed to the resolver */ - | 'ROOTS_AND_LEAVES' - /** Fetch only nodes that are "roots": nodes that do not have a parent of the same type */ - | 'ROOTS_ONLY' - | '%future added value'; -/** A schematic reference to a URL, with href, label, and optional title */ -export type UrlProperty = ScalarProperty & SchemaProperty & { - __typename?: 'URLProperty'; - /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. - * - */ - array: Scalars['Boolean']['output']; - /** - * A human-readable description for the property. It should describe the purpose of the - * property as well as some details about the types of values it looks for. - * - * It can be rendered as help text, hints, etc. - * - */ - description?: Maybe; - /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. - * - */ - fullPath: Scalars['String']['output']; - /** - * The purpose or intent of this property relative to its entity, parents, and others. - * - */ - function: SchemaPropertyFunction; - /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. - * - */ - isWide: Scalars['Boolean']['output']; - /** - * Provided for introspection. This describes the underlying structure of the data type. - * - */ - kind: SchemaPropertyKind; - /** - * A human-readable label for the schema property. - * - */ - label: Scalars['String']['output']; - /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. - * - */ - orderable: Scalars['Boolean']['output']; - /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. - * - */ - path: Scalars['String']['output']; - /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. - * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. - * - */ - required: Scalars['Boolean']['output']; - /** - * Provided for introspection. This represents the actual data type this property - * uses. - * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. - * - */ - type: SchemaPropertyType; - url?: Maybe; +/** + * An interface for querying `HarvestRecord` records. + * + */ +export type QueriesHarvestRecordHarvestRecordArgs = { + slug: Scalars['Slug']['input']; }; -/** A representation of a URL suitable for creating anchor tags */ -export type UrlReference = { - __typename?: 'URLReference'; - /** The actual URL */ - href?: Maybe; - /** A label to display within the text content of the anchor tag */ - label?: Maybe; - /** A title to display when mousing over the URL */ - title?: Maybe; + +/** + * An interface for querying `HarvestRecord` records. + * + */ +export type QueriesHarvestRecordHarvestRecordsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; /** - * The underlying data format for a `HarvestMetadataFormat`. + * An interface for querying `HarvestSet` records. + * + * To query a collection of harvest sets, you must check from the Harvest Source. * */ -export type UnderlyingDataFormat = - /** - * The metadata is encoded as JSON. - * - */ - | 'JSON' +export type QueriesHarvestSet = { /** - * The metadata is encoded as XML. + * Retrieve a single `HarvestSet` by slug. * */ - | 'XML' - | '%future added value'; + harvestSet?: Maybe; +}; -export type UnknownProperty = ScalarProperty & SchemaProperty & { - __typename?: 'UnknownProperty'; - /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. - * - */ - array: Scalars['Boolean']['output']; - default?: Maybe; - /** - * A human-readable description for the property. It should describe the purpose of the - * property as well as some details about the types of values it looks for. - * - * It can be rendered as help text, hints, etc. - * - */ - description?: Maybe; - /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. - * - */ - fullPath: Scalars['String']['output']; - /** - * The purpose or intent of this property relative to its entity, parents, and others. - * - */ - function: SchemaPropertyFunction; + +/** + * An interface for querying `HarvestSet` records. + * + * To query a collection of harvest sets, you must check from the Harvest Source. + * + */ +export type QueriesHarvestSetHarvestSetArgs = { + slug: Scalars['Slug']['input']; +}; + +/** + * An interface for querying `HarvestSource` records. + * + */ +export type QueriesHarvestSource = { /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * Retrieve a single `HarvestSource` by slug. * */ - isWide: Scalars['Boolean']['output']; + harvestSource?: Maybe; + harvestSources: HarvestSourceConnection; +}; + + +/** + * An interface for querying `HarvestSource` records. + * + */ +export type QueriesHarvestSourceHarvestSourceArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * An interface for querying `HarvestSource` records. + * + */ +export type QueriesHarvestSourceHarvestSourcesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * An interface for querying `Permalink` records. + * + */ +export type QueriesPermalink = { /** - * Provided for introspection. This describes the underlying structure of the data type. + * Retrieve a single `Permalink` by slug. * */ - kind: SchemaPropertyKind; + permalink?: Maybe; /** - * A human-readable label for the schema property. + * Retrieve a single `Permalink` by its URI. * */ - label: Scalars['String']['output']; - /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + permalinkByUri?: Maybe; + permalinks: PermalinkConnection; +}; + + +/** + * An interface for querying `Permalink` records. + * + */ +export type QueriesPermalinkPermalinkArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * An interface for querying `Permalink` records. + * + */ +export type QueriesPermalinkPermalinkByUriArgs = { + uri: Scalars['String']['input']; +}; + + +/** + * An interface for querying `Permalink` records. + * + */ +export type QueriesPermalinkPermalinksArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * Fields for querying schemas and schema-related data. + * + */ +export type QueriesSchemas = { + /** A list of ordering paths for creating and updating orderings. */ + orderingPaths: Array; + /** Look up a schema definition by slug */ + schemaDefinition?: Maybe; + /** List all schema definitions */ + schemaDefinitions: SchemaDefinitionConnection; + /** Look up a schema version by slug */ + schemaVersion?: Maybe; + /** List all options for schema versions */ + schemaVersionOptions: Array; + /** List all schema versions */ + schemaVersions: SchemaVersionConnection; +}; + + +/** + * Fields for querying schemas and schema-related data. + * + */ +export type QueriesSchemasOrderingPathsArgs = { + schemas?: InputMaybe>; +}; + + +/** + * Fields for querying schemas and schema-related data. + * + */ +export type QueriesSchemasSchemaDefinitionArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * Fields for querying schemas and schema-related data. + * + */ +export type QueriesSchemasSchemaDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * Fields for querying schemas and schema-related data. + * + */ +export type QueriesSchemasSchemaVersionArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * Fields for querying schemas and schema-related data. + * + */ +export type QueriesSchemasSchemaVersionOptionsArgs = { + kind?: InputMaybe; + namespace?: InputMaybe; +}; + + +/** + * Fields for querying schemas and schema-related data. + * + */ +export type QueriesSchemasSchemaVersionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * An interface for querying `Submission` records. + * + */ +export type QueriesSubmission = { + /** + * Retrieve a single `Submission` by slug. * */ - orderable: Scalars['Boolean']['output']; + submission?: Maybe; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * Retrieve a list of `Submission` records, optionally filtered by various criteria. * */ - path: Scalars['String']['output']; + submissions: SubmissionConnection; +}; + + +/** + * An interface for querying `Submission` records. + * + */ +export type QueriesSubmissionSubmissionArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * An interface for querying `Submission` records. + * + */ +export type QueriesSubmissionSubmissionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * An interface for querying `SubmissionComment` records. + * + */ +export type QueriesSubmissionComment = { /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. - * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + * Retrieve a single `SubmissionComment` by slug. * */ - required: Scalars['Boolean']['output']; + submissionComment?: Maybe; /** - * Provided for introspection. This represents the actual data type this property - * uses. - * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + * Retrieve a list of `SubmissionComment` records, optionally filtered by `submission`. * */ - type: SchemaPropertyType; - unknownValue?: Maybe; + submissionComments: SubmissionCommentConnection; }; -/** Autogenerated input type of UpdateAnnouncement */ -export type UpdateAnnouncementInput = { - /** The ID for the announcement to update. */ - announcementId: Scalars['ID']['input']; - /** A body for the announcement */ - body: Scalars['String']['input']; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** A header value for the announcement */ - header: Scalars['String']['input']; - /** The date of the announcement. */ - publishedOn: Scalars['ISO8601Date']['input']; - /** A teaser for the announcement */ - teaser: Scalars['String']['input']; + +/** + * An interface for querying `SubmissionComment` records. + * + */ +export type QueriesSubmissionCommentSubmissionCommentArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated return type of UpdateAnnouncement. */ -export type UpdateAnnouncementPayload = StandardMutationPayload & { - __typename?: 'UpdateAnnouncementPayload'; - announcement?: Maybe; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + +/** + * An interface for querying `SubmissionComment` records. + * + */ +export type QueriesSubmissionCommentSubmissionCommentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** Autogenerated input type of UpdateAssetAttachment */ -export type UpdateAssetAttachmentInput = { - /** The ID for the asset to update */ - assetId: Scalars['ID']['input']; +/** + * An interface for querying `SubmissionReview` records. + * + */ +export type QueriesSubmissionReview = { /** - * A reference to an upload in Tus. + * Retrieve a single `SubmissionReview` by slug. * */ - attachment: UploadedFileInput; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + submissionReview?: Maybe; + submissionReviews: SubmissionReviewConnection; }; -/** Autogenerated return type of UpdateAssetAttachment. */ -export type UpdateAssetAttachmentPayload = StandardMutationPayload & { - __typename?: 'UpdateAssetAttachmentPayload'; - asset?: Maybe; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + +/** + * An interface for querying `SubmissionReview` records. + * + */ +export type QueriesSubmissionReviewSubmissionReviewArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated input type of UpdateAsset */ -export type UpdateAssetInput = { - /** Alt text to display for the asset (if applicable) */ - altText?: InputMaybe; - /** The ID for the asset to update */ - assetId: Scalars['ID']['input']; - /** - * An optional reference to an upload in Tus. It will replace the current file if provided. - * Note: Unlike other attachments in the API, there is no way to clear an attachment from - * an existing asset. If you wish to do that, simply call destroyAsset. + +/** + * An interface for querying `SubmissionReview` records. + * + */ +export type QueriesSubmissionReviewSubmissionReviewsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * An interface for querying `SubmissionTarget` records. + * + */ +export type QueriesSubmissionTarget = { + /** + * Retrieve a single `SubmissionTarget` by slug. * */ - attachment?: InputMaybe; - /** A caption to display below the asset (if applicable) */ - caption?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** A human readable name for the asset */ - name: Scalars['String']['input']; - /** The position the asset occupies amongst siblings */ - position?: InputMaybe; + submissionTarget?: Maybe; + /** + * Retrieve a list of `SubmissionTarget` records, optionally filtered by various criteria. + * + */ + submissionTargets: SubmissionTargetConnection; }; -/** Autogenerated return type of UpdateAsset. */ -export type UpdateAssetPayload = StandardMutationPayload & { - __typename?: 'UpdateAssetPayload'; - asset?: Maybe; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + +/** + * An interface for querying `SubmissionTarget` records. + * + */ +export type QueriesSubmissionTargetSubmissionTargetArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated input type of UpdateCollection */ -export type UpdateCollectionInput = { + +/** + * An interface for querying `SubmissionTarget` records. + * + */ +export type QueriesSubmissionTargetSubmissionTargetsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * An interface for querying `SubmissionTargetReviewer` records. + * + */ +export type QueriesSubmissionTargetReviewer = { /** - * If set to true, this will clear the attachment hero_image on this model. + * Retrieve a single `SubmissionTargetReviewer` by slug. * */ - clearHeroImage?: InputMaybe; + submissionTargetReviewer?: Maybe; + submissionTargetReviewers: SubmissionTargetReviewerConnection; +}; + + +/** + * An interface for querying `SubmissionTargetReviewer` records. + * + */ +export type QueriesSubmissionTargetReviewerSubmissionTargetReviewerArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * An interface for querying `SubmissionTargetReviewer` records. + * + */ +export type QueriesSubmissionTargetReviewerSubmissionTargetReviewersArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * Fields for querying system-level information about the current installation. + * + */ +export type QueriesSystem = { + /** Access top-level analytics. */ + analytics: Analytics; + /** Fetch the global configuration for this installation */ + globalConfiguration: GlobalConfiguration; + /** A helper field that is used to look up various details about the WDP-API ecosystem. */ + systemInfo: SystemInfo; + /** Look up a user by slug */ + user?: Maybe; + /** A list of all users in the system */ + users: UserConnection; /** - * If set to true, this will clear the attachment thumbnail on this model. + * The currently authenticated user. AKA: you * */ - clearThumbnail?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - collectionId: Scalars['ID']['input']; + viewer: User; +}; + + +/** + * Fields for querying system-level information about the current installation. + * + */ +export type QueriesSystemUserArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * Fields for querying system-level information about the current installation. + * + */ +export type QueriesSystemUsersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + prefix?: InputMaybe; +}; + +export type QueriesUser = { + /** Look up a user by slug */ + user?: Maybe; + /** A list of all users in the system */ + users: UserConnection; /** - * Digital Object Identifier (see: https://doi.org) + * The currently authenticated user. AKA: you * - * **Note**: This actually gets assigned to the entity's `rawDOI`, and will be sanitized to get set on `DOI`. + */ + viewer: User; +}; + + +export type QueriesUserUserArgs = { + slug: Scalars['Slug']['input']; +}; + + +export type QueriesUserUsersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + prefix?: InputMaybe; +}; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type Query = QueriesAccessAndRoles & QueriesContrib & QueriesControlledVocabulary & QueriesControlledVocabularySource & QueriesDepositorRequest & QueriesEntities & QueriesHarvestAttempt & QueriesHarvestExample & QueriesHarvestMapping & QueriesHarvestMessage & QueriesHarvestRecord & QueriesHarvestSet & QueriesHarvestSource & QueriesPermalink & QueriesSchemas & QueriesSubmission & QueriesSubmissionComment & QueriesSubmissionReview & QueriesSubmissionTarget & QueriesSubmissionTargetReviewer & QueriesSystem & QueriesUser & Searchable & { + __typename?: 'Query'; + /** + * Retrieve all access grants. * */ - doi?: InputMaybe; + accessGrants: AnyAccessGrantConnection; + /** Access top-level analytics. */ + analytics: Analytics; + /** Look up an asset by slug */ + asset?: Maybe; + /** Look up a collection by slug */ + collection?: Maybe; + /** Look up a collection contribution by slug */ + collectionContribution?: Maybe; + /** List all communities */ + communities: CommunityConnection; + /** Look up a community by slug */ + community?: Maybe; + /** Look up a community by its title */ + communityByTitle?: Maybe; + /** Look up contribution role configuration for a given contributable (or globally). */ + contributionRoles: ContributionRoleConfiguration; + /** Look up a contributor by slug */ + contributor?: Maybe; /** - * A reference to an uploaded image in Tus. + * Look up a contributor `by` a certain `value`. * */ - heroImage?: InputMaybe; + contributorLookup?: Maybe; + /** A list of all contributors in the system */ + contributors: AnyContributorConnection; + controlledVocabularies: ControlledVocabularyConnection; /** - * Metadata for an image attachment. + * Retrieve a single `ControlledVocabulary` by slug. * */ - heroImageMetadata?: InputMaybe; + controlledVocabulary?: Maybe; /** - * When dealing with harvested collections or items, modifying - * the entity within the admin section will cause its - * `harvestModificationStatus` to change to `MODIFIED`, which will - * prevent the harvesting system from overwriting anything within it. + * Retrieve a single `ControlledVocabularySource` by slug. * - * By setting this option to true, it will force harvested entities to - * remain `PRISTINE`, no matter what changes have been made in the admin - * section. This will allow the harvesting system to overwrite any of - * these changes when next time it runs. + */ + controlledVocabularySource?: Maybe; + controlledVocabularySources: ControlledVocabularySourceConnection; + /** + * Retrieve a single `DepositorRequest` by slug. * - * It must be checked _every_ time the entity is saved in the admin - * section in order to keep the pristine status intact. + */ + depositorRequest?: Maybe; + depositorRequests: DepositorRequestConnection; + /** Fetch the global configuration for this installation */ + globalConfiguration: GlobalConfiguration; + /** + * Retrieve a single `HarvestAttempt` by slug. * - * **Note**: It has no effect on `UNHARVESTED` entities. + */ + harvestAttempt?: Maybe; + /** + * Query all harvest attempts in the system. * */ - maintainPristineStatus?: InputMaybe; - /** The date this entity was published */ - published?: InputMaybe; + harvestAttempts: HarvestAttemptConnection; /** - * An arbitrary set of property values. Owing to the dynamic nature, they do not have a specific GraphQL input type - * associated with them. Validation will be performed within the application and returned as errors if not valid. + * Retrieve harvest examples for the system. * */ - schemaProperties?: InputMaybe; - /** Human-readable subtitle for the entity */ - subtitle?: InputMaybe; - /** A brief description of the entity's contents. */ - summary?: InputMaybe; + harvestExamples: Array; /** - * A reference to an uploaded image in Tus. + * Retrieve a single `HarvestMapping` by slug. * */ - thumbnail?: InputMaybe; + harvestMapping?: Maybe; /** - * Metadata for an image attachment. + * Query all harvest mappings in the system. * */ - thumbnailMetadata?: InputMaybe; - /** Human-readable title for the entity */ - title: Scalars['String']['input']; - /** What level of visibility the entity has */ - visibility: EntityVisibility; - /** If present, this is the timestamp an entity is visible after */ - visibleAfterAt?: InputMaybe; - /** If present, this is the timestamp an entity is visible until */ - visibleUntilAt?: InputMaybe; -}; - -/** Autogenerated return type of UpdateCollection. */ -export type UpdateCollectionPayload = StandardMutationPayload & { - __typename?: 'UpdateCollectionPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** A new representation of the collection, on a successful update */ - collection?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - schemaErrors: Array; -}; - -/** Autogenerated input type of UpdateCommunity */ -export type UpdateCommunityInput = { - /** - * If set to true, this will clear the attachment hero_image on this model. - * - */ - clearHeroImage?: InputMaybe; + harvestMappings: HarvestMappingConnection; + harvestMessages: HarvestMessageConnection; /** - * If set to true, this will clear the attachment logo on this model. + * Retrieve a single `HarvestRecord` by slug. * */ - clearLogo?: InputMaybe; + harvestRecord?: Maybe; /** - * If set to true, this will clear the attachment thumbnail on this model. + * Query all harvest records in the system. * */ - clearThumbnail?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - communityId: Scalars['ID']['input']; + harvestRecords: HarvestRecordConnection; /** - * A reference to an uploaded image in Tus. + * Retrieve a single `HarvestSet` by slug. * */ - heroImage?: InputMaybe; - heroImageLayout: HeroImageLayout; + harvestSet?: Maybe; /** - * Metadata for an image attachment. + * Retrieve a single `HarvestSource` by slug. * */ - heroImageMetadata?: InputMaybe; + harvestSource?: Maybe; + harvestSources: HarvestSourceConnection; + /** Look up an item by slug */ + item?: Maybe; + /** Look up an item contribution by slug */ + itemContribution?: Maybe; + /** Fetches an object given its ID. */ + node?: Maybe; + /** Fetches a list of objects given a list of IDs. */ + nodes: Array>; + /** A list of ordering paths for creating and updating orderings. */ + orderingPaths: Array; /** - * A reference to an uploaded image in Tus. + * Retrieve a single `Permalink` by slug. * */ - logo?: InputMaybe; + permalink?: Maybe; /** - * Metadata for an image attachment. + * Retrieve a single `Permalink` by its URI. * */ - logoMetadata?: InputMaybe; - /** The position the community occupies in the list */ - position?: InputMaybe; + permalinkByUri?: Maybe; + permalinks: PermalinkConnection; /** - * An arbitrary set of property values. Owing to the dynamic nature, they do not have a specific GraphQL input type - * associated with them. Validation will be performed within the application and returned as errors if not valid. + * List all roles. * */ - schemaProperties?: InputMaybe; - /** Human-readable subtitle for the entity */ - subtitle?: InputMaybe; - /** A brief description of the entity's contents. */ - summary?: InputMaybe; - tagline?: InputMaybe; + roles: RoleConnection; + /** Look up a schema definition by slug */ + schemaDefinition?: Maybe; + /** List all schema definitions */ + schemaDefinitions: SchemaDefinitionConnection; + /** Look up a schema version by slug */ + schemaVersion?: Maybe; + /** List all options for schema versions */ + schemaVersionOptions: Array; + /** List all schema versions */ + schemaVersions: SchemaVersionConnection; + /** Search from this level of the API using it as the origin */ + search: SearchScope; /** - * A reference to an uploaded image in Tus. + * Retrieve a single `Submission` by slug. * */ - thumbnail?: InputMaybe; + submission?: Maybe; /** - * Metadata for an image attachment. + * Retrieve a single `SubmissionComment` by slug. * */ - thumbnailMetadata?: InputMaybe; - /** Human-readable title for the entity */ - title: Scalars['String']['input']; -}; - -/** Autogenerated return type of UpdateCommunity. */ -export type UpdateCommunityPayload = StandardMutationPayload & { - __typename?: 'UpdateCommunityPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** A new representation of the community, on a succesful update */ - community?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - schemaErrors: Array; -}; - -/** Autogenerated input type of UpdateContribution */ -export type UpdateContributionInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - contributionId: Scalars['ID']['input']; + submissionComment?: Maybe; /** - * "Inner" sorting discriminator for the contribution. If not provided, it will keep whatever is there. - * - * It applies _after_ the contribution role. + * Retrieve a list of `SubmissionComment` records, optionally filtered by `submission`. * */ - innerPosition?: InputMaybe; + submissionComments: SubmissionCommentConnection; /** - * Metadata for the contribution. If not provided, it will keep whatever is there. + * Retrieve a single `SubmissionReview` by slug. * */ - metadata?: InputMaybe; + submissionReview?: Maybe; + submissionReviews: SubmissionReviewConnection; /** - * "Outer" sorting discriminator for the contribution. If not provided, it will keep whatever is there. - * - * It applies _before_ the contribution role. + * Retrieve a single `SubmissionTarget` by slug. * */ - outerPosition?: InputMaybe; -}; - -/** Autogenerated return type of UpdateContribution. */ -export type UpdateContributionPayload = StandardMutationPayload & { - __typename?: 'UpdateContributionPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - contribution?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** Autogenerated input type of UpdateGlobalConfiguration */ -export type UpdateGlobalConfigurationInput = { + submissionTarget?: Maybe; /** - * If set to true, this will clear the attachment logo on this model. + * Retrieve a single `SubmissionTargetReviewer` by slug. * */ - clearLogo?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + submissionTargetReviewer?: Maybe; + submissionTargetReviewers: SubmissionTargetReviewerConnection; /** - * Optional settings for configuring contribution roles globally. - * - * **Note**: If left blank, it will not apply anything. + * Retrieve a list of `SubmissionTarget` records, optionally filtered by various criteria. * */ - contributionRoles?: InputMaybe; - /** Possible new settings for entity behavior */ - entities?: InputMaybe; - /** Possible new settings for the institution */ - institution?: InputMaybe; + submissionTargets: SubmissionTargetConnection; /** - * A reference to an uploaded image in Tus. + * Retrieve a list of `Submission` records, optionally filtered by various criteria. * */ - logo?: InputMaybe; + submissions: SubmissionConnection; + /** A helper field that is used to look up various details about the WDP-API ecosystem. */ + systemInfo: SystemInfo; + /** Look up a user by slug */ + user?: Maybe; + /** A list of all users in the system */ + users: UserConnection; /** - * Metadata for an image attachment. + * The currently authenticated user. AKA: you * */ - logoMetadata?: InputMaybe; - /** Possible new settings for the site */ - site?: InputMaybe; - /** Possible new settings for the theme */ - theme?: InputMaybe; + viewer: User; }; -/** Autogenerated return type of UpdateGlobalConfiguration. */ -export type UpdateGlobalConfigurationPayload = StandardMutationPayload & { - __typename?: 'UpdateGlobalConfigurationPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - /** Though a global configuration always exists, this will be null if it fails to apply for some reason. */ - globalConfiguration?: Maybe; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + entity?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + subject?: InputMaybe; }; -/** Autogenerated input type of UpdateItem */ -export type UpdateItemInput = { - /** - * If set to true, this will clear the attachment hero_image on this model. - * - */ - clearHeroImage?: InputMaybe; - /** - * If set to true, this will clear the attachment thumbnail on this model. - * - */ - clearThumbnail?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** - * Digital Object Identifier (see: https://doi.org) - * - * **Note**: This actually gets assigned to the entity's `rawDOI`, and will be sanitized to get set on `DOI`. - * - */ - doi?: InputMaybe; - /** - * A reference to an uploaded image in Tus. - * - */ - heroImage?: InputMaybe; - /** - * Metadata for an image attachment. - * - */ - heroImageMetadata?: InputMaybe; - /** The item to update */ - itemId: Scalars['ID']['input']; - /** - * When dealing with harvested collections or items, modifying - * the entity within the admin section will cause its - * `harvestModificationStatus` to change to `MODIFIED`, which will - * prevent the harvesting system from overwriting anything within it. - * - * By setting this option to true, it will force harvested entities to - * remain `PRISTINE`, no matter what changes have been made in the admin - * section. This will allow the harvesting system to overwrite any of - * these changes when next time it runs. - * - * It must be checked _every_ time the entity is saved in the admin - * section in order to keep the pristine status intact. - * - * **Note**: It has no effect on `UNHARVESTED` entities. - * - */ - maintainPristineStatus?: InputMaybe; - /** The date this entity was published */ - published?: InputMaybe; - /** - * An arbitrary set of property values. Owing to the dynamic nature, they do not have a specific GraphQL input type - * associated with them. Validation will be performed within the application and returned as errors if not valid. - * - */ - schemaProperties?: InputMaybe; - /** Human-readable subtitle for the entity */ - subtitle?: InputMaybe; - /** A brief description of the entity's contents. */ - summary?: InputMaybe; - /** - * A reference to an uploaded image in Tus. - * - */ - thumbnail?: InputMaybe; - /** - * Metadata for an image attachment. - * - */ - thumbnailMetadata?: InputMaybe; - /** Human-readable title for the entity */ - title: Scalars['String']['input']; - /** What level of visibility the entity has */ - visibility: EntityVisibility; - /** If present, this is the timestamp an entity is visible after */ - visibleAfterAt?: InputMaybe; - /** If present, this is the timestamp an entity is visible until */ - visibleUntilAt?: InputMaybe; -}; -/** Autogenerated return type of UpdateItem. */ -export type UpdateItemPayload = StandardMutationPayload & { - __typename?: 'UpdateItemPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - /** A new representation of the item, on a succesful update */ - item?: Maybe; - schemaErrors: Array; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryAssetArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated input type of UpdateOrdering */ -export type UpdateOrderingInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - filter?: InputMaybe; - /** Optional markdown content to display after the ordering's children */ - footer?: InputMaybe; - /** Optional markdown content to display before the ordering's children */ - header?: InputMaybe; - /** A human readable label for the ordering */ - name?: InputMaybe; - order: Array; - /** - * The ID for the ordering to update - * - */ - orderingId: Scalars['ID']['input']; - render?: InputMaybe; - select?: InputMaybe; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryCollectionArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated return type of UpdateOrdering. */ -export type UpdateOrderingPayload = StandardMutationPayload & { - __typename?: 'UpdateOrderingPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - /** The updated ordering */ - ordering?: Maybe; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryCollectionContributionArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated input type of UpdateOrganizationContributor */ -export type UpdateOrganizationContributorInput = { - /** A summary of the contributor */ - bio?: InputMaybe; - /** - * If set to true, this will clear the attachment image on this model. - * - */ - clearImage?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - contributorId: Scalars['ID']['input']; - /** An email associated with the contributor */ - email?: InputMaybe; - /** - * A reference to an uploaded image in Tus. - * - */ - image?: InputMaybe; - /** - * Metadata for an image attachment. - * - */ - imageMetadata?: InputMaybe; - /** The legal name of the organization */ - legalName?: InputMaybe; - links?: InputMaybe>; - /** Where the organization is located (if applicable) */ - location?: InputMaybe; - /** - * An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. - * - */ - orcid?: InputMaybe; - /** A url associated with the contributor */ - url?: InputMaybe; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryCommunitiesArgs = { + access?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** Autogenerated return type of UpdateOrganizationContributor. */ -export type UpdateOrganizationContributorPayload = StandardMutationPayload & { - __typename?: 'UpdateOrganizationContributorPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** The updated organization */ - contributor?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryCommunityArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated input type of UpdatePage */ -export type UpdatePageInput = { - body: Scalars['String']['input']; - /** - * If set to true, this will clear the attachment hero_image on this model. - * - */ - clearHeroImage?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** - * A reference to an uploaded image in Tus. - * - */ - heroImage?: InputMaybe; - /** - * Metadata for an image attachment. - * - */ - heroImageMetadata?: InputMaybe; - pageId: Scalars['ID']['input']; - position?: InputMaybe; - slug: Scalars['String']['input']; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryCommunityByTitleArgs = { title: Scalars['String']['input']; }; -/** Autogenerated return type of UpdatePage. */ -export type UpdatePagePayload = StandardMutationPayload & { - __typename?: 'UpdatePagePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - page?: Maybe; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryContributionRolesArgs = { + contributableId?: InputMaybe; }; -/** Autogenerated input type of UpdatePersonContributor */ -export type UpdatePersonContributorInput = { - affiliation?: InputMaybe; - /** A summary of the contributor */ - bio?: InputMaybe; - /** - * If set to true, this will clear the attachment image on this model. - * - */ - clearImage?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - contributorId: Scalars['ID']['input']; - /** An email associated with the contributor */ - email?: InputMaybe; - familyName?: InputMaybe; - givenName?: InputMaybe; - /** - * A reference to an uploaded image in Tus. - * - */ - image?: InputMaybe; - /** - * Metadata for an image attachment. - * - */ - imageMetadata?: InputMaybe; - links?: InputMaybe>; - /** - * An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. - * - */ - orcid?: InputMaybe; - title?: InputMaybe; - /** A url associated with the contributor */ - url?: InputMaybe; -}; -/** Autogenerated return type of UpdatePersonContributor. */ -export type UpdatePersonContributorPayload = StandardMutationPayload & { - __typename?: 'UpdatePersonContributorPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** The created person */ - contributor?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryContributorArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated input type of UpdateRole */ -export type UpdateRoleInput = { - accessControlList: Scalars['JSON']['input']; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - name: Scalars['String']['input']; - roleId: Scalars['ID']['input']; -}; -/** Autogenerated return type of UpdateRole. */ -export type UpdateRolePayload = StandardMutationPayload & { - __typename?: 'UpdateRolePayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - role?: Maybe; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryContributorLookupArgs = { + by: ContributorLookupField; + order?: SimpleOrder; + value: Scalars['String']['input']; }; -/** Autogenerated input type of UpdateUser */ -export type UpdateUserInput = { - /** - * A reference to an uploaded image in Tus. - * - */ - avatar?: InputMaybe; - /** - * Metadata for an image attachment. - * - */ - avatarMetadata?: InputMaybe; - /** - * If set to true, this will clear the attachment avatar on this model. - * - */ - clearAvatar?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** - * Attributes for the user that correspond to attributes in Keycloak. - * - */ - profile: UserProfileInput; - userId: Scalars['ID']['input']; -}; -/** Autogenerated return type of UpdateUser. */ -export type UpdateUserPayload = StandardMutationPayload & { - __typename?: 'UpdateUserPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - user?: Maybe; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryContributorsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + kind?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + prefix?: InputMaybe; }; -/** Autogenerated input type of UpdateViewerSettings */ -export type UpdateViewerSettingsInput = { - /** - * A reference to an uploaded image in Tus. - * - */ - avatar?: InputMaybe; - /** - * Metadata for an image attachment. - * - */ - avatarMetadata?: InputMaybe; - /** - * If set to true, this will clear the attachment avatar on this model. - * - */ - clearAvatar?: InputMaybe; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - /** - * Attributes for the user that correspond to attributes in Keycloak. - * - */ - profile: UserProfileInput; -}; -/** Autogenerated return type of UpdateViewerSettings. */ -export type UpdateViewerSettingsPayload = StandardMutationPayload & { - __typename?: 'UpdateViewerSettingsPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; - user?: Maybe; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryControlledVocabulariesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** The name of a storage that can contain user uploads. There's only one option at present. */ -export type UploadStorage = - /** - * Temporary storage. Cleaned on a regular basis if uploads are not attached anywhere. - * - */ - | 'CACHE' - | '%future added value'; -/** A definition for a file upload */ -export type UploadedFileInput = { - id: Scalars['UploadID']['input']; - /** Metadata to associate with the upload */ - metadata?: InputMaybe; - /** The storage that contains the input. */ - storage?: InputMaybe; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryControlledVocabularyArgs = { + slug: Scalars['Slug']['input']; }; -/** File metadata to attach to the upload. */ -export type UploadedFileMetadataInput = { - /** Alt text for the upload (not always applicable) */ - alt?: InputMaybe; - /** The original filename, since Tus mangles them. */ - filename?: InputMaybe; - /** - * The original content type. WDP will detect a real content type, so this can't be spoofed, but it can be helpful with generating - * an initial asset with the correct kind. - * - */ - mimeType?: InputMaybe; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryControlledVocabularySourceArgs = { + slug: Scalars['Slug']['input']; }; -/** Autogenerated input type of UpsertContribution */ -export type UpsertContributionInput = { - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; - contributableId: Scalars['ID']['input']; - contributorId: Scalars['ID']['input']; - /** - * "Inner" sorting discriminator for the contribution. If not provided, it will keep whatever is there. - * - * It applies _after_ the contribution role. - * - */ - innerPosition?: InputMaybe; - /** - * Metadata for the contribution. If not provided, it will keep whatever is there. - * - */ - metadata?: InputMaybe; - /** - * "Outer" sorting discriminator for the contribution. If not provided, it will keep whatever is there. - * - * It applies _before_ the contribution role. - * - */ - outerPosition?: InputMaybe; - /** If not provided, it will use the default role. */ - roleId?: InputMaybe; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryControlledVocabularySourcesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** Autogenerated return type of UpsertContribution. */ -export type UpsertContributionPayload = StandardMutationPayload & { - __typename?: 'UpsertContributionPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - contribution?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; -}; - -/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ -export type User = AccessGrantSubject & ExposesPermissions & Node & Sluggable & { - __typename?: 'User'; - /** All access grants for this user */ - accessGrants: AnyUserAccessGrantConnection; - /** The level of access management this user has for entities in the system. */ - accessManagement: AccessManagement; - /** A polymorphic connection for access grants from a subject */ - allAccessGrants: AnyAccessGrantConnection; - /** A list of allowed actions for the given user on this entity (and its descendants). */ - allowedActions: Array; - /** Is this an anonymous / unauthenticated user? */ - anonymous: Scalars['Boolean']['output']; - /** - * The roles this user has access to assign based on their `primaryRole`, - * outside of any hierarchical context. - * - * When actually assigning roles for an entity, you should use `Entity.assignableRoles`, - * because it will ensure that the user sufficient permissions at that level. - * - */ - assignableRoles: Array; - /** A user's avatar */ - avatar: ImageAttachment; - /** Configurable metadata for the avatar attachment */ - avatarMetadata?: Maybe; - /** All access grants for this user on a collection */ - collectionAccessGrants: UserCollectionAccessGrantConnection; - /** Query the collections this user has access to */ - collections: CollectionConnection; - /** Query the communities this user has access to */ - communities: CommunityConnection; - /** All access grants for this user on a community */ - communityAccessGrants: UserCommunityAccessGrantConnection; - createdAt: Scalars['ISO8601DateTime']['output']; - /** A user's email. Depending on the upstream provider, this may not be set. */ - email?: Maybe; - /** Has this user's email been verified to work through Keycloak? */ - emailVerified: Scalars['Boolean']['output']; - /** The user's family (last) name. Depending on the upstream provider, this may not be set. */ - familyName?: Maybe; - /** The user's given (first) name. Depending on the upstream provider, this may not be set. */ - givenName?: Maybe; - /** Does this user have access to administer the entire instance? */ - globalAdmin: Scalars['Boolean']['output']; - id: Scalars['ID']['output']; - /** All access grants for this user on an item */ - itemAccessGrants: UserItemAccessGrantConnection; - /** Query the items this user has access to */ - items: ItemConnection; - /** The user's full provided name. Depending on the upstream provider, this may not be set. */ - name?: Maybe; - /** An array of hashes that can be requested to load in a context */ - permissions: Array; - /** The primary role associated with this subject. */ - primaryRole?: Maybe; - slug: Scalars['Slug']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; - /** Can this user upload anything at all? */ - uploadAccess: Scalars['Boolean']['output']; - /** If a user has any upload access, this token will allow them to do so. */ - uploadToken?: Maybe; - /** A unique username for the user. Depending on the upstream provider, this may not be set. */ - username?: Maybe; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryDepositorRequestArgs = { + slug: Scalars['Slug']['input']; }; -/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ -export type UserAccessGrantsArgs = { +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryDepositorRequestsArgs = { after?: InputMaybe; before?: InputMaybe; - entity?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; }; -/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ -export type UserAllAccessGrantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - entity?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestAttemptArgs = { + slug: Scalars['Slug']['input']; }; -/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ -export type UserCollectionAccessGrantsArgs = { +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestAttemptsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; }; -/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ -export type UserCollectionsArgs = { - access?: InputMaybe; - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - nodeFilter?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; - schema?: InputMaybe>; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestExamplesArgs = { + generic?: InputMaybe; + metadataFormat?: InputMaybe; + protocol?: InputMaybe; }; -/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ -export type UserCommunitiesArgs = { - access?: InputMaybe; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestMappingArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestMappingsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - nodeFilter?: InputMaybe; - order?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; - schema?: InputMaybe>; }; -/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ -export type UserCommunityAccessGrantsArgs = { +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestMessagesArgs = { after?: InputMaybe; before?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + orFilters?: InputMaybe>; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; }; -/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ -export type UserItemAccessGrantsArgs = { +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestRecordArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestRecordsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; }; -/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ -export type UserItemsArgs = { - access?: InputMaybe; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestSetArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestSourceArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryHarvestSourcesArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - nodeFilter?: InputMaybe; - order?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; - schema?: InputMaybe>; }; -/** An access grant for a user */ -export type UserAccessGrant = { - /** The polymorphic entity to which access has been granted */ - entity: Entity; - /** The role the subject has been assigned */ - role: Role; - /** The polymorphic subject that has been granted access */ - subject: AccessGrantSubject; - /** The user which has been granted access */ - user: User; -}; /** - * An access grant for a user to a collection. + * The entry point for retrieving data from within the Meru API. * */ -export type UserCollectionAccessGrant = AccessGrant & Node & Sluggable & UserAccessGrant & { - __typename?: 'UserCollectionAccessGrant'; - /** The collection to which a user has been granted access */ - collection: Collection; - createdAt: Scalars['ISO8601DateTime']['output']; - /** The polymorphic entity to which access has been granted */ - entity: Entity; - id: Scalars['ID']['output']; - /** The role the subject has been assigned */ - role: Role; - slug: Scalars['Slug']['output']; - /** The polymorphic subject that has been granted access */ - subject: AccessGrantSubject; - updatedAt: Scalars['ISO8601DateTime']['output']; - /** The user which has been granted access */ - user: User; +export type QueryItemArgs = { + slug: Scalars['Slug']['input']; }; -/** The connection type for UserCollectionAccessGrant. */ -export type UserCollectionAccessGrantConnection = Paginated & { - __typename?: 'UserCollectionAccessGrantConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; -/** An edge in a connection. */ -export type UserCollectionAccessGrantEdge = { - __typename?: 'UserCollectionAccessGrantEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: UserCollectionAccessGrant; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryItemContributionArgs = { + slug: Scalars['Slug']['input']; }; + /** - * An access grant for a user to a community. + * The entry point for retrieving data from within the Meru API. * */ -export type UserCommunityAccessGrant = AccessGrant & Node & Sluggable & UserAccessGrant & { - __typename?: 'UserCommunityAccessGrant'; - /** The community to which a user has been granted access */ - community: Community; - createdAt: Scalars['ISO8601DateTime']['output']; - /** The polymorphic entity to which access has been granted */ - entity: Entity; - id: Scalars['ID']['output']; - /** The role the subject has been assigned */ - role: Role; - slug: Scalars['Slug']['output']; - /** The polymorphic subject that has been granted access */ - subject: AccessGrantSubject; - updatedAt: Scalars['ISO8601DateTime']['output']; - /** The user which has been granted access */ - user: User; +export type QueryNodeArgs = { + id: Scalars['ID']['input']; }; -/** The connection type for UserCommunityAccessGrant. */ -export type UserCommunityAccessGrantConnection = Paginated & { - __typename?: 'UserCommunityAccessGrantConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; -/** An edge in a connection. */ -export type UserCommunityAccessGrantEdge = { - __typename?: 'UserCommunityAccessGrantEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: UserCommunityAccessGrant; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryNodesArgs = { + ids: Array; }; -/** The connection type for User. */ -export type UserConnection = Paginated & { - __typename?: 'UserConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; -/** An edge in a connection. */ -export type UserEdge = { - __typename?: 'UserEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: User; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryOrderingPathsArgs = { + schemas?: InputMaybe>; }; -/** A user-readable error. Somewhat deprecated now, but may be repurposed */ -export type UserError = { - __typename?: 'UserError'; - /** The attribute path to this error, if applicable */ - attributePath?: Maybe; - code?: Maybe; - /** A description of the error */ - message: Scalars['String']['output']; - /** Which input value this error came from */ - path?: Maybe>; - /** Whether this error applies to a single attribute, or globally to the entire form */ - scope: MutationErrorScope; + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryPermalinkArgs = { + slug: Scalars['Slug']['input']; }; + /** - * Not presently exposed through the API. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroup = AccessGrantSubject & Node & Sluggable & { - __typename?: 'UserGroup'; - /** All access grants for this group */ - accessGrants: AnyUserGroupAccessGrantConnection; - /** A polymorphic connection for access grants from a subject */ - allAccessGrants: AnyAccessGrantConnection; - /** - * The roles this user has access to assign based on their `primaryRole`, - * outside of any hierarchical context. - * - * When actually assigning roles for an entity, you should use `Entity.assignableRoles`, - * because it will ensure that the user sufficient permissions at that level. - * - */ - assignableRoles: Array; - /** All access grants for this group on a collection */ - collectionAccessGrants: UserGroupCollectionAccessGrantConnection; - /** All access grants for this group on a community */ - communityAccessGrants: UserGroupCommunityAccessGrantConnection; - createdAt: Scalars['ISO8601DateTime']['output']; - description: Scalars['String']['output']; - id: Scalars['ID']['output']; - /** All access grants for this group on an item */ - itemAccessGrants: UserGroupItemAccessGrantConnection; - name: Scalars['String']['output']; - /** The primary role associated with this subject. */ - primaryRole?: Maybe; - slug: Scalars['Slug']['output']; - updatedAt: Scalars['ISO8601DateTime']['output']; - users: UserConnection; +export type QueryPermalinkByUriArgs = { + uri: Scalars['String']['input']; }; /** - * Not presently exposed through the API. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroupAccessGrantsArgs = { +export type QueryPermalinksArgs = { after?: InputMaybe; before?: InputMaybe; - entity?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; @@ -20900,31 +21246,37 @@ export type UserGroupAccessGrantsArgs = { /** - * Not presently exposed through the API. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroupAllAccessGrantsArgs = { +export type QueryRolesArgs = { after?: InputMaybe; before?: InputMaybe; - entity?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; - page?: InputMaybe; - pageDirection?: InputMaybe; - perPage?: InputMaybe; + order?: InputMaybe; }; /** - * Not presently exposed through the API. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroupCollectionAccessGrantsArgs = { +export type QuerySchemaDefinitionArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QuerySchemaDefinitionsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; + namespace?: InputMaybe; order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; @@ -20933,15 +21285,35 @@ export type UserGroupCollectionAccessGrantsArgs = { /** - * Not presently exposed through the API. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroupCommunityAccessGrantsArgs = { +export type QuerySchemaVersionArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QuerySchemaVersionOptionsArgs = { + kind?: InputMaybe; + namespace?: InputMaybe; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QuerySchemaVersionsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + namespace?: InputMaybe; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; @@ -20949,15 +21321,45 @@ export type UserGroupCommunityAccessGrantsArgs = { /** - * Not presently exposed through the API. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroupItemAccessGrantsArgs = { +export type QuerySearchArgs = { + maxDepth?: InputMaybe; + visibility?: InputMaybe; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QuerySubmissionArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QuerySubmissionCommentArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QuerySubmissionCommentsArgs = { after?: InputMaybe; before?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; @@ -20965,590 +21367,7680 @@ export type UserGroupItemAccessGrantsArgs = { /** - * Not presently exposed through the API. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroupUsersArgs = { +export type QuerySubmissionReviewArgs = { + slug: Scalars['Slug']['input']; +}; + + +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QuerySubmissionReviewsArgs = { after?: InputMaybe; before?: InputMaybe; + filters?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - order?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; page?: InputMaybe; pageDirection?: InputMaybe; perPage?: InputMaybe; }; -/** An access grant for a user group */ -export type UserGroupAccessGrant = { - /** The polymorphic entity to which access has been granted */ - entity: Entity; - /** The role the subject has been assigned */ - role: Role; - /** The polymorphic subject that has been granted access */ - subject: AccessGrantSubject; - /** The group which has been granted access */ - userGroup: UserGroup; -}; /** - * An access grant for a group to a collection. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroupCollectionAccessGrant = AccessGrant & Node & Sluggable & UserGroupAccessGrant & { - __typename?: 'UserGroupCollectionAccessGrant'; - /** The collection to which a group has been granted access */ - collection: Collection; - createdAt: Scalars['ISO8601DateTime']['output']; - /** The polymorphic entity to which access has been granted */ - entity: Entity; - id: Scalars['ID']['output']; - /** The role the subject has been assigned */ - role: Role; - slug: Scalars['Slug']['output']; - /** The polymorphic subject that has been granted access */ - subject: AccessGrantSubject; - updatedAt: Scalars['ISO8601DateTime']['output']; - /** The group which has been granted access */ - userGroup: UserGroup; +export type QuerySubmissionTargetArgs = { + slug: Scalars['Slug']['input']; }; -/** The connection type for UserGroupCollectionAccessGrant. */ -export type UserGroupCollectionAccessGrantConnection = Paginated & { - __typename?: 'UserGroupCollectionAccessGrantConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; - -/** An edge in a connection. */ -export type UserGroupCollectionAccessGrantEdge = { - __typename?: 'UserGroupCollectionAccessGrantEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: UserGroupCollectionAccessGrant; -}; /** - * An access grant for a group to a community. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroupCommunityAccessGrant = AccessGrant & Node & Sluggable & UserGroupAccessGrant & { - __typename?: 'UserGroupCommunityAccessGrant'; - /** The community to which a group has been granted access */ - community: Community; - createdAt: Scalars['ISO8601DateTime']['output']; - /** The polymorphic entity to which access has been granted */ - entity: Entity; - id: Scalars['ID']['output']; - /** The role the subject has been assigned */ - role: Role; - slug: Scalars['Slug']['output']; - /** The polymorphic subject that has been granted access */ - subject: AccessGrantSubject; - updatedAt: Scalars['ISO8601DateTime']['output']; - /** The group which has been granted access */ - userGroup: UserGroup; -}; - -/** The connection type for UserGroupCommunityAccessGrant. */ -export type UserGroupCommunityAccessGrantConnection = Paginated & { - __typename?: 'UserGroupCommunityAccessGrantConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; +export type QuerySubmissionTargetReviewerArgs = { + slug: Scalars['Slug']['input']; }; -/** An edge in a connection. */ -export type UserGroupCommunityAccessGrantEdge = { - __typename?: 'UserGroupCommunityAccessGrantEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: UserGroupCommunityAccessGrant; -}; /** - * An access grant for a group to a item. + * The entry point for retrieving data from within the Meru API. * */ -export type UserGroupItemAccessGrant = AccessGrant & Node & Sluggable & UserGroupAccessGrant & { - __typename?: 'UserGroupItemAccessGrant'; - createdAt: Scalars['ISO8601DateTime']['output']; - /** The polymorphic entity to which access has been granted */ - entity: Entity; - id: Scalars['ID']['output']; - /** The item to which a group has been granted access */ - item: Item; - /** The role the subject has been assigned */ - role: Role; - slug: Scalars['Slug']['output']; - /** The polymorphic subject that has been granted access */ - subject: AccessGrantSubject; - updatedAt: Scalars['ISO8601DateTime']['output']; - /** The group which has been granted access */ - userGroup: UserGroup; +export type QuerySubmissionTargetReviewersArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** The connection type for UserGroupItemAccessGrant. */ -export type UserGroupItemAccessGrantConnection = Paginated & { - __typename?: 'UserGroupItemAccessGrantConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; -/** An edge in a connection. */ -export type UserGroupItemAccessGrantEdge = { - __typename?: 'UserGroupItemAccessGrantEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: UserGroupItemAccessGrant; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QuerySubmissionTargetsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; + /** - * An access grant for a user to a collection. + * The entry point for retrieving data from within the Meru API. * */ -export type UserItemAccessGrant = AccessGrant & Node & Sluggable & UserAccessGrant & { - __typename?: 'UserItemAccessGrant'; - createdAt: Scalars['ISO8601DateTime']['output']; - /** The polymorphic entity to which access has been granted */ - entity: Entity; - id: Scalars['ID']['output']; - /** The item to which a user has been granted access */ - item: Item; - /** The role the subject has been assigned */ - role: Role; - slug: Scalars['Slug']['output']; - /** The polymorphic subject that has been granted access */ - subject: AccessGrantSubject; - updatedAt: Scalars['ISO8601DateTime']['output']; - /** The user which has been granted access */ - user: User; +export type QuerySubmissionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; }; -/** The connection type for UserItemAccessGrant. */ -export type UserItemAccessGrantConnection = Paginated & { - __typename?: 'UserItemAccessGrantConnection'; - /** A list of edges. */ - edges: Array; - /** A list of nodes. */ - nodes: Array; - /** Information to aid in pagination. */ - pageInfo: PageInfo; -}; -/** An edge in a connection. */ -export type UserItemAccessGrantEdge = { - __typename?: 'UserItemAccessGrantEdge'; - /** A cursor for use in pagination. */ - cursor: Scalars['String']['output']; - /** The item at the end of the edge. */ - node: UserItemAccessGrant; +/** + * The entry point for retrieving data from within the Meru API. + * + */ +export type QueryUserArgs = { + slug: Scalars['Slug']['input']; }; -/** Sort users by a specific property and order */ -export type UserOrder = - /** Sort users with admins pushed to the top, followed by name A-Z */ - | 'ADMINS_FIRST' - /** Sort users with admins pushed to the bottom, followed by name Z-A */ - | 'ADMINS_LAST' - /** Sort users with admins pushed to the bottom, followed by `OLDEST` */ - | 'ADMINS_OLDEST' - /** Sort users with admins pushed to the top, followed by recent */ - | 'ADMINS_RECENT' - /** Sort users by their email A-Z */ - | 'EMAIL_ASCENDING' - /** Sort users by their email Z-A */ - | 'EMAIL_DESCENDING' - /** Sort users by their name A-Z */ - | 'NAME_ASCENDING' - /** Sort users by their name Z-A */ - | 'NAME_DESCENDING' - /** Sort users by oldest created date */ - | 'OLDEST' - /** Sort users by newest created date */ - | 'RECENT' - | '%future added value'; /** - * A mapping of attributes for a user to update in the authentication provider. + * The entry point for retrieving data from within the Meru API. * */ -export type UserProfileInput = { - email: Scalars['String']['input']; - familyName: Scalars['String']['input']; - givenName: Scalars['String']['input']; - username: Scalars['String']['input']; +export type QueryUsersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + prefix?: InputMaybe; }; -/** Autogenerated input type of UserResetPassword */ -export type UserResetPasswordInput = { +/** + * An entity which can be limited in its visibility, based on some configured attributes. + * + */ +export type ReferencesEntityVisibility = { /** - * The keycloak client used to authenticate users associated with the current `location`. - * - * Must be provided. + * Whether the entity is _currently_ hidden, based on the server's time zone. * */ - clientId: Scalars['String']['input']; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: InputMaybe; + currentlyHidden: Scalars['Boolean']['output']; /** - * Which location the user should be sent back to once completing - * the reset password flow. - * - * It is used in concert with `redirectPath` in order to build the - * actual URL. + * Whether the entity is _currently_ visible, based on the server's time zone. * */ - location: ClientLocation; + currentlyVisible: Scalars['Boolean']['output']; /** - * The redirect path on the `location` to redirect the user to. - * - * Must be a **relative** URI like `"/foo/bar/baz"`. `"/"` is the minimum acceptable. + * Whether the entity's visibility is set to `HIDDEN` * */ - redirectPath: Scalars['String']['input']; + hidden: Scalars['Boolean']['output']; /** - * Specify a user to send reset password instructions for. - * - * If left blank, it will send reset password instructions for the current user. + * Specify a time to check to see if the entity will be hidden. * */ - userId?: InputMaybe; -}; - -/** Autogenerated return type of UserResetPassword. */ -export type UserResetPasswordPayload = StandardMutationPayload & { - __typename?: 'UserResetPasswordPayload'; - attributeErrors: Array; - /** A unique identifier for the client performing the mutation. */ - clientMutationId?: Maybe; - /** @deprecated Use attributeErrors or globalErrors */ - errors: Array; - globalErrors: Array; - /** Not presently used */ - haltCode?: Maybe; + hiddenAsOf: Scalars['Boolean']['output']; + /** If present, this is the timestamp the entity was hidden at */ + hiddenAt?: Maybe; + /** If an entity is available in the frontend */ + visibility: EntityVisibility; /** - * Whether or not instructions were successfully sent. + * Whether the entity's visibility is set to `VISIBLE`. * */ - success?: Maybe; + visible: Scalars['Boolean']['output']; + /** If present, this is the timestamp an entity is visible after */ + visibleAfterAt?: Maybe; /** - * The user whose password was reset. Handy for showing the email that it was sent to. + * Specify a time to check to see if the entity will be visible. * */ - user?: Maybe; + visibleAsOf: Scalars['Boolean']['output']; + /** If present, this is the timestamp an entity is visible until */ + visibleUntilAt?: Maybe; }; -export type VariableDateProperty = ScalarProperty & SchemaProperty & SearchableProperty & { - __typename?: 'VariableDateProperty'; - /** - * Provided for introspection. This describes whether or not the property's value - * comes in an array rather than representing a discrete piece of information. - * - * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` - * for examples. - * - */ - array: Scalars['Boolean']['output']; - dateWithPrecision?: Maybe; - description?: Maybe; + +/** + * An entity which can be limited in its visibility, based on some configured attributes. + * + */ +export type ReferencesEntityVisibilityHiddenAsOfArgs = { + time?: InputMaybe; +}; + + +/** + * An entity which can be limited in its visibility, based on some configured attributes. + * + */ +export type ReferencesEntityVisibilityVisibleAsOfArgs = { + time?: InputMaybe; +}; + +/** + * An interface for retrieving certain shared, common variable-precision dates + * that are associated with events in the publication, collection, and release + * of an entity. + * + */ +export type ReferencesGlobalEntityDates = { + /** The date this entity was published */ + published: VariablePrecisionDate; +}; + +/** Autogenerated input type of RenderLayouts */ +export type RenderLayoutsInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * The full path that represents the property on the schema instance. It is guaranteed - * to be unique for the instance, and can be used to grab a property directly, as well as - * facilitating schema validation and errors within the admin application's forms. + * The entity to render layouts on. * */ - fullPath: Scalars['String']['output']; + entityId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of RenderLayouts. */ +export type RenderLayoutsPayload = StandardMutationPayload & { + __typename?: 'RenderLayoutsPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; /** - * The purpose or intent of this property relative to its entity, parents, and others. + * The newly-rendered entity with its updated layouts, if successful. * */ - function: SchemaPropertyFunction; + entity?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** + * An interface describing an instance type that can be rendered for a given entity. + * + */ +export type Renderable = { /** - * Whether to render a field as "wide" (two columns) in the form. - * This is intended to help structure forms logically, as well as - * provide ample space for certain types of data input, particularly - * full-text, markdown, and other such complex fields. + * The time this object was last rendered. * */ - isWide: Scalars['Boolean']['output']; + lastRenderedAt?: Maybe; +}; + +/** Autogenerated input type of ReparentEntity */ +export type ReparentEntityInput = { /** - * Provided for introspection. This describes the underlying structure of the data type. + * The collection in need of a new parent * */ - kind: SchemaPropertyKind; - label: Scalars['String']['output']; + childId: Scalars['ID']['input']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; /** - * Provided for introspection. Whether this property can be used to order entities. - * For certain data types, there's no sensible way to order properties. + * The ID for the new parent entity. For children of the collection type, this + * must be a community or another collection. For children of the item type, + * this must be a collection or another item. * */ - orderable: Scalars['Boolean']['output']; + parentId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of ReparentEntity. */ +export type ReparentEntityPayload = StandardMutationPayload & { + __typename?: 'ReparentEntityPayload'; + attributeErrors: Array; + /** If the child was successfully reparented, this field will be populated */ + child?: Maybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of ResetOrdering */ +export type ResetOrderingInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + orderingId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of ResetOrdering. */ +export type ResetOrderingPayload = StandardMutationPayload & { + __typename?: 'ResetOrderingPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + ordering?: Maybe; +}; + +/** Autogenerated input type of RevokeAccess */ +export type RevokeAccessInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + entityId: Scalars['ID']['input']; + roleId: Scalars['ID']['input']; + userId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of RevokeAccess. */ +export type RevokeAccessPayload = StandardMutationPayload & { + __typename?: 'RevokeAccessPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + entity?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** Whether or not access was revoked */ + revoked?: Maybe; +}; + +/** A named role in the Meru API */ +export type Role = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'Role'; + /** The access control list for this specific role */ + accessControlList: AccessControlList; + /** A list of action names that have been granted to this role */ + allowedActions: Array; /** - * The "short" path for the property. For properties nested within a group, this can - * be considered the name of the property without the group's prefix. + * Whether the current user has permission to destroy this record. * */ - path: Scalars['String']['output']; + canDestroy: AuthorizationResult; /** - * Whether or not this property is required in order for the schema instance - * to be considered valid. + * Whether the current user has permission to update this record. * - * Note: invalid data provided to a schema property will still invalidate - * the instance as a whole—the required trait only determines whether a value - * **must** be set. + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** Only relevant for `custom` roles, this affects sorting. */ + customPriority?: Maybe; + /** + * The global access control list that this assigned role implies, based on its sort order. * */ - required: Scalars['Boolean']['output']; - searchOperators: Array; - searchPath: Scalars['String']['output']; + globalAccessControlList: GlobalAccessControlList; /** - * Provided for introspection. This represents the actual data type this property - * uses. + * A list of global action names that this role implies, based on its sort order. * - * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and - * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, - * since the actual implementations of these properties differ in the GraphQL types - * associated with their values. + */ + globalAllowedActions: Array; + id: Scalars['ID']['output']; + /** + * For `system` roles, this will be populated with the unique identifier + * that marks this as a system role. * */ - type: SchemaPropertyType; + identifier?: Maybe; + /** + * The specific kind of role this is, based on how it entered the WDP-API. + * + */ + kind: RoleKind; + /** The human readable name of the role within the system */ + name: Scalars['String']['output']; + /** + * Surfaced from the accessControlList for convenience, these are returned as + * an array that allows a user to check for the state of all possible roles + * without having to specify them explicitly in the GraphQL request + * + */ + permissions: Array; + /** + * Used internally to sort roles and ensure certain role types are above + * and below others, irrespective of priority. + * + */ + primacy: RolePrimacy; + /** + * The calculated sort priority for this role. + * + * * For `custom` roles, it is based on `custom_priority`. + * * For `system` roles, it is based on hard-coded values within the system + * and cannot be modified. + * + */ + priority: Scalars['Int']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; }; -/** - * A wrapper around a date that allows us to describe a level of precision to apply to it, - * which can be used in the frontend to affect its display. - * - */ -export type VariablePrecisionDate = { - __typename?: 'VariablePrecisionDate'; - /** The level of precision: the frontend can make decisions about how to format the associated value based on this */ - precision: DatePrecision; - /** The actual date, encoded in ISO8601 format (if available) */ - value?: Maybe; +/** The connection type for Role. */ +export type RoleConnection = Paginated & { + __typename?: 'RoleConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type RoleEdge = { + __typename?: 'RoleEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: Role; }; /** - * A corresponding input type for VariablePrecisionDate. + * A categorization of a `Role` based on how it gets into the WDP-API. * */ -export type VariablePrecisionDateInput = { - /** The level of precision: the frontend can make decisions about how to format the associated value based on this */ - precision: DatePrecision; - /** The actual date, encoded in ISO8601 format (if available) */ - value?: InputMaybe; -}; +export type RoleKind = + /** + * Custom roles are created and managed through the `createRole`, `updateRole`, and `destroyRole` mutations. + * + */ + | 'CUSTOM' + /** + * System roles are shipped by default with WDP-API and cannot be modified. + * + */ + | 'SYSTEM' + | '%future added value'; +/** Sort roles by a specific property and order */ +export type RoleOrder = + /** Sort roles by default priority within the system */ + | 'DEFAULT' + /** Sort roles by their name A-Z */ + | 'NAME_ASCENDING' + /** Sort roles by their name Z-A */ + | 'NAME_DESCENDING' + /** Sort roles by oldest created date */ + | 'OLDEST' + /** Sort roles by newest created date */ + | 'RECENT' + | '%future added value'; +/** + * A grid of permissions related to role management in Meru. + * + * It lives in the `GlobalAccessControlList`. + * + * This does not determine anything about role _assignment_, + * for that, see the `manageAccess` permission in entity grids. + * Instead, the permissions here are solely related to managing + * role records themselves. + * + */ +export type RolePermissionGrid = CrudPermissionGrid & ExposesPermissions & PermissionGrid & { + __typename?: 'RolePermissionGrid'; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + create: Scalars['Boolean']['output']; + delete: Scalars['Boolean']['output']; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; + read: Scalars['Boolean']['output']; + update: Scalars['Boolean']['output']; +}; -export type ResolverTypeWrapper = Promise | T; +/** + * The level of importance any given role has when it comes to determing what a user's "primary" role is. + * + */ +export type RolePrimacy = + /** Values with this primacy level are the default. Any custom roles will be in this scope. */ + | 'DEFAULT' + /** Values with this primacy level take priority over all others. They cannot be directly assigned through the API. */ + | 'HIGH' + /** Values with this primacy level are always sorted after every other role. */ + | 'LOW' + | '%future added value'; +/** + * This will identify _which_ `system` role this is, if applicable. See `RoleKind` for more information. + * + */ +export type RoleSystemIdentifier = + /** + * A global administrator. This role cannot be directly assigned. + * + */ + | 'ADMIN' + /** + * An author can update and read its own entity, but does not have permissions to do anything else. + * + */ + | 'AUTHOR' + /** + * A depositor can read anything under its assigned hierarchy, and can also deposit new items and collections. + * + */ + | 'DEPOSITOR' + /** + * An editor has basic update permissions for a specific point in the hierarchy. + * + */ + | 'EDITOR' + /** + * A manager can be assigned to handle most `Community` and other entity management concerns. + * + * They can also appoint other roles (except for other managers) to any entity they manage. + * + */ + | 'MANAGER' + /** + * A reader is anyone who has been given explicit read-access to an entity. + * This role is primarily used by the administration UI. + * + * **Note**: Anonymous users can still view public entities in the frontend. + * + */ + | 'READER' + /** + * A reviewer can review any assigned entity as well as its subcollections and items. + * + */ + | 'REVIEWER' + | '%future added value'; -export type ResolverWithResolve = { - resolve: ResolverFn; +/** + * A property on a `SchemaInstance`. + * + */ +export type ScalarProperty = { + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + /** + * A human-readable description for the property. It should describe the purpose of the + * property as well as some details about the types of values it looks for. + * + * It can be rendered as help text, hints, etc. + * + */ + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. + * + */ + function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. + * + */ + isWide: Scalars['Boolean']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. + * + */ + kind: SchemaPropertyKind; + /** + * A human-readable label for the schema property. + * + */ + label: Scalars['String']['output']; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. + * + */ + orderable: Scalars['Boolean']['output']; + /** + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. + * + */ + path: Scalars['String']['output']; + /** + * Whether or not this property is required in order for the schema instance + * to be considered valid. + * + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. + * + */ + required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; }; -export type Resolver = ResolverFn | ResolverWithResolve; - -export type ResolverFn = ( - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo -) => Promise | TResult; -export type SubscriptionSubscribeFn = ( - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo -) => AsyncIterable | Promise>; +/** + * A schema definition is a logical grouping of `SchemaVersion`s that identifies + * only the shared kind, namespace, and identifier. The name is also most likely + * shared, although it can change between schema versions, and the value on the + * definition will default to whatever the most recent version uses. + * + */ +export type SchemaDefinition = CommonModel & CommonPermissions & DescribesSchema & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SchemaDefinition'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The full declaration for this schema, including namespace, identifier, and version (if available). + * + */ + declaration: Scalars['String']['output']; + id: Scalars['ID']['output']; + /** + * A unique (per-namespace) value that names the schema within the system. + * + */ + identifier: Scalars['String']['output']; + /** + * The kind of entity this schema applies to. + * + */ + kind: SchemaKind; + /** + * A human-readable name for the schema. + * + */ + name: Scalars['String']['output']; + /** + * A unique namespace the schema lives in. + * + */ + namespace: Scalars['String']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; -export type SubscriptionResolveFn = ( - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo -) => TResult | Promise; - -export interface SubscriptionSubscriberObject { - subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>; - resolve?: SubscriptionResolveFn; -} +/** The connection type for SchemaDefinition. */ +export type SchemaDefinitionConnection = Paginated & { + __typename?: 'SchemaDefinitionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; -export interface SubscriptionResolverObject { - subscribe: SubscriptionSubscribeFn; - resolve: SubscriptionResolveFn; -} +/** An edge in a connection. */ +export type SchemaDefinitionEdge = { + __typename?: 'SchemaDefinitionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SchemaDefinition; +}; -export type SubscriptionObject = - | SubscriptionSubscriberObject - | SubscriptionResolverObject; +/** + * Being an instance that implements a schema version with strongly-typed properties. + * Overlaps with Entity, but intended for focused access to just the properties + * and the necessary context. + * + */ +export type SchemaInstance = { + /** + * Expose all available entities for this schema property. + * + */ + availableEntitiesFor: Array; + /** + * The context for our schema instance. Includes form values and necessary referents. + * + */ + schemaInstanceContext: SchemaInstanceContext; + /** + * A list of schema properties associated with this instance or version. + * + */ + schemaProperties: Array; + /** + * Read a single schema property by its full path. + * + */ + schemaProperty?: Maybe; +}; -export type SubscriptionResolver = - | ((...args: any[]) => SubscriptionObject) - | SubscriptionObject; -export type TypeResolveFn = ( - parent: TParent, - context: TContext, - info: GraphQLResolveInfo -) => Maybe | Promise>; +/** + * Being an instance that implements a schema version with strongly-typed properties. + * Overlaps with Entity, but intended for focused access to just the properties + * and the necessary context. + * + */ +export type SchemaInstanceAvailableEntitiesForArgs = { + fullPath: Scalars['String']['input']; +}; -export type IsTypeOfResolverFn = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise; -export type NextResolverFn = () => Promise; +/** + * Being an instance that implements a schema version with strongly-typed properties. + * Overlaps with Entity, but intended for focused access to just the properties + * and the necessary context. + * + */ +export type SchemaInstanceSchemaPropertyArgs = { + fullPath: Scalars['String']['input']; +}; -export type DirectiveResolverFn = ( - next: NextResolverFn, - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo -) => TResult | Promise; +/** A context that describes the current state of the form */ +export type SchemaInstanceContext = { + __typename?: 'SchemaInstanceContext'; + assets: Array; + contributors: Array; + /** Not yet populated. May be used in the future. */ + defaultValues: Scalars['JSON']['output']; + /** The entity ID for this schema instance. */ + entityId: Scalars['ID']['output']; + /** The values for the schema form on this instance */ + fieldValues: Scalars['JSON']['output']; + /** The slug for the current schema version */ + schemaVersionSlug: Scalars['String']['output']; + /** Information about the validity of the schema instance */ + validity?: Maybe; +}; -/** Mapping of union types */ -export type ResolversUnionTypes> = { - AnyAccessGrant: ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); - AnyAsset: ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ); - AnyChildEntity: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); - AnyCollectionAccessGrant: ( UserCollectionAccessGrant ) | ( UserGroupCollectionAccessGrant ); - AnyCommunityAccessGrant: ( UserCommunityAccessGrant ) | ( UserGroupCommunityAccessGrant ); - AnyContributable: ( CollectionContribution ) | ( ItemContribution ); - AnyContribution: ( CollectionContribution ) | ( ItemContribution ); - AnyContributor: ( OrganizationContributor ) | ( PersonContributor ); - AnyContributorAttribution: ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ); - AnyEntity: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); - AnyHeroTemplateDefinition: ( HeroTemplateDefinition ); - AnyHeroTemplateInstance: ( HeroTemplateInstance ); - AnyListItemTemplateDefinition: ( ListItemTemplateDefinition ); - AnyListItemTemplateInstance: ( ListItemTemplateInstance ); - AnyMainTemplateDefinition: ( BlurbTemplateDefinition ) | ( ContributorListTemplateDefinition ) | ( DescendantListTemplateDefinition ) | ( DetailTemplateDefinition ) | ( LinkListTemplateDefinition ) | ( OrderingTemplateDefinition ) | ( PageListTemplateDefinition ); - AnyMainTemplateInstance: ( BlurbTemplateInstance ) | ( ContributorListTemplateInstance ) | ( DescendantListTemplateInstance ) | ( DetailTemplateInstance ) | ( LinkListTemplateInstance ) | ( OrderingTemplateInstance ) | ( PageListTemplateInstance ); - AnyMetadataTemplateDefinition: ( MetadataTemplateDefinition ); - AnyMetadataTemplateInstance: ( MetadataTemplateInstance ); - AnyNavigationTemplateDefinition: ( NavigationTemplateDefinition ); - AnyNavigationTemplateInstance: ( NavigationTemplateInstance ); - AnyOrderingPath: ( AncestorSchemaOrderingPath ) | ( AncestorStaticOrderingPath ) | ( SchemaOrderingPath ) | ( StaticOrderingPath ); - AnyScalarProperty: ( AssetProperty ) | ( AssetsProperty ) | ( BooleanProperty ) | ( ContributorProperty ) | ( ContributorsProperty ) | ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ) | ( DateProperty ) | ( EmailProperty ) | ( EntitiesProperty ) | ( EntityProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TagsProperty ) | ( TimestampProperty ) | ( UrlProperty ) | ( UnknownProperty ) | ( VariableDateProperty ); - AnySchemaProperty: ( AssetProperty ) | ( AssetsProperty ) | ( BooleanProperty ) | ( ContributorProperty ) | ( ContributorsProperty ) | ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ) | ( DateProperty ) | ( EmailProperty ) | ( EntitiesProperty ) | ( EntityProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( GroupProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TagsProperty ) | ( TimestampProperty ) | ( UrlProperty ) | ( UnknownProperty ) | ( VariableDateProperty ); - AnySupplementaryTemplateDefinition: ( SupplementaryTemplateDefinition ); - AnySupplementaryTemplateInstance: ( SupplementaryTemplateInstance ); - AnyUserAccessGrant: ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserItemAccessGrant ); - AnyUserGroupAccessGrant: ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ); - CollectionParent: ( Omit & { parent?: Maybe } ) | ( Community ); - ItemParent: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); +export type SchemaInstanceValidation = { + __typename?: 'SchemaInstanceValidation'; + errors: Array; + valid: Scalars['Boolean']['output']; + validatedAt: Scalars['ISO8601DateTime']['output']; }; -/** Mapping of interface types */ -export type ResolversInterfaceTypes> = { - AccessGrant: ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); - AccessGrantSubject: ( User ) | ( UserGroup ); - Accessible: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); - Asset: ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ); - Attachable: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); - Attributable: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); - Attribution: ( CollectionAttribution ) | ( ItemAttribution ); - CRUDPermissionGrid: ( AssetPermissionGrid ) | ( EntityPermissionGrid ); - ChildEntity: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); - Contributable: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); - Contribution: ( CollectionContribution ) | ( ItemContribution ); - ContributionBase: ( CollectionContribution ) | ( ItemContribution ) | ( TemplateContribution ); - Contributor: ( OrganizationContributor ) | ( PersonContributor ); - ContributorAttribution: ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ); - ContributorBase: ( OrganizationContributor ) | ( PersonContributor ); - DescribesSchema: ( HierarchicalSchemaRank ) | ( HierarchicalSchemaVersionRank ) | ( SchemaDefinition ) | ( SchemaVersion ); - DestroyMutationPayload: ( ControlledVocabularyDestroyPayload ) | ( DestroyAnnouncementPayload ) | ( DestroyAssetPayload ) | ( DestroyCollectionPayload ) | ( DestroyCommunityPayload ) | ( DestroyContributionPayload ) | ( DestroyContributorPayload ) | ( DestroyEntityLinkPayload ) | ( DestroyItemPayload ) | ( DestroyOrderingPayload ) | ( DestroyPagePayload ) | ( EntityPurgePayload ) | ( HarvestMappingDestroyPayload ) | ( HarvestMetadataMappingDestroyPayload ) | ( HarvestSourceDestroyPayload ) | ( PermalinkDestroyPayload ); - Entity: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); - EntityBase: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); - ExposesEffectiveAccess: ( Role ); - ExposesPermissions: ( AccessControlList ) | ( AssetPermissionGrid ) | ( Omit & { parent?: Maybe } ) | ( Community ) | ( ContextualPermission ) | ( EffectiveAccess ) | ( EntityPermissionGrid ) | ( GlobalAccessControlList ) | ( Omit & { parent?: Maybe } ) | ( User ); - HarvestAttemptable: ( HarvestMapping ) | ( HarvestSource ); - HarvestTarget: ( Omit & { parent?: Maybe } ) | ( Community ); - HasAttachmentStorage: ( ImageAttachment ) | ( ImageOriginal ) | ( SiteLogoAttachment ); - HasAvailableEntities: ( EntitiesProperty ) | ( EntityProperty ); - HasControlledVocabulary: ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ); - HasDOI: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); - HasDefaultTimestamps: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); - HasEntityAnalytics: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); - HasEntityBreadcrumbs: ( Omit & { parent?: Maybe } ) | ( Community ) | ( EntitySelectOption ) | ( Omit & { parent?: Maybe } ); - HasHarvestErrors: ( HarvestAttempt ) | ( HarvestRecord ); - HasHarvestExtractionMappingTemplate: ( HarvestAttempt ) | ( HarvestMapping ) | ( HarvestSource ); - HasHarvestMetadataFormat: ( HarvestAttempt ) | ( HarvestMapping ) | ( HarvestRecord ) | ( HarvestSource ); - HasHarvestModificationStatus: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ) | ( OrganizationContributor ) | ( PersonContributor ); - HasHarvestOptions: ( HarvestMapping ) | ( HarvestSource ); - HasSchemaProperties: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ) | ( SchemaVersion ); - Image: ( ImageDerivative ) | ( ImageOriginal ); - ImageIdentification: ( ImageAttachment ) | ( ImageDerivative ) | ( ImageOriginal ) | ( ImageSize ) | ( SiteLogoAttachment ); - LayoutDefinition: ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ); - LayoutInstance: ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ); - Node: ( Announcement ) | ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ) | ( BlurbTemplateDefinition ) | ( BlurbTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( CollectionAttribution ) | ( CollectionContribution ) | ( Community ) | ( ContextualPermission ) | ( ContributionRoleConfiguration ) | ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ) | ( ContributorListTemplateDefinition ) | ( ContributorListTemplateInstance ) | ( ControlledVocabulary ) | ( ControlledVocabularyItem ) | ( ControlledVocabularySource ) | ( DescendantListTemplateDefinition ) | ( DescendantListTemplateInstance ) | ( DetailTemplateDefinition ) | ( DetailTemplateInstance ) | ( EntityBreadcrumb ) | ( EntityLink ) | ( GlobalConfiguration ) | ( HarvestAttempt ) | ( HarvestAttemptEntityStatus ) | ( HarvestAttemptRecordStatus ) | ( HarvestEntity ) | ( HarvestError ) | ( HarvestMapping ) | ( HarvestMessage ) | ( HarvestMetadataMapping ) | ( HarvestRecord ) | ( HarvestSet ) | ( HarvestSource ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( HeroTemplateDefinition ) | ( HeroTemplateInstance ) | ( HierarchicalSchemaRank ) | ( HierarchicalSchemaVersionRank ) | ( Omit & { parent?: Maybe } ) | ( ItemAttribution ) | ( ItemContribution ) | ( LinkListTemplateDefinition ) | ( LinkListTemplateInstance ) | ( LinkTargetCandidate ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( ListItemTemplateDefinition ) | ( ListItemTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( MetadataTemplateDefinition ) | ( MetadataTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( NavigationTemplateDefinition ) | ( NavigationTemplateInstance ) | ( Ordering ) | ( OrderingEntry ) | ( OrderingTemplateDefinition ) | ( OrderingTemplateInstance ) | ( OrganizationContributor ) | ( Page ) | ( PageListTemplateDefinition ) | ( PageListTemplateInstance ) | ( Permalink ) | ( PersonContributor ) | ( Role ) | ( SchemaDefinition ) | ( SchemaVersion ) | ( SearchResult ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( SupplementaryTemplateDefinition ) | ( SupplementaryTemplateInstance ) | ( TemplateInstanceSibling ) | ( User ) | ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroup ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); - OptionableProperty: ( MultiselectProperty ) | ( SelectProperty ); - OrderingEntryable: ( Omit & { parent?: Maybe } ) | ( Community ) | ( EntityLink ) | ( Omit & { parent?: Maybe } ); - OrderingPath: ( AncestorSchemaOrderingPath ) | ( AncestorStaticOrderingPath ) | ( SchemaOrderingPath ) | ( StaticOrderingPath ); - Paginated: ( AnnouncementConnection ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( AssetConnection ) | ( CollectionConnection ) | ( CollectionContributionConnection ) | ( CommunityConnection ) | ( ContextualPermissionConnection ) | ( ContributorAttributionConnection ) | ( ControlledVocabularyConnection ) | ( ControlledVocabularySourceConnection ) | ( EntityDescendantConnection ) | ( EntityLinkConnection ) | ( HarvestAttemptConnection ) | ( HarvestMappingConnection ) | ( HarvestMessageConnection ) | ( HarvestMetadataMappingConnection ) | ( HarvestRecordConnection ) | ( HarvestSetConnection ) | ( HarvestSourceConnection ) | ( ItemConnection ) | ( ItemContributionConnection ) | ( LinkTargetCandidateConnection ) | ( OrderingConnection ) | ( OrderingEntryConnection ) | ( PageConnection ) | ( PermalinkConnection ) | ( RoleConnection ) | ( SchemaDefinitionConnection ) | ( SchemaVersionConnection ) | ( SearchResultConnection ) | ( UserCollectionAccessGrantConnection ) | ( UserCommunityAccessGrantConnection ) | ( UserConnection ) | ( UserGroupCollectionAccessGrantConnection ) | ( UserGroupCommunityAccessGrantConnection ) | ( UserGroupItemAccessGrantConnection ) | ( UserItemAccessGrantConnection ); - Permalinkable: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); - PermissionGrid: ( AssetPermissionGrid ) | ( EntityPermissionGrid ); - QueriesAccessAndRoles: ( Query ); - QueriesContrib: ( Query ); - QueriesControlledVocabulary: ( Query ); - QueriesControlledVocabularySource: ( Query ); - QueriesEntities: ( Query ); - QueriesHarvestAttempt: ( Query ); - QueriesHarvestExample: ( Query ); - QueriesHarvestMapping: ( Query ); - QueriesHarvestMessage: ( HarvestAttempt ) | ( HarvestEntity ) | ( HarvestMapping ) | ( HarvestRecord ) | ( HarvestSource ) | ( Query ); - QueriesHarvestRecord: ( Query ); - QueriesHarvestSet: ( Query ); - QueriesHarvestSource: ( Query ); - QueriesPermalink: ( Query ); - QueriesSchemas: ( Query ); - QueriesSystem: ( Query ); - QueriesUser: ( Query ); - ReferencesEntityVisibility: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); - ReferencesGlobalEntityDates: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); - Renderable: ( BlurbTemplateInstance ) | ( ContributorListTemplateInstance ) | ( DescendantListTemplateInstance ) | ( DetailTemplateInstance ) | ( Omit & { templates: Array } ) | ( HeroTemplateInstance ) | ( LinkListTemplateInstance ) | ( Omit & { templates: Array } ) | ( ListItemTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( MetadataTemplateInstance ) | ( Omit & { templates: Array } ) | ( NavigationTemplateInstance ) | ( OrderingTemplateInstance ) | ( PageListTemplateInstance ) | ( Omit & { templates: Array } ) | ( SupplementaryTemplateInstance ); - ScalarProperty: ( AssetProperty ) | ( AssetsProperty ) | ( BooleanProperty ) | ( ContributorProperty ) | ( ContributorsProperty ) | ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ) | ( DateProperty ) | ( EmailProperty ) | ( EntitiesProperty ) | ( EntityProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TagsProperty ) | ( TimestampProperty ) | ( UrlProperty ) | ( UnknownProperty ) | ( VariableDateProperty ); - SchemaInstance: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); - SchemaProperty: ( AssetProperty ) | ( AssetsProperty ) | ( BooleanProperty ) | ( ContributorProperty ) | ( ContributorsProperty ) | ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ) | ( DateProperty ) | ( EmailProperty ) | ( EntitiesProperty ) | ( EntityProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( GroupProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TagsProperty ) | ( TimestampProperty ) | ( UrlProperty ) | ( UnknownProperty ) | ( VariableDateProperty ); - Searchable: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ) | ( Ordering ) | ( Query ) | ( SchemaVersion ); - SearchableProperty: ( BooleanProperty ) | ( DateProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SearchableCoreProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TimestampProperty ) | ( VariableDateProperty ); - Sluggable: ( Announcement ) | ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ) | ( BlurbTemplateDefinition ) | ( BlurbTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( CollectionAttribution ) | ( CollectionContribution ) | ( Community ) | ( ContextualPermission ) | ( ContributionRoleConfiguration ) | ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ) | ( ContributorListTemplateDefinition ) | ( ContributorListTemplateInstance ) | ( ControlledVocabulary ) | ( ControlledVocabularyItem ) | ( ControlledVocabularySource ) | ( DescendantListTemplateDefinition ) | ( DescendantListTemplateInstance ) | ( DetailTemplateDefinition ) | ( DetailTemplateInstance ) | ( EntityLink ) | ( HarvestAttempt ) | ( HarvestAttemptEntityStatus ) | ( HarvestAttemptRecordStatus ) | ( HarvestEntity ) | ( HarvestError ) | ( HarvestMapping ) | ( HarvestMessage ) | ( HarvestMetadataMapping ) | ( HarvestRecord ) | ( HarvestSet ) | ( HarvestSource ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( HeroTemplateDefinition ) | ( HeroTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( ItemAttribution ) | ( ItemContribution ) | ( LinkListTemplateDefinition ) | ( LinkListTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( ListItemTemplateDefinition ) | ( ListItemTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( MetadataTemplateDefinition ) | ( MetadataTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( NavigationTemplateDefinition ) | ( NavigationTemplateInstance ) | ( Ordering ) | ( OrderingEntry ) | ( OrderingTemplateDefinition ) | ( OrderingTemplateInstance ) | ( OrganizationContributor ) | ( PageListTemplateDefinition ) | ( PageListTemplateInstance ) | ( Permalink ) | ( PersonContributor ) | ( Role ) | ( SchemaDefinition ) | ( SchemaVersion ) | ( SearchResult ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( SupplementaryTemplateDefinition ) | ( SupplementaryTemplateInstance ) | ( TemplateInstanceSibling ) | ( User ) | ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroup ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); - StandardMutationPayload: ( Omit & { entity?: Maybe } ) | ( Omit & { entity?: Maybe } ) | ( ControlledVocabularyDestroyPayload ) | ( ControlledVocabularySourceUpdatePayload ) | ( ControlledVocabularyUpsertPayload ) | ( CreateAnnouncementPayload ) | ( Omit & { asset?: Maybe } ) | ( CreateCollectionPayload ) | ( CreateCommunityPayload ) | ( CreateItemPayload ) | ( CreateOrderingPayload ) | ( CreateOrganizationContributorPayload ) | ( CreatePagePayload ) | ( CreatePersonContributorPayload ) | ( CreateRolePayload ) | ( DestroyAnnouncementPayload ) | ( DestroyAssetPayload ) | ( DestroyCollectionPayload ) | ( DestroyCommunityPayload ) | ( DestroyContributionPayload ) | ( DestroyContributorPayload ) | ( DestroyEntityLinkPayload ) | ( DestroyItemPayload ) | ( DestroyOrderingPayload ) | ( DestroyPagePayload ) | ( EntityPurgePayload ) | ( FrontendCacheRevalidateEntityPayload ) | ( FrontendCacheRevalidateInstancePayload ) | ( Omit & { entity?: Maybe } ) | ( HarvestAttemptFromMappingPayload ) | ( HarvestAttemptFromSourcePayload ) | ( HarvestAttemptPruneEntitiesPayload ) | ( HarvestMappingCreatePayload ) | ( HarvestMappingDestroyPayload ) | ( HarvestMappingUpdatePayload ) | ( HarvestMetadataMappingCreatePayload ) | ( HarvestMetadataMappingDestroyPayload ) | ( HarvestSourceCreatePayload ) | ( HarvestSourceDestroyPayload ) | ( HarvestSourcePruneEntitiesPayload ) | ( HarvestSourceUpdatePayload ) | ( LinkEntityPayload ) | ( PermalinkCreatePayload ) | ( PermalinkDestroyPayload ) | ( PermalinkUpdatePayload ) | ( PreviewSlotPayload ) | ( Omit & { entity?: Maybe } ) | ( Omit & { child?: Maybe } ) | ( ResetOrderingPayload ) | ( Omit & { entity?: Maybe } ) | ( UpdateAnnouncementPayload ) | ( Omit & { asset?: Maybe } ) | ( Omit & { asset?: Maybe } ) | ( UpdateCollectionPayload ) | ( UpdateCommunityPayload ) | ( Omit & { contribution?: Maybe } ) | ( UpdateGlobalConfigurationPayload ) | ( UpdateItemPayload ) | ( UpdateOrderingPayload ) | ( UpdateOrganizationContributorPayload ) | ( UpdatePagePayload ) | ( UpdatePersonContributorPayload ) | ( UpdateRolePayload ) | ( UpdateUserPayload ) | ( UpdateViewerSettingsPayload ) | ( Omit & { contribution?: Maybe } ) | ( UserResetPasswordPayload ); - TemplateDefinition: ( BlurbTemplateDefinition ) | ( ContributorListTemplateDefinition ) | ( DescendantListTemplateDefinition ) | ( DetailTemplateDefinition ) | ( HeroTemplateDefinition ) | ( LinkListTemplateDefinition ) | ( ListItemTemplateDefinition ) | ( MetadataTemplateDefinition ) | ( NavigationTemplateDefinition ) | ( OrderingTemplateDefinition ) | ( PageListTemplateDefinition ) | ( SupplementaryTemplateDefinition ); - TemplateHasContributionList: ( ContributorListTemplateInstance ); - TemplateHasEntityList: ( DescendantListTemplateInstance ) | ( LinkListTemplateInstance ) | ( ListItemTemplateInstance ); - TemplateHasOrderingPair: ( OrderingTemplateInstance ); - TemplateHasSeeAllOrdering: ( DescendantListTemplateInstance ) | ( LinkListTemplateInstance ) | ( ListItemTemplateInstance ); - TemplateInstance: ( BlurbTemplateInstance ) | ( ContributorListTemplateInstance ) | ( DescendantListTemplateInstance ) | ( DetailTemplateInstance ) | ( HeroTemplateInstance ) | ( LinkListTemplateInstance ) | ( ListItemTemplateInstance ) | ( MetadataTemplateInstance ) | ( NavigationTemplateInstance ) | ( OrderingTemplateInstance ) | ( PageListTemplateInstance ) | ( SupplementaryTemplateInstance ); - TemplateSlotDefinition: ( TemplateSlotBlockDefinition ) | ( TemplateSlotInlineDefinition ); - TemplateSlotInstance: ( TemplateSlotBlockInstance ) | ( TemplateSlotInlineInstance ); - UserAccessGrant: ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserItemAccessGrant ); - UserGroupAccessGrant: ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ); +/** The kind of entity a schema applies to */ +export type SchemaKind = + | 'COLLECTION' + | 'COMMUNITY' + | 'ITEM' + | '%future added value'; + +/** + * This ordering path represents a schema property and is variably + * available based on whether matched entities' schemas implement it. + * + */ +export type SchemaOrderingPath = OrderingPath & { + __typename?: 'SchemaOrderingPath'; + /** A helpful description of the path */ + description?: Maybe; + /** A logical grouping for ordering paths */ + grouping: OrderingPathGrouping; + /** A human-readable label for the path */ + label: Scalars['String']['output']; + /** + * Some paths may have a prefix. For instance, schema properties will have the name of the schema. + * + */ + labelPrefix?: Maybe; + /** The exact path that should be provided to mutation inputs. */ + path: Scalars['String']['output']; + schemaVersion: SchemaVersion; + /** The schema property type */ + type: SchemaPropertyType; }; -/** Mapping between all available schema types and the resolvers types */ -export type ResolversTypes = { - AccessControlList: ResolverTypeWrapper; +/** + * A property on a `SchemaInstance`. + * + */ +export type SchemaProperty = { + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + /** + * A human-readable description for the property. It should describe the purpose of the + * property as well as some details about the types of values it looks for. + * + * It can be rendered as help text, hints, etc. + * + */ + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. + * + */ + kind: SchemaPropertyKind; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. + * + */ + orderable: Scalars['Boolean']['output']; + /** + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. + * + */ + path: Scalars['String']['output']; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; +}; + +/** Schema properties can serve various functions. This helps communicate the purpose of them, for building UIs, and general introspection. */ +export type SchemaPropertyFunction = + /** + * This property acts as data inherently representative of the entity. Full text of an article, titling, and other such purposes. + * + */ + | 'CONTENT' + /** + * This property is intended to offer further information about the content, but not necessarily the content itself. + * Most metadata should be things that are filterable or searchable to help users find and learn more about related + * content. + * + */ + | 'METADATA' + /** + * This property is used for presenting information *about* the content, or how it should be formatted, but is less reflective + * of the content itself. An option for changing a specific render style, an additional image to display, etc. + * + */ + | 'PRESENTATION' + /** + * This property is only used when ordering this entity by ancestors. It should not generally be visible in the frontend, but + * remain editable by admins to adjust ordering. + * + */ + | 'SORTING' + /** + * This property's purpose remains unspecified and is likely the mark of a schema still in development. It should not generally + * be in a finished schema, as it is important to help communicate the intent of a property for those building a UI. + * + */ + | 'UNSPECIFIED' + | '%future added value'; + +/** + * The _kind_ of a data type for a schema property. Mostly informational + * in the API, this value represents the underlying structure of the data type. + * + */ +export type SchemaPropertyKind = + /** + * A complex data type that is composed of multiple subproperties + * or requires other processing. Their values cannot be easily + * mapped to GraphQL / JavaScript primitives. + * + * See `VariableDateProperty`, `FullTextProperty` for examples. + * + */ + | 'COMPLEX' + /** A composite of other properties. See `GroupProperty` */ + | 'GROUP' + /** + * A reference (or references) to other models in the system. + * + * See `AssetProperty`, `ContributorsProperty` for examples + * + */ + | 'REFERENCE' + /** + * The most common type of property, and what most values are likely to be. Strings, + * integers, floats, booleans, and so on. + * + */ + | 'SIMPLE' + | '%future added value'; + +/** The data type for a schema property. */ +export type SchemaPropertyType = + /** A reference to a single asset owned by the schema instance. See `AssetProperty` */ + | 'ASSET' + /** A reference to multiple assets owned by the schema instance. See `AssetsProperty` */ + | 'ASSETS' + /** True or false, yes or no, a checkbox. See `BooleanProperty` */ + | 'BOOLEAN' + /** A reference to a single contributor in the system. See `ContributorProperty` */ + | 'CONTRIBUTOR' + /** A reference to multiple contributors in the system. See `ContributorsProperty` */ + | 'CONTRIBUTORS' + | 'CONTROLLED_VOCABULARIES' + | 'CONTROLLED_VOCABULARY' + /** An ISO8601-formatted date. See `DateProperty` */ + | 'DATE' + /** An email address. See `EmailProperty` */ + | 'EMAIL' + /** A reference to multiple entities. See `EntitiesProperty` */ + | 'ENTITIES' + /** A reference to a single entity. See `EntityProperty` */ + | 'ENTITY' + /** A decimal / floating-point number. See `FloatProperty` */ + | 'FLOAT' + /** A complex type representing textual content. See `FullTextProperty` */ + | 'FULL_TEXT' + /** A type composed of other properties. See `GroupProperty` */ + | 'GROUP' + /** A whole number. See `IntegerProperty` */ + | 'INTEGER' + /** Markdown-formatted text. See `MarkdownProperty` */ + | 'MARKDOWN' + /** A dropdown that supports selecting multiple values. See `MultiselectProperty` */ + | 'MULTISELECT' + /** A dropdown that can select only one value. See `SelectProperty` */ + | 'SELECT' + /** Simple text values. See `StringProperty` */ + | 'STRING' + /** An array of tags that can be introspected. See `TagsProperty` */ + | 'TAGS' + /** An ISO8601-formatted timestamp. See `TimestampProperty` */ + | 'TIMESTAMP' + /** A fallback type for invalid schemas. See `UnknownProperty` */ + | 'UNKNOWN' + /** A complex type representing a URL, with metadata. See `URLProperty` */ + | 'URL' + /** A complex type representing a date that cannot be expressed exactly. See `VariableDateProperty` */ + | 'VARIABLE_DATE' + | '%future added value'; + +/** + * Configuration for controlling how instances of a schema render outside of orderings. + * + */ +export type SchemaRenderDefinition = { + __typename?: 'SchemaRenderDefinition'; + /** How to render a list */ + listMode: SchemaRenderListMode; +}; + +/** + * How instances that implement a certain schema should be rendered outside of an ordering, + * when rendering only entities for the same type of schema. + * + * This value is currently only intended to be used by the frontend. It enforces no special + * handling within the API itself, unlike an `OrderingRenderModeType`. + * + */ +export type SchemaRenderListMode = + | 'GRID' + | 'TABLE' + | 'TREE' + | '%future added value'; + +/** An error that stems from trying to apply an invalid schema value. */ +export type SchemaValueError = { + __typename?: 'SchemaValueError'; + /** + * An error with the entire set of values + * @deprecated Not presently used: see globalErrors + */ + base: Scalars['Boolean']['output']; + /** Whether this is a hint */ + hint: Scalars['Boolean']['output']; + /** A human-readable description of the error */ + message: Scalars['String']['output']; + /** Additional metadata attached to the error */ + metadata?: Maybe; + /** Which input value this error came from */ + path: Scalars['String']['output']; +}; + +/** + * A specific version of a `SchemaDefinition`. + * + */ +export type SchemaVersion = CommonModel & CommonPermissions & DescribesSchema & HasDefaultTimestamps & HasSchemaProperties & Node & Searchable & Sluggable & { + __typename?: 'SchemaVersion'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The full declaration for this schema, including namespace, identifier, and version (if available). + * + */ + declaration: Scalars['String']['output']; + /** + * Declarations / slugs for `enforcedChildVersions`. + * + */ + enforcedChildDeclarations: Array; + /** + * A list of entity kinds that make acceptable children for this schema. + * + */ + enforcedChildKinds: Array; + /** + * The versions that this schema accepts as a child. + * + * If there are no schemas, then this schema does not enforce its children. + * + */ + enforcedChildVersions: Array; + /** + * Declarations / slugs for `enforcedParentVersions`. + * + */ + enforcedParentDeclarations: Array; + /** + * A list of entity kinds that make acceptable parents for this schema. + * + */ + enforcedParentKinds: Array; + /** + * The versions that are allowed to parent this schema. + * + * If there are no schemas, then this schema does not enforce its parentage. + * + */ + enforcedParentVersions: Array; + /** A boolean for the logic on `enforcedChildVersions`. */ + enforcesChildren: Scalars['Boolean']['output']; + /** A boolean for the logic on `enforcedParentVersions`. */ + enforcesParent: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; + /** + * A unique (per-namespace) value that names the schema within the system. + * + */ + identifier: Scalars['String']['output']; + /** + * The kind of entity this schema applies to. + * + */ + kind: SchemaKind; + /** + * A human-readable name for the schema. + * + */ + name: Scalars['String']['output']; + /** + * A unique namespace the schema lives in. + * + */ + namespace: Scalars['String']['output']; + /** + * A semantic version for the schema + * + */ + number: Scalars['String']['output']; + /** + * Configuration for rendering schema instances outside of orderings. + * + */ + render: SchemaRenderDefinition; + /** + * The shared schema definition for all versions of this namespace and identifier. + * + */ + schemaDefinition: SchemaDefinition; + /** + * A list of schema properties associated with this instance or version. + * + */ + schemaProperties: Array; + /** Search from this level of the API using it as the origin */ + search: SearchScope; + /** + * A subset of properties that can be searched for this schema. + * + */ + searchableProperties: Array; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The versions that are allowed to be submitted to this schema. + * + */ + submittableVersions: Array; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + + +/** + * A specific version of a `SchemaDefinition`. + * + */ +export type SchemaVersionSearchArgs = { + maxDepth?: InputMaybe; + visibility?: InputMaybe; +}; + +/** The connection type for SchemaVersion. */ +export type SchemaVersionConnection = Paginated & { + __typename?: 'SchemaVersionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type SchemaVersionEdge = { + __typename?: 'SchemaVersionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SchemaVersion; +}; + +export type SchemaVersionOption = { + __typename?: 'SchemaVersionOption'; + identifier: Scalars['String']['output']; + kind: SchemaKind; + /** The label to display in a select box */ + label: Scalars['String']['output']; + name: Scalars['String']['output']; + namespace: Scalars['String']['output']; + schemaDefinition: SchemaDefinition; + schemaVersion: SchemaVersion; + /** The value to use in a select box */ + value: Scalars['String']['output']; +}; + +/** Order schema versions by various factors */ +export type SchemaVersionOrder = + /** Order with newest versions at the top */ + | 'LATEST' + /** Order with oldest versions at the top */ + | 'OLDEST' + | '%future added value'; + +/** + * These operators serve as keys for `SearchPredicateInput`. + * + */ +export type SearchOperator = + /** See `AndOperatorInput` */ + | 'and' + /** See `DateEqualsOperatorInput` */ + | 'dateEquals' + /** See `DateGTEOperatorInput` */ + | 'dateGTE' + /** See `DateLTEOperatorInput` */ + | 'dateLTE' + /** See `EqualsOperatorInput` */ + | 'equals' + /** See `InAnyOperatorInput` */ + | 'inAny' + /** See `MatchesOperatorInput` */ + | 'matches' + /** See `NumericGTEOperatorInput` */ + | 'numericGTE' + /** See `NumericLTEOperatorInput` */ + | 'numericLTE' + /** See `OrOperatorInput` */ + | 'or' + | '%future added value'; + +/** + * The type of origin for this search scope. + * + */ +export type SearchOriginType = + | 'ENTITY' + | 'GLOBAL' + | 'ORDERING' + | 'SCHEMA' + | '%future added value'; + +/** + * A predicate clause for searching entities. + * + * Each key corresponds to a `SearchOperator`, and multiple keys combined + * in the same predicate will be implicitly `AND`ed together. + * + */ +export type SearchPredicateInput = { + /** See `AndOperatorInput` */ + and?: InputMaybe; + /** See `DateEqualsOperatorInput` */ + dateEquals?: InputMaybe; + /** See `DateGTEOperatorInput` */ + dateGTE?: InputMaybe; + /** See `DateLTEOperatorInput` */ + dateLTE?: InputMaybe; + /** See `EqualsOperatorInput` */ + equals?: InputMaybe; + /** See `InAnyOperatorInput` */ + inAny?: InputMaybe; + /** See `MatchesOperatorInput` */ + matches?: InputMaybe; + /** See `NumericGTEOperatorInput` */ + numericGTE?: InputMaybe; + /** See `NumericLTEOperatorInput` */ + numericLTE?: InputMaybe; + /** See `OrOperatorInput` */ + or?: InputMaybe; +}; + +/** + * An entity that's the result of a search. + * + */ +export type SearchResult = Node & Sluggable & { + __typename?: 'SearchResult'; + /** + * A reference to the actual entity returned by the search query. + * + */ + entity: Entity; + /** + * The encoded ID that will point to the entity itself, not a special ID for the search result record. + * + */ + id: Scalars['ID']['output']; + /** + * The kind of entity returned by the search results. + * + */ + kind: EntityKind; + /** + * The schema version of the returned entity. + * + */ + schemaVersion: SchemaVersion; + /** + * The slug for the entity. + * + */ + slug: Scalars['Slug']['output']; + /** + * The title for the entity. + * + */ + title: Scalars['String']['output']; +}; + +/** The connection type for SearchResult. */ +export type SearchResultConnection = Paginated & { + __typename?: 'SearchResultConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type SearchResultEdge = { + __typename?: 'SearchResultEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SearchResult; +}; + +export type SearchScope = { + __typename?: 'SearchScope'; + /** + * The available schema versions underneath this search scope. + * + */ + availableSchemaVersions: Array; + coreProperties: Array; + originType: SearchOriginType; + /** + * The results of a search. + * + * You must specify one of the following options in order to activate a search: + * + * * `predicates` + * * `prefix` + * * `query` + * * `schema` + * + * If _none_ of these are set, the search will be considered empty, and return 0 results. + * + */ + results: SearchResultConnection; + visibility: EntityVisibilityFilter; +}; + + +export type SearchScopeResultsArgs = { + access?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + predicates?: InputMaybe>; + prefix?: InputMaybe; + query?: InputMaybe; + schema?: InputMaybe>; + scope?: InputMaybe; +}; + +export type Searchable = { + /** Search from this level of the API using it as the origin */ + search: SearchScope; +}; + + +export type SearchableSearchArgs = { + maxDepth?: InputMaybe; + visibility?: InputMaybe; +}; + +export type SearchableCoreProperty = SearchableProperty & { + __typename?: 'SearchableCoreProperty'; + description?: Maybe; + label: Scalars['String']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; +}; + +/** + * An interface for properties that can be searched. + * + */ +export type SearchableProperty = { + description?: Maybe; + label: Scalars['String']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; +}; + +/** An option for a select-type property. */ +export type SelectOption = { + __typename?: 'SelectOption'; + /** The display label for the option. */ + label: Scalars['String']['output']; + /** The underlying value for the option. */ + value: Scalars['String']['output']; +}; + +export type SelectProperty = OptionableProperty & ScalarProperty & SchemaProperty & SearchableProperty & { + __typename?: 'SelectProperty'; + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + defaultSelection?: Maybe; + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. + * + */ + function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. + * + */ + isWide: Scalars['Boolean']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. + * + */ + kind: SchemaPropertyKind; + label: Scalars['String']['output']; + /** The list of predefined options available for this property. */ + options: Array; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. + * + */ + orderable: Scalars['Boolean']['output']; + /** + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. + * + */ + path: Scalars['String']['output']; + /** + * Whether or not this property is required in order for the schema instance + * to be considered valid. + * + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. + * + */ + required: Scalars['Boolean']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; + selection?: Maybe; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; +}; + +/** + * An enumerated value associated with the templating subsystem. + * + */ +export type SelectionSourceMode = + /** + * Selections should inherit from a named ancestor of this entity. + * + */ + | 'ANCESTOR' + /** + * Selections should inherit from the hierarchical parent of this entity. + * + */ + | 'PARENT' + /** + * Selections should inherit from the exact entity in question + * + */ + | 'SELF' + | '%future added value'; + +/** + * Permissions related to managing global configuration settings in Meru. + * + */ +export type SettingsPermissionGrid = ExposesPermissions & PermissionGrid & { + __typename?: 'SettingsPermissionGrid'; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; + /** + * Whether the user can update global configuration settings in Meru. + * + */ + update: Scalars['Boolean']['output']; +}; + +/** + * The directionality of a sibling relationship, relative to a specific record (referred to as the 'source'). + * + */ +export type SiblingKind = + /** + * This sibling comes after the source record. + * + */ + | 'NEXT' + /** + * This sibling comes before the source record. + * + */ + | 'PREV' + | '%future added value'; + +/** + * A generic enum for sorting models that don't have anything more specific implemented. + * + */ +export type SimpleOrder = + /** + * Sort models by oldest created date. + * + */ + | 'OLDEST' + /** + * Sort models by newest created date. + * + */ + | 'RECENT' + | '%future added value'; + +/** + * A value for updating the site's configuration. + * + */ +export type SiteFooter = { + __typename?: 'SiteFooter'; + /** + * A copyright statement that lives in the site's footer. + * + */ + copyrightStatement: Scalars['String']['output']; + /** + * A description that lives in the site's footer. + * + */ + description: Scalars['String']['output']; +}; + +/** + * A value for updating the site's configuration. + * + */ +export type SiteFooterInput = { + /** + * A copyright statement that lives in the site's footer. + * + */ + copyrightStatement?: InputMaybe; + /** + * A description that lives in the site's footer. + * + */ + description?: InputMaybe; +}; + +/** An interface for accessing derivatives of the site logo (if present). */ +export type SiteLogoAttachment = HasAttachmentStorage & ImageIdentification & { + __typename?: 'SiteLogoAttachment'; + /** Alt text for accessible images */ + alt?: Maybe; + /** Configurable metadata for the image. */ + metadata?: Maybe; + /** The original source for the image */ + original: ImageOriginal; + /** + * The original filename, if one was detected during attachment. + * + * Filename detection is not always consistent across browsers, so this + * may not always be present, even with a valid attachment. + * + */ + originalFilename?: Maybe; + /** + * The intended purpose of this image attachment. This is intended to + * help fragments that operate solely on image subcomponents to have + * some context for what they are without extra work. + * + */ + purpose: ImagePurpose; + /** A logo intended to be used when the site title is hidden, constrained to 80px high with no width limit. */ + sansText: ImageSize; + /** + * This field describes how an attachment is stored in the system. If it is nil, there is no associated attachment for this field. + * Otherwise, see the documentation for AttachmentStorage to see what the individual fields mean. + * + */ + storage?: Maybe; + /** A logo intended to be used when the site title is visible, constrained to 80px wide by 80px high. */ + withText: ImageSize; +}; + +/** An option that determines how the site logo should be rendered */ +export type SiteLogoMode = + /** The site logo is unavailable. */ + | 'NONE' + /** The site logo should be displayed with the site title _hidden_. */ + | 'SANS_TEXT' + /** The site logo should be displayed with the site title _visible_. */ + | 'WITH_TEXT' + | '%future added value'; + +/** + * Configuration settings for information about this installation. + * + */ +export type SiteSettings = { + __typename?: 'SiteSettings'; + /** + * Settings related to the site's footer. + * + */ + footer: SiteFooter; + /** + * The text that appears on the root page of the frontend. Supports basic markdown. + * + */ + installationHomePageCopy: Scalars['String']['output']; + /** + * The name of the installation. + * + */ + installationName: Scalars['String']['output']; + /** + * How the logo should be rendered. + * + */ + logoMode: SiteLogoMode; + /** + * The name of the provider supporting and maintaining this installation. + * + */ + providerName: Scalars['String']['output']; +}; + +/** + * A value for updating the site's configuration. + * + */ +export type SiteSettingsInput = { + /** + * Settings for the site's footer. + * + */ + footer?: InputMaybe; + /** + * The text that appears on the root page of the frontend. Supports basic markdown. + * + */ + installationHomePageCopy?: InputMaybe; + /** + * The name of the installation. + * + */ + installationName?: InputMaybe; + /** + * How the logo should be rendered. + * + */ + logoMode?: InputMaybe; + /** + * The name of the provider supporting and maintaining this installation. + * + */ + providerName?: InputMaybe; +}; + +/** + * Objects have a serialized slug for looking them up in the system and generating links without UUIDs. + * + */ +export type Sluggable = { + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; +}; + +/** Most mutations implement this interface in their payload in order to offer a standardize response value */ +export type StandardMutationPayload = { + attributeErrors: Array; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** + * This property is static and is always available on an + * entity, irrespective of its schema. + * + */ +export type StaticOrderingPath = OrderingPath & { + __typename?: 'StaticOrderingPath'; + /** A helpful description of the path */ + description?: Maybe; + /** A logical grouping for ordering paths */ + grouping: OrderingPathGrouping; + /** A human-readable label for the path */ + label: Scalars['String']['output']; + /** + * Some paths may have a prefix. For instance, schema properties will have the name of the schema. + * + */ + labelPrefix?: Maybe; + /** The exact path that should be provided to mutation inputs. */ + path: Scalars['String']['output']; + /** The schema property type */ + type: SchemaPropertyType; +}; + +export type StringProperty = ScalarProperty & SchemaProperty & SearchableProperty & { + __typename?: 'StringProperty'; + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + content?: Maybe; + default?: Maybe; + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. + * + */ + function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. + * + */ + isWide: Scalars['Boolean']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. + * + */ + kind: SchemaPropertyKind; + label: Scalars['String']['output']; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. + * + */ + orderable: Scalars['Boolean']['output']; + /** + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. + * + */ + path: Scalars['String']['output']; + /** + * Whether or not this property is required in order for the schema instance + * to be considered valid. + * + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. + * + */ + required: Scalars['Boolean']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; +}; + +/** + * A submission against a `SubmissionTarget`, representing a single attempt + * to deposit an entity into the system. + * + */ +export type Submission = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'Submission'; + /** + * The timestamp of when the submitter accepted the agreement for this submission, if applicable. + * + */ + agreementAcceptedAt?: Maybe; + /** + * The state transitions that are available for this submission, + * based on its current state and the permissions of the current user. + * + */ + availableTransitions: Array; + /** + * Whether or not the current user can alter the schema version of this submission. + * + */ + canAlterSchemaVersion: AuthorizationResult; + /** + * Whether or not the current user can comment on this submission. + * + */ + canComment: AuthorizationResult; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether or not the current user can migrate this submission. + * + */ + canMigrate: AuthorizationResult; + /** + * Whether or not the current user can publish this submission. + * + */ + canPublish: AuthorizationResult; + /** + * Whether or not the current user can request a review of this submission. + * + */ + canRequestReview: AuthorizationResult; + /** + * Whether or not the current user can review this submission. + * + */ + canReview: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The current status of the submission, similar to `state` but with metadata about mutability and locking. + * + */ + currentStatus: SubmissionStatus; + /** + * The actual entity record that will be published as part of this submission. + * + * The actual edits and content for the entity happen on it. + * + */ + entity?: Maybe; + id: Scalars['ID']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The current state of the submission. + * + */ + state: SubmissionState; + /** + * The {SubmissionTarget} against which this submission is being made. + * + * It can be null if the submission gets moved away later after publication. + * + */ + submissionTarget?: Maybe; + /** + * The state transitions that this submission has undergone. + * + */ + transitions: SubmissionTransitionConnection; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user that created this submission. + * + */ + user: User; +}; + + +/** + * A submission against a `SubmissionTarget`, representing a single attempt + * to deposit an entity into the system. + * + */ +export type SubmissionTransitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * The record of a batch publication of one or more submissions within a submission target. + * + */ +export type SubmissionBatchPublication = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionBatchPublication'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + /** + * The list of submissions included in this batch publication. + * + */ + publications: Array; + /** + * The total number of submissions included in this batch publication. + * + */ + publicationsCount: Scalars['Int']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The current state of the batch publication process. + * + */ + state: SubmissionBatchPublicationState; + /** + * The submission target that the included submissions belong to. + * + */ + submissionTarget: SubmissionTarget; + /** + * The transitions that the batch publication process has gone through. + * + */ + transitions: SubmissionBatchPublicationTransitionConnection; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user that initiated the batch publication, if applicable. + * + */ + user?: Maybe; +}; + + +/** + * The record of a batch publication of one or more submissions within a submission target. + * + */ +export type SubmissionBatchPublicationTransitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * The state of a batch of submission publications. + * + */ +export type SubmissionBatchPublicationState = + /** + * The batch of submissions has been batched for publication and will be processed in the background. + * + */ + | 'BATCHED' + /** + * The batch of submissions has finished. + * + */ + | 'FINISHED' + /** + * The batch of submissions is pending publication. + * + */ + | 'PENDING' + | '%future added value'; + +/** + * A transition for a `SubmissionBatchPublication`. + * + */ +export type SubmissionBatchPublicationTransition = CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionBatchPublicationTransition'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The state that the submission batch publication is transitioning from. This will be null if the submission target is being created. + * + */ + fromState?: Maybe; + id: Scalars['ID']['output']; + /** + * Whether this is the most recent transition. + * + */ + mostRecent: Scalars['Boolean']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The state that the submission batch publication is transitioning to. + * + */ + toState: SubmissionBatchPublicationState; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user who performed the transition, if available. + * + * Some transitions may happen through automated processes, so the user will not always be set. + * + */ + user?: Maybe; +}; + +/** The connection type for SubmissionBatchPublicationTransition. */ +export type SubmissionBatchPublicationTransitionConnection = Paginated & { + __typename?: 'SubmissionBatchPublicationTransitionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** + * An edge in a connection for `SubmissionBatchPublicationTransition`. + * + */ +export type SubmissionBatchPublicationTransitionEdge = { + __typename?: 'SubmissionBatchPublicationTransitionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SubmissionBatchPublicationTransition; +}; + +/** Autogenerated input type of SubmissionBatchPublish */ +export type SubmissionBatchPublishInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The IDs of the submissions to publish. */ + submissionIds: Array; + /** The ID of the submission target that the submissions belong to. */ + submissionTargetId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionBatchPublish. */ +export type SubmissionBatchPublishPayload = StandardMutationPayload & { + __typename?: 'SubmissionBatchPublishPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** The submission batch publication that was created to track this process. */ + submissionBatchPublication?: Maybe; + /** The submission target that the submissions belong to. */ + submissionTarget?: Maybe; +}; + +/** Autogenerated input type of SubmissionChangeState */ +export type SubmissionChangeStateInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The ID of the {Submission} to update. + * + */ + submissionId: Scalars['ID']['input']; + /** + * The state to which the submission should be transitioned. + * + */ + toState: SubmissionState; +}; + +/** Autogenerated return type of SubmissionChangeState. */ +export type SubmissionChangeStatePayload = StandardMutationPayload & { + __typename?: 'SubmissionChangeStatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The modified submission, if successful. + * + */ + submission?: Maybe; +}; + +/** + * A comment on a `Submission`. + * + */ +export type SubmissionComment = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionComment'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** + * The content of the comment. + * + */ + content: Scalars['String']['output']; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + /** + * The role of the comment, quickly delineating if it was from the submitter or a reviewer. + * + */ + role: SubmissionCommentRole; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The submission that this comment is on. + * + */ + submission: Submission; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user that made this comment. + * + */ + user: User; +}; + +/** The connection type for SubmissionComment. */ +export type SubmissionCommentConnection = Paginated & { + __typename?: 'SubmissionCommentConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** Autogenerated input type of SubmissionCommentCreate */ +export type SubmissionCommentCreateInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The content of the comment. + * + */ + content: Scalars['String']['input']; + /** + * The ID of the `Submission` to which the comment will be attached. + * + */ + submissionId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionCommentCreate. */ +export type SubmissionCommentCreatePayload = StandardMutationPayload & { + __typename?: 'SubmissionCommentCreatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The newly-modified submission comment, if successful. + * + */ + submissionComment?: Maybe; +}; + +/** Autogenerated input type of SubmissionCommentDestroy */ +export type SubmissionCommentDestroyInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The submission comment to destroy. + * + */ + submissionCommentId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionCommentDestroy. */ +export type SubmissionCommentDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'SubmissionCommentDestroyPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** + * An edge in a connection for `SubmissionComment`. + * + */ +export type SubmissionCommentEdge = { + __typename?: 'SubmissionCommentEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SubmissionComment; +}; + +/** + * Filtering options for `SubmissionComment` records. + * + */ +export type SubmissionCommentFilterInput = { + /** + * Filter the model's `created_at` with time constraints. + * + */ + createdAt?: InputMaybe; + /** + * Filter the model's `updated_at` with time constraints. + * + */ + updatedAt?: InputMaybe; +}; + +/** + * Sort a collection of `SubmissionComment` records by specific properties and directions. + * + */ +export type SubmissionCommentOrder = + /** Sort submission comments by their default order. */ + | 'DEFAULT' + /** Sort submission comments by oldest created date. */ + | 'OLDEST' + /** Sort submission comments by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** + * The role of a commenter on a `SubmissionComment`. + * + */ +export type SubmissionCommentRole = + /** + * This comment is from a reviewer, manager, admin, or other user with privileges. + * + */ + | 'REVIEWER' + /** + * This comment is from the submitter. + * + */ + | 'SUBMITTER' + | '%future added value'; + +/** Autogenerated input type of SubmissionCommentUpdate */ +export type SubmissionCommentUpdateInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The content of the comment. + * + */ + content: Scalars['String']['input']; + /** + * The submission comment to update. + * + */ + submissionCommentId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionCommentUpdate. */ +export type SubmissionCommentUpdatePayload = StandardMutationPayload & { + __typename?: 'SubmissionCommentUpdatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The newly-modified submission comment, if successful. + * + */ + submissionComment?: Maybe; +}; + +/** The connection type for Submission. */ +export type SubmissionConnection = Paginated & { + __typename?: 'SubmissionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** Autogenerated input type of SubmissionCreate */ +export type SubmissionCreateInput = { + /** + * Whether or not the submitter has accepted the agreement for this submission. + * + * This must be true. + * + */ + agreementAccepted?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The ID of the parent entity for the submission. + * + * This is derived from one of the `depositTargets` of the specified `SubmissionTarget`. + * + */ + parentEntityId: Scalars['ID']['input']; + /** + * The ID of the {SchemaVersion} to be used for the submission. + * + */ + schemaVersionId: Scalars['ID']['input']; + /** + * The ID of the {SubmissionTarget} against which the submission is being made. + * + */ + submissionTargetId: Scalars['ID']['input']; + /** + * The title of the submission. + * + * This gets passed to the entity when it is built. + * + */ + title: Scalars['String']['input']; +}; + +/** Autogenerated return type of SubmissionCreate. */ +export type SubmissionCreatePayload = StandardMutationPayload & { + __typename?: 'SubmissionCreatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The newly-modified submission, if successful. + * + */ + submission?: Maybe; +}; + +/** + * The mode of deposit for a submission target. This defines where deposits are made + * relative to the entity specified by the submission target. + * + */ +export type SubmissionDepositMode = + /** + * Deposits to the submission target are made to a descendant of the specified entity. + * + * For instance, if the submission target is defined on a `nglp:journal`, + * deposits of an `nglp:journal_article` might be made to `nglp:journal_issue` + * entities that are descendants of the journal. + * + */ + | 'DESCENDANT' + /** + * Deposits on the submission target are made directly to the entity specified. + * + */ + | 'DIRECT' + | '%future added value'; + +/** + * A submission deposit target defines an actual target + * entity for submissions. For instance, a `SubmissionTarget` + * might be defined on an `nglp:journal`, but it defines a + * `SubmissionDepositTarget` that points to an `nglp:journal_issue`. + * + */ +export type SubmissionDepositTarget = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionDepositTarget'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The deposit mode of this submission deposit target. This indicates the relationship + * of the associated `entity` to this record's parent `SubmissionTarget`. + * + */ + depositMode: SubmissionDepositMode; + /** + * The entity that this submission deposit target points to. + * + */ + entity: Entity; + id: Scalars['ID']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +/** + * An edge in a connection for `Submission`. + * + */ +export type SubmissionEdge = { + __typename?: 'SubmissionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: Submission; +}; + +/** + * Filtering options for `Submission` records. + * + */ +export type SubmissionFilterInput = { + /** + * Filter the model's `created_at` with time constraints. + * + */ + createdAt?: InputMaybe; + /** + * Filter by in state. + * + */ + inState?: InputMaybe>; + /** + * Filter submissions to only those with the given parent entity(ies). + * + */ + parentEntityIds?: InputMaybe>; + /** + * Perform a full-text search to approximately match the provided string. + * + */ + prefix?: InputMaybe; + /** + * Perform a full-text search to approximately match the provided string. + * + */ + query?: InputMaybe; + /** + * Filter submissions to only those with the given schema version(s). + * + */ + schemaVersionIds?: InputMaybe>; + /** + * Filter submissions to only those with the given submission target(s). + * + */ + submissionTargetIds?: InputMaybe>; + /** + * Filter the model's `updated_at` with time constraints. + * + */ + updatedAt?: InputMaybe; + /** + * Filter submissions to only those created by the given user(s). + * + */ + userIds?: InputMaybe>; +}; + +/** Autogenerated input type of SubmissionLeaveReview */ +export type SubmissionLeaveReviewInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * An additional comment to store with the review proper. + * + */ + comment?: InputMaybe; + /** + * The submission to review. + * + */ + submissionId: Scalars['ID']['input']; + /** + * The submission state to be placed in. + * + */ + toState: SubmissionReviewState; +}; + +/** Autogenerated return type of SubmissionLeaveReview. */ +export type SubmissionLeaveReviewPayload = StandardMutationPayload & { + __typename?: 'SubmissionLeaveReviewPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The associated submission. + * + */ + submission?: Maybe; + /** + * The associated review. + * + */ + submissionReview?: Maybe; +}; + +/** + * Sort a collection of `Submission` records by specific properties and directions. + * + */ +export type SubmissionOrder = + /** Sort submissions by their default order. */ + | 'DEFAULT' + /** Sort submissions by oldest created date. */ + | 'OLDEST' + /** Sort submissions by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** + * The record of a `Submission`'s publication process. + * + */ +export type SubmissionPublication = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionPublication'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The state of the publication process. + * + */ + state: SubmissionPublicationState; + /** + * The submission that is being published. + * + */ + submission: Submission; + /** + * The transitions that the publication process has gone through. + * + */ + transitions: SubmissionPublicationTransitionConnection; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user that initiated the publication process, if applicable. + * + */ + user?: Maybe; +}; + + +/** + * The record of a `Submission`'s publication process. + * + */ +export type SubmissionPublicationTransitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** + * The state of a submission's publication. + * + */ +export type SubmissionPublicationState = + /** + * The submission has been batched for publication and will be processed in the background. + * + */ + | 'BATCHED' + /** + * The submission failed to publish. + * + */ + | 'FAILURE' + /** + * The submission is pending publication. + * + */ + | 'PENDING' + /** + * The submission has been successfully published. + * + */ + | 'SUCCESS' + | '%future added value'; + +/** + * A transition for a `SubmissionPublication`. + * + */ +export type SubmissionPublicationTransition = CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionPublicationTransition'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The state that the submission publication is transitioning from. This will be null if the submission target is being created. + * + */ + fromState?: Maybe; + id: Scalars['ID']['output']; + /** + * Whether this is the most recent transition. + * + */ + mostRecent: Scalars['Boolean']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The state that the submission publication is transitioning to. + * + */ + toState: SubmissionPublicationState; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user who performed the transition, if available. + * + * Some transitions may happen through automated processes, so the user will not always be set. + * + */ + user?: Maybe; +}; + +/** The connection type for SubmissionPublicationTransition. */ +export type SubmissionPublicationTransitionConnection = Paginated & { + __typename?: 'SubmissionPublicationTransitionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** + * An edge in a connection for `SubmissionPublicationTransition`. + * + */ +export type SubmissionPublicationTransitionEdge = { + __typename?: 'SubmissionPublicationTransitionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SubmissionPublicationTransition; +}; + +/** Autogenerated input type of SubmissionPublish */ +export type SubmissionPublishInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The ID for the submission to publish. + * + */ + submissionId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionPublish. */ +export type SubmissionPublishPayload = StandardMutationPayload & { + __typename?: 'SubmissionPublishPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** + * The entity that the published submission belongs to, if successful. + * + */ + entity?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The submission that was published, if successful. + * + */ + submission?: Maybe; + /** + * The actual record of the publication, if successful. + * + */ + submissionPublication?: Maybe; +}; + +/** Autogenerated input type of SubmissionRequestReview */ +export type SubmissionRequestReviewInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * An optional comment to store alongside the review. + * + */ + comment?: InputMaybe; + /** + * The submission to review. + * + */ + submissionId: Scalars['ID']['input']; + /** + * The id of the user to request the review from. + * + */ + userId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionRequestReview. */ +export type SubmissionRequestReviewPayload = StandardMutationPayload & { + __typename?: 'SubmissionRequestReviewPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The associated submission. + * + */ + submission?: Maybe; + /** + * The associated review. + * + */ + submissionReview?: Maybe; +}; + +/** + * A review of a `Submission` by a specific reviewer. + * + */ +export type SubmissionReview = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionReview'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** + * An optional note from the reviewer about this submission review. + * + */ + comment?: Maybe; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + /** + * The time that this submission review was last requested. + * + */ + requestedAt?: Maybe; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The current state of this submission review. + * + */ + state: SubmissionReviewState; + /** + * The submission that this is a review of. + * + */ + submission: Submission; + /** + * The state transitions that this submission review has undergone. + * + */ + transitions: SubmissionReviewTransitionConnection; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user that created this submission review, if any. + * + */ + user?: Maybe; +}; + + +/** + * A review of a `Submission` by a specific reviewer. + * + */ +export type SubmissionReviewTransitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** The connection type for SubmissionReview. */ +export type SubmissionReviewConnection = Paginated & { + __typename?: 'SubmissionReviewConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** + * An edge in a connection for `SubmissionReview`. + * + */ +export type SubmissionReviewEdge = { + __typename?: 'SubmissionReviewEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SubmissionReview; +}; + +/** + * Filtering options for `SubmissionReview` records. + * + */ +export type SubmissionReviewFilterInput = { + /** + * Filter the model's `created_at` with time constraints. + * + */ + createdAt?: InputMaybe; + /** + * Filter by in state. + * + */ + inState?: InputMaybe>; + /** + * Filter by multiple Submission. + * + */ + submissionIds?: InputMaybe>; + /** + * Filter the model's `updated_at` with time constraints. + * + */ + updatedAt?: InputMaybe; + /** + * Filter by multiple User. + * + */ + userIds?: InputMaybe>; +}; + +/** + * Sort a collection of `SubmissionReview` records by specific properties and directions. + * + */ +export type SubmissionReviewOrder = + /** Sort submission reviews by their default order. */ + | 'DEFAULT' + /** Sort submission reviews by oldest created date. */ + | 'OLDEST' + /** Sort submission reviews by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** + * The status of a specific reviewer's review on a submission. + * + */ +export type SubmissionReviewState = + /** + * The reviewer has approved the submission. + * + */ + | 'APPROVED' + /** + * The review is pending / requested and has not yet been acted upon. + * + */ + | 'PENDING' + /** + * The reviewer has rejected the submission. + * + */ + | 'REJECTED' + /** + * The reviewer has requested revisions to the submission. + * + */ + | 'REVISION_REQUESTED' + | '%future added value'; + +/** + * A transition for a `SubmissionReview`. + * + */ +export type SubmissionReviewTransition = CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionReviewTransition'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The state that the submission target is transitioning from. This will be null if the submission target is being created. + * + */ + fromState?: Maybe; + id: Scalars['ID']['output']; + /** + * Whether this is the most recent transition. + * + */ + mostRecent: Scalars['Boolean']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The state that the submission target is transitioning to. + * + */ + toState: SubmissionReviewState; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user who performed the transition, if available. + * + * Some transitions may happen through automated processes, so the user will not always be set. + * + */ + user?: Maybe; +}; + +/** The connection type for SubmissionReviewTransition. */ +export type SubmissionReviewTransitionConnection = Paginated & { + __typename?: 'SubmissionReviewTransitionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** + * An edge in a connection for `SubmissionReviewTransition`. + * + */ +export type SubmissionReviewTransitionEdge = { + __typename?: 'SubmissionReviewTransitionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SubmissionReviewTransition; +}; + +/** + * The status of a `Submission`. + * + */ +export type SubmissionState = + /** + * The submission has been approved by the review staff and is awaiting publication. + * + */ + | 'APPROVED' + /** + * The initial draft state of a submission. + * + */ + | 'DRAFT' + /** + * The submission has been published and is publicly visible. + * + */ + | 'PUBLISHED' + /** + * The submission has been rejected by the review staff and will not be published, + * and is not subject to any further reviews or revisions. + * + */ + | 'REJECTED' + /** + * The review staff has requested revisions to the submission + * and the depositor is expected to make changes and resubmit. + * + */ + | 'REVISION_REQUESTED' + /** + * The depositor has submitted the submission for review. + * + */ + | 'SUBMITTED' + /** + * The submission is currently under review. + * + */ + | 'UNDER_REVIEW' + | '%future added value'; + +/** + * Information about submission status and a particular state. + * + * This object does double duty for both current status and available transitions. + * + */ +export type SubmissionStatus = { + __typename?: 'SubmissionStatus'; + /** + * Whether the current user is allowed to transition the submission to this state. + * + */ + canTransition: AuthorizationResult; + /** + * Whether the submission is currently in this state. + * + */ + current: Scalars['Boolean']['output']; + /** + * The current state of the submission. + * + */ + fromState: SubmissionState; + /** + * Whether the submission will be in a locked state (i.e. not mutable by the depositor). + * + */ + lockedState: Scalars['Boolean']['output']; + /** + * Whether the submission will be in a mutable state (i.e. mutable by the depositor). + * + */ + mutableState: Scalars['Boolean']['output']; + /** + * The state to which the submission can be transitioned. + * + */ + toState: SubmissionState; +}; + +/** + * A submission target is a subject of an `Entity`, specifying information about whether + * or not it can have new entities deposited to it. + * + */ +export type SubmissionTarget = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionTarget'; + /** + * The content of the agreement that must be agreed to before depositing to this submission target, if `agreementRequired` is `true`. + * + */ + agreementContent?: Maybe; + /** + * The content of the agreement that must be agreed to before depositing to this submission target, + * falling back to the global agreement if this submission target doesn't have its own agreement content. + * + */ + agreementContentWithFallback?: Maybe; + /** + * Whether or not this submission target requires agreement to an agreement before depositing. + * + */ + agreementRequired: Scalars['Boolean']['output']; + /** + * The kinds of child entities that can be deposited to this submission target. + * + */ + allowedChildKinds: Array; + /** + * Whether or not depositors should be automatically approved when they request to become a depositor for this submission target. + * + */ + autoApproveDepositors: Scalars['Boolean']['output']; + /** + * Whether or not the current user can deposit to this submission target. + * + */ + canDeposit: AuthorizationResult; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether or not the current user can manage reviewers for this submission target. + * + */ + canManageReviewers: AuthorizationResult; + /** + * Whether or not the current user can publish submissions to this submission target. + * + */ + canPublish: AuthorizationResult; + /** + * Whether or not the current user can request access to deposit to this submission target. + * + */ + canRequestDepositAccess: AuthorizationResult; + /** + * Whether or not the current user can reset all agreements for this submission target. + * + */ + canResetAllAgreements: AuthorizationResult; + /** + * Whether or not the current user can review this submission target. + * + */ + canReview: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The deposit mode of this submission target, which determines how deposits to it are handled. + * + */ + depositMode: SubmissionDepositMode; + /** + * The deposit targets of this submission target, which are the entities that deposits to this submission target are deposited to. + * + */ + depositTargets: Array; + /** + * The depositor agreement for this submission target and the current user, if one exists. + * + */ + depositorAgreement?: Maybe; + /** + * A description of this submission target, which may include a human-readable title and/or a machine-readable schema.org description. + * + */ + description: SubmissionTargetDescription; + /** + * The entity that this submission target belongs to. + * + */ + entity: Entity; + id: Scalars['ID']['output']; + /** + * The reviewers that are assigned to review this submission target. + * + */ + reviewers: SubmissionTargetReviewerConnection; + /** + * The schema versions that deposits to this submission target must conform to. + * + */ + schemaVersions: Array; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The current state of this submission target, which determines whether or not it can accept deposits. + * + */ + state: SubmissionTargetState; + /** + * The state transitions that this submission target has undergone. + * + */ + transitions: SubmissionTargetTransitionConnection; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + + +/** + * A submission target is a subject of an `Entity`, specifying information about whether + * or not it can have new entities deposited to it. + * + */ +export type SubmissionTargetReviewersArgs = { + after?: InputMaybe; + before?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orFilters?: InputMaybe>; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * A submission target is a subject of an `Entity`, specifying information about whether + * or not it can have new entities deposited to it. + * + */ +export type SubmissionTargetTransitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** Autogenerated input type of SubmissionTargetClose */ +export type SubmissionTargetCloseInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The ID of the {SubmissionTarget} to close. + * + */ + submissionTargetId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionTargetClose. */ +export type SubmissionTargetClosePayload = StandardMutationPayload & { + __typename?: 'SubmissionTargetClosePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The modified submission target, if successful. + * + */ + submissionTarget?: Maybe; +}; + +/** Autogenerated input type of SubmissionTargetConfigure */ +export type SubmissionTargetConfigureInput = { + /** + * The content of the agreement that submitters must accept when making a submission to this submission target. + * + */ + agreementContent?: InputMaybe; + /** + * Whether submitters must accept an agreement when making a submission to this submission target. + * + * If true, `agreementContent` must be non-empty. + * + */ + agreementRequired?: InputMaybe; + /** + * Whether depositors should be automatically approved when they request to become a depositor for this submission target. + * + * The default value for this field can be set on a tenant level, but is `true` by default for now. + * + */ + autoApproveDepositors?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The ID of the entity or submission target to configure. + * + * This may be the ID of a `SubmissionTarget` or of an entity that can + * be configured with a `SubmissionTarget` (i.e. a `Community`, `Collection`, or `Item`). + * + */ + configurableId: Scalars['ID']['input']; + /** + * The deposit mode for this submission target, which determines how submissions to this target are deposited. + * + */ + depositMode?: InputMaybe; + /** + * A list of deposit targets for this submission target. + * + * It should be left empty when `depositMode` is `DIRECT`, + * and must have at least one descendant when `depositMode` is `DESCENDANTS`. + * + */ + depositTargetIds?: InputMaybe>; + /** + * A description of this submission target, which may be displayed to submitters when making a submission to this target. + * + */ + description: SubmissionTargetDescriptionInput; + /** + * A list of schema versions that submissions to this submission target must conform to. + * + * Must be at least one. + * + */ + schemaVersionIds?: InputMaybe>; +}; + +/** Autogenerated return type of SubmissionTargetConfigure. */ +export type SubmissionTargetConfigurePayload = StandardMutationPayload & { + __typename?: 'SubmissionTargetConfigurePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The newly-modified submission target, if successful. + * + */ + submissionTarget?: Maybe; +}; + +/** The connection type for SubmissionTarget. */ +export type SubmissionTargetConnection = Paginated & { + __typename?: 'SubmissionTargetConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** + * An object representing the description of a submission target. + * + */ +export type SubmissionTargetDescription = { + __typename?: 'SubmissionTargetDescription'; + /** + * This is a preface to the sections that provides a high-level overview of the action and is intended to be displayed to end users. + * + */ + instructions: Scalars['String']['output']; + /** + * The internal description of the action. + * This is a detailed description that may include technical information and is intended for internal use only. It should not be displayed to end users. + * + */ + internal: Scalars['String']['output']; + /** + * The ordered sections of the action's description. + * + */ + sections: Array; +}; + +/** + * An input object representing the description of a submission target. + * + */ +export type SubmissionTargetDescriptionInput = { + /** + * This is a preface to the sections that provides a high-level overview of the action and is intended to be displayed to end users. + * + */ + instructions?: InputMaybe; + /** + * The internal description of the action. + * This is a detailed description that may include technical information and is intended for internal use only. It should not be displayed to end users. + * + */ + internal?: InputMaybe; + /** + * The ordered sections of the action's description. + * + * The order provided here will be used as the order of the sections in the action's description. + * + */ + sections: Array; +}; + +/** + * An edge in a connection for `SubmissionTarget`. + * + */ +export type SubmissionTargetEdge = { + __typename?: 'SubmissionTargetEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SubmissionTarget; +}; + +/** + * Filtering options for `SubmissionTarget` records. + * + */ +export type SubmissionTargetFilterInput = { + /** + * Filter the model's `created_at` with time constraints. + * + */ + createdAt?: InputMaybe; + /** + * Filter by in state. + * + */ + inState?: InputMaybe>; + /** + * Filter the model's `updated_at` with time constraints. + * + */ + updatedAt?: InputMaybe; +}; + +/** Autogenerated input type of SubmissionTargetOpen */ +export type SubmissionTargetOpenInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The ID of the {SubmissionTarget} to open. + * + */ + submissionTargetId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionTargetOpen. */ +export type SubmissionTargetOpenPayload = StandardMutationPayload & { + __typename?: 'SubmissionTargetOpenPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The modified submission target, if successful. + * + */ + submissionTarget?: Maybe; +}; + +/** + * Sort a collection of `SubmissionTarget` records by specific properties and directions. + * + */ +export type SubmissionTargetOrder = + /** Sort submission targets by their default order. */ + | 'DEFAULT' + /** Sort submission targets by oldest created date. */ + | 'OLDEST' + /** Sort submission targets by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** + * A reviewer assigned to a `SubmissionTarget`. + * + */ +export type SubmissionTargetReviewer = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionTargetReviewer'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The submission target this reviewer is assigned to. */ + submissionTarget: SubmissionTarget; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** The user assigned as a reviewer. */ + user: User; +}; + +/** The connection type for SubmissionTargetReviewer. */ +export type SubmissionTargetReviewerConnection = Paginated & { + __typename?: 'SubmissionTargetReviewerConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** Autogenerated input type of SubmissionTargetReviewerCreate */ +export type SubmissionTargetReviewerCreateInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The ID of the `SubmissionTarget` to assign a reviewer to. + * + */ + submissionTargetId: Scalars['ID']['input']; + /** + * The ID of the `User` to assign the reviewer role to. + * + */ + userId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionTargetReviewerCreate. */ +export type SubmissionTargetReviewerCreatePayload = StandardMutationPayload & { + __typename?: 'SubmissionTargetReviewerCreatePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * The newly-modified submission target reviewer, if successful. + * + */ + submissionTargetReviewer?: Maybe; +}; + +/** Autogenerated input type of SubmissionTargetReviewerDestroy */ +export type SubmissionTargetReviewerDestroyInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * The submission target reviewer to destroy. + * + */ + submissionTargetReviewerId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of SubmissionTargetReviewerDestroy. */ +export type SubmissionTargetReviewerDestroyPayload = DestroyMutationPayload & StandardMutationPayload & { + __typename?: 'SubmissionTargetReviewerDestroyPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Whether or not the model was successfully destroyed. If false, check globalErrors */ + destroyed?: Maybe; + /** The ID of the deleted model */ + destroyedId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** + * An edge in a connection for `SubmissionTargetReviewer`. + * + */ +export type SubmissionTargetReviewerEdge = { + __typename?: 'SubmissionTargetReviewerEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SubmissionTargetReviewer; +}; + +/** + * Filtering options for `SubmissionTargetReviewer` records. + * + */ +export type SubmissionTargetReviewerFilterInput = { + /** + * Filter the model's `created_at` with time constraints. + * + */ + createdAt?: InputMaybe; + /** + * Filter by the submission target. + * + */ + submissionTargetIds?: InputMaybe>; + /** + * Filter the model's `updated_at` with time constraints. + * + */ + updatedAt?: InputMaybe; + /** + * Filter by the associated user. + * + */ + userIds?: InputMaybe>; +}; + +/** + * Sort a collection of `SubmissionTargetReviewer` records by specific properties and directions. + * + */ +export type SubmissionTargetReviewerOrder = + /** Sort submission target reviewers by their default order. */ + | 'DEFAULT' + /** Sort submission target reviewers by oldest created date. */ + | 'OLDEST' + /** Sort submission target reviewers by newest created date. */ + | 'RECENT' + | '%future added value'; + +/** + * An object representing a section of a submission target's description. + * + */ +export type SubmissionTargetSection = { + __typename?: 'SubmissionTargetSection'; + /** + * The content of the section. This is the actual text that will be displayed for this section of the action's description. + * + */ + content: Scalars['String']['output']; + /** + * A unique identifier for the section. This is generated by the system and should not be provided by the client. + * + */ + identifier: Scalars['String']['output']; + /** + * The name of the section. This is used to identify the section and should be unique within an action. + * + */ + name: Scalars['String']['output']; + /** + * The position of the section within the action's description. + * + * This value is automatically generated by the API. + * + */ + position: Scalars['Int']['output']; +}; + +/** + * An input object representing a section of a submission target's description. + * + */ +export type SubmissionTargetSectionInput = { + /** + * The content of the section. This is the actual text that will be displayed for this section of the submission target's description. + * + */ + content: Scalars['String']['input']; + /** + * The name of the section. This is used to identify the section and should be unique within a submission target. + * + */ + name: Scalars['String']['input']; +}; + +/** + * The state of a submission target, describing whether it is accepting submissions or not. + * + */ +export type SubmissionTargetState = + /** + * The submission target is not accepting submissions. + * + */ + | 'CLOSED' + /** + * The submission target is accepting submissions. + * + */ + | 'OPEN' + | '%future added value'; + +/** + * A transition for a `SubmissionTarget`. + * + */ +export type SubmissionTargetTransition = CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionTargetTransition'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The state that the submission target is transitioning from. This will be null if the submission target is being created. + * + */ + fromState?: Maybe; + id: Scalars['ID']['output']; + /** + * Whether this is the most recent transition. + * + */ + mostRecent: Scalars['Boolean']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The state that the submission target is transitioning to. + * + */ + toState: SubmissionTargetState; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user who performed the transition, if available. + * + * Some transitions may happen through automated processes, so the user will not always be set. + * + */ + user?: Maybe; +}; + +/** The connection type for SubmissionTargetTransition. */ +export type SubmissionTargetTransitionConnection = Paginated & { + __typename?: 'SubmissionTargetTransitionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** + * An edge in a connection for `SubmissionTargetTransition`. + * + */ +export type SubmissionTargetTransitionEdge = { + __typename?: 'SubmissionTargetTransitionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SubmissionTargetTransition; +}; + +/** + * A transition for a `Submission`. + * + */ +export type SubmissionTransition = CommonModel & CommonPermissions & CommonTransition & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'SubmissionTransition'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The state that the submission target is transitioning from. This will be null if the submission target is being created. + * + */ + fromState?: Maybe; + id: Scalars['ID']['output']; + /** + * Whether this is the most recent transition. + * + */ + mostRecent: Scalars['Boolean']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The state that the submission target is transitioning to. + * + */ + toState: SubmissionState; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The user who performed the transition, if available. + * + * Some transitions may happen through automated processes, so the user will not always be set. + * + */ + user?: Maybe; +}; + +/** The connection type for SubmissionTransition. */ +export type SubmissionTransitionConnection = Paginated & { + __typename?: 'SubmissionTransitionConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** + * An edge in a connection for `SubmissionTransition`. + * + */ +export type SubmissionTransitionEdge = { + __typename?: 'SubmissionTransitionEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: SubmissionTransition; +}; + +/** + * Entities can optionally be submitted to. + * + */ +export type Submittable = { + /** + * Whether the current user has permission to deposit a new entity into this one. + * + */ + canDeposit: AuthorizationResult; + /** + * Whether the current user has permission to review deposits to this entity. + * + */ + canReview: AuthorizationResult; + /** + * THe current submission status of this entity. Is it a draft, published, or unrelated? + * + */ + submissionStatus: EntitySubmissionStatus; + /** + * The submission target that this entity can be submitted to, if any. + * + */ + submissionTarget?: Maybe; +}; + +/** When retrieving subtypes of a specific entity, you can distinguish between grabbing its children (default) or all of its descendants. */ +export type SubtreeNodeFilter = + /** Fetch only the first level of the same type of entity (Item, Collection) */ + | 'CHILDREN' + /** Fetch all descendant entities of the same base type (Item, Collection) */ + | 'DESCENDANTS' + | '%future added value'; + +/** + * An enumerated value associated with the templating subsystem. + * + */ +export type SupplementaryBackground = + /** + * A dark gradient is applied to the background of this template. + * + */ + | 'DARK' + /** + * A light gradient is applied to the background of this template. + * + */ + | 'LIGHT' + /** + * No background is applied to this template. + * + */ + | 'NONE' + | '%future added value'; + +export type SupplementaryLayoutDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutDefinition & Node & Sluggable & { + __typename?: 'SupplementaryLayoutDefinition'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * This layout will only ever have one template, so it can be fetched directly without needing the union. + * + */ + template?: Maybe; + /** + * The ordered template definitions available for this layout. + * + */ + templates: Array; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +export type SupplementaryLayoutInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & LayoutInstance & Node & Renderable & Sluggable & { + __typename?: 'SupplementaryLayoutInstance'; + /** + * Whether all templates in this instance are hidden. + * + */ + allHidden: Scalars['Boolean']['output']; + /** + * Whether all slots in all template instances in this layout are empty. + * + */ + allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * The associated entity for this layout instance. + * + */ + entity: Entity; + id: Scalars['ID']['output']; + /** + * The time this object was last rendered. + * + */ + lastRenderedAt?: Maybe; + /** + * The layout definition for this type. + * + */ + layoutDefinition: SupplementaryLayoutDefinition; + layoutKind: LayoutKind; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * This layout will only ever have one template, so it can be fetched directly without needing the union. + * + */ + template?: Maybe; + /** + * The ordered template instances available for this layout. + * + */ + templates: Array; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +export type SupplementaryTemplateDefinition = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & TemplateDefinition & { + __typename?: 'SupplementaryTemplateDefinition'; + /** + * The background gradient to use for this template. Affects presentation. + * + */ + background?: Maybe; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + id: Scalars['ID']['output']; + layoutKind: LayoutKind; + /** + * Slot definitions for this template. + * + */ + slots: SupplementaryTemplateDefinitionSlots; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +/** + * Slot definitions for the associated template. + * + */ +export type SupplementaryTemplateDefinitionSlots = { + __typename?: 'SupplementaryTemplateDefinitionSlots'; + contributorsLabel?: Maybe; + metricsLabel?: Maybe; +}; + +export type SupplementaryTemplateInstance = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Renderable & Sluggable & TemplateInstance & { + __typename?: 'SupplementaryTemplateInstance'; + /** + * Whether all slots in this template are empty. + * + */ + allSlotsEmpty: Scalars['Boolean']['output']; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * Load the associated definition for this template. + * + */ + definition: SupplementaryTemplateDefinition; + /** + * The associated entity for this template instance. + * + */ + entity: Entity; + /** + * Whether this template instance should be hidden based on some logic. + * + * At present, this only occurs if certain slots are empty. + * + */ + hidden: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; + /** + * The time this object was last rendered. + * + */ + lastRenderedAt?: Maybe; + layoutKind: LayoutKind; + /** + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + * + */ + nextSiblings: Array; + /** + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + * + */ + prevSiblings: Array; + /** + * Rendered slots for this template. + * + */ + slots: SupplementaryTemplateInstanceSlots; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; +}; + +/** + * Rendered slots for the associated template. + * + */ +export type SupplementaryTemplateInstanceSlots = { + __typename?: 'SupplementaryTemplateInstanceSlots'; + contributorsLabel?: Maybe; + metricsLabel?: Maybe; +}; + +/** + * A helper field that can look up various information about the Meru-API Ecosystem. + * + */ +export type SystemInfo = { + __typename?: 'SystemInfo'; + /** + * Check to see if an entity of a given `descendant` type exists with a given `ancestor` type. + * + */ + entityHierarchyExists: Scalars['Boolean']['output']; +}; + + +/** + * A helper field that can look up various information about the Meru-API Ecosystem. + * + */ +export type SystemInfoEntityHierarchyExistsArgs = { + ancestor: Scalars['Slug']['input']; + descendant: Scalars['Slug']['input']; +}; + +export type TagsProperty = ScalarProperty & SchemaProperty & { + __typename?: 'TagsProperty'; + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + /** + * A human-readable description for the property. It should describe the purpose of the + * property as well as some details about the types of values it looks for. + * + * It can be rendered as help text, hints, etc. + * + */ + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. + * + */ + function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. + * + */ + isWide: Scalars['Boolean']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. + * + */ + kind: SchemaPropertyKind; + /** + * A human-readable label for the schema property. + * + */ + label: Scalars['String']['output']; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. + * + */ + orderable: Scalars['Boolean']['output']; + /** + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. + * + */ + path: Scalars['String']['output']; + /** + * Whether or not this property is required in order for the schema instance + * to be considered valid. + * + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. + * + */ + required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; + tags: Array; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; +}; + +/** + * A contribution from a certain contributor. + * + * This is a pared-down version of `Contribution` in order to + * better support fragment caching and smaller queries. + * + * It uses `ContributorBase` in place of the `AnyContributor` union. + * + */ +export type TemplateContribution = ContributionBase & { + __typename?: 'TemplateContribution'; + /** A potentially-overridden value from person contributors */ + affiliation?: Maybe; + /** The actual role */ + contributionRole: ControlledVocabularyItem; + /** + * The contributor, loaded via abstract interface for simplicity. + * + */ + contributor: ContributorBase; + contributorKind: ContributorKind; + /** A potentially-overridden display name value for all contributor types */ + displayName: Scalars['String']['output']; + /** + * An optional sorting discriminator to decide which contribution ranks higher. + * + * Applies _after_ contribution role ranking. + * + */ + innerPosition?: Maybe; + /** A potentially-overridden value from organization contributors */ + location?: Maybe; + metadata: ContributionMetadata; + /** + * An optional sorting discriminator to decide which contribution ranks higher. + * + * Applies _before_ contribution role ranking, superseding everything else. + * + */ + outerPosition?: Maybe; + /** + * An arbitrary text value describing the role the contributor had + * @deprecated Use `roleLabel` instead. + */ + role?: Maybe; + /** An arbitrary text value describing the role the contributor had */ + roleLabel?: Maybe; + /** A potentially-overridden value from person contributors */ + title?: Maybe; +}; + +/** + * `ContributorListTemplateInstance`s return an ordered list of contributions to render + * within as part of their content. + * + */ +export type TemplateContributionList = { + __typename?: 'TemplateContributionList'; + /** + * The actual entity records within this list. + * + * The order is deterministic. + * + */ + contributions: Array; + /** + * The size of the list. + * + */ + count: Scalars['Int']['output']; + /** + * Whether the list is empty, provided for easier filtering and render-skipping. + * + */ + empty: Scalars['Boolean']['output']; +}; + +/** + * Entities within the system have templates associated with schema-specific layouts, + * that can be overridden within the hierarchy for more custom approaches. + * + * This interface defines the *definition* for one such template and `layoutDefinition`, + * which controls how associated `TemplateInstance`s are rendered. + * + */ +export type TemplateDefinition = { + layoutKind: LayoutKind; + templateKind: TemplateKind; +}; + +/** + * Some template instances return an ordered list of entities to render + * within as part of their content. + * + * This provides access to that list, as well as a shortcut to each entity's + * associated `ListItemLayoutInstance`. + * + * **note** It's possible that entities could match the parameters of the list + * but be skipped because they have no layouts (yet). This is intentional behavior, + * and subsequent fetches should see the list populated as soon as the descendant + * entities layouts have rendered. + * + */ +export type TemplateEntityList = { + __typename?: 'TemplateEntityList'; + /** + * The size of the list. + * + */ + count: Scalars['Int']['output']; + /** + * Whether the list is empty, provided for easier filtering and render-skipping. + * + */ + empty: Scalars['Boolean']['output']; + /** + * The actual entity records within this list. + * + * The order is deterministic. + * + */ + entities: Array; + /** + * Whether the entity selection tried to use the fallback selection mode. + * + * When true, the resulting list is fallback. It can still be empty. + * + */ + fallback: Scalars['Boolean']['output']; + /** + * Whether there is any variation in hierarchical depth within the list of entities. + * + */ + flatDepth: Scalars['Boolean']['output']; + /** + * A shortcut to access the list item layouts for each entity in `entities`. + * + * The order is deterministic. + * + * See `ListItemLayoutInstance`. + * + */ + listItemLayouts: Array; + /** + * The maximum hierarchical depth for the entities in the list (if known). + * + */ + maximumDepth?: Maybe; + /** + * The minimum hierarchical depth for the entities in the list (if known). + * + */ + minimumDepth?: Maybe; +}; + +/** + * An interface for a template instance that has a `TemplateContributionList`. + * + */ +export type TemplateHasContributionList = { + /** + * The list of contributions to render as part of this template's content. + * + */ + contributionList: TemplateContributionList; +}; + +/** + * An interface for a template instance that has a `TemplateEntityList`. + * + */ +export type TemplateHasEntityList = { + /** + * The list of entities to render as part of this template's content. + * + */ + entityList: TemplateEntityList; +}; + +/** + * An interface that implements the `prev` / `next` siblings + * for navigating through orderings. + * + */ +export type TemplateHasOrderingPair = { + /** + * Access the prev/next siblings within the template's specified ordering. + * + */ + orderingPair: TemplateOrderingPair; +}; + +/** + * An interface for a template instance that exposes an `Ordering` + * in order to to link to see all associated records. + * + */ +export type TemplateHasSeeAllOrdering = { + /** + * The ordering to render for a "see all" link. + * + */ + seeAllOrdering?: Maybe; +}; + +/** + * An interface describing an instance type that can be rendered for a given entity. + * + */ +export type TemplateInstance = { + /** + * Whether all slots in this template are empty. + * + */ + allSlotsEmpty: Scalars['Boolean']['output']; + /** + * The associated entity for this template instance. + * + */ + entity: Entity; + /** + * Whether this template instance should be hidden based on some logic. + * + * At present, this only occurs if certain slots are empty. + * + */ + hidden: Scalars['Boolean']['output']; + /** + * The time this object was last rendered. + * + */ + lastRenderedAt?: Maybe; + layoutKind: LayoutKind; + /** + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 4 and 5 in that order. + * + */ + nextSiblings: Array; + /** + * Return all preceding siblings to the current template in order of proximity. + * + * If a template is at position 3 of 5, then this field will return position 2 and 1 in that order. + * + */ + prevSiblings: Array; + templateKind: TemplateKind; +}; + +/** + * A brief detail about a template instance's siblings, to help with finessing certain style concerns. + * + * For `PREV` siblings, the positions are returned in descending order. If a template is at position + * 3 of 5, then these will be returned at position 2 and 1 in that order. + * + * For `NEXT` siblings, the positions are returned in ascending order. If a template is at position + * 3 of 5, then these will be returned at position 4 and 5 in that order. + * + */ +export type TemplateInstanceSibling = CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'TemplateInstanceSibling'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** + * Whether the sibling has a `DARK` background. + * + */ + dark: Scalars['Boolean']['output']; + /** + * Whether this sibling is hidden for whatever reason (empty slots, empty entity list, etc). + * + */ + hidden: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; + /** + * Whether this is `NEXT` or `PREV`. No functional difference, just illustrative. + * + */ + kind: SiblingKind; + /** + * The layout this sibling is in. As of now, this should always be `MAIN`, + * since only `MAIN` layout templates can be stacked. + * + */ + layoutKind: LayoutKind; + /** + * The position of this sibling within the layout instance. + * + */ + position: Scalars['Int']['output']; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** + * The template this sibling is. As of now, this should always be templates within the `MAIN` layout category, + * since only `MAIN` layout templates can be stacked. + * + */ + templateKind: TemplateKind; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** + * The width of the sibling (if available). + * + */ + width?: Maybe; +}; + +/** + * Discriminator for the various types of templates available to an entity, + * based on its schema. + * + */ +export type TemplateKind = + /** + * An arbitrary text blurb that can be used for describing citations or other + * runs of content that don't neatly fit within the prescribed hierarchies. + * + * Contained within the `MAIN` layout + * + */ + | 'BLURB' + /** + * A template for listing contributors of note on the main layout of an entity. + * + * Contained within the `MAIN` layout. + * + */ + | 'CONTRIBUTOR_LIST' + /** + * A template for rendering descendants of an entity on its main layout, + * e.g. a journal listing some recent issues or a series listing featured papers. + * + * Contained within the `MAIN` layout. + * + */ + | 'DESCENDANT_LIST' + /** + * Describes details about an entity, its summary, etc. + * + * Contained within the `MAIN` layout. + * + */ + | 'DETAIL' + /** + * A template for describing how an entity's header / hero should look. + * + * Contained within the `HERO` layout. + * + */ + | 'HERO' + /** + * A template for listing entity links on the main layout of an entity. + * + * Contained within the `MAIN` layout. + * + */ + | 'LINK_LIST' + /** + * A template for describing how an entity should appear when rendered in a list. + * + * Contained within the `LIST_ITEM` layout. + * + */ + | 'LIST_ITEM' + /** + * A template for describing how an entity's metadata should be displayed. + * + * Contained within the `METADATA` layout. + * + */ + | 'METADATA' + /** + * This controls the various tabs available to an entity when rendering + * its `MAIN`, `METADATA`, `SUPPLEMENTARY` routes. + * + * Contained within the `NAVIGATION` layout. + * + */ + | 'NAVIGATION' + /** + * For applicable entities, allows navigating through specific orderings, + * e.g. going back and forth between articles in a specific issue. + * + * Contained within the `MAIN` layout. + * + */ + | 'ORDERING' + /** + * A template for listing pages on the main layout of an entity. + * + * Contained within the `MAIN` layout. + * + */ + | 'PAGE_LIST' + /** + * A template for describing how an entity's supplementary pages (contributors, metrics) + * should render. + * + * Contained within the `SUPPLEMENTARY` layout. + * + */ + | 'SUPPLEMENTARY' + | '%future added value'; + +/** + * An object that provides a next/prev pair for navigating through ordering siblings + * within a template. + * + */ +export type TemplateOrderingPair = { + __typename?: 'TemplateOrderingPair'; + /** + * The number of entries in the ordering (`null` if no match). + * + */ + count?: Maybe; + /** + * Whether or not the ordering / entry actually exists and has siblings—can be used to skip rendering. + * + * Implies `inOrdering && !only`. + * + */ + exists: Scalars['Boolean']['output']; + /** + * Whether the source entity is the _first_ entity in the ordering. + * + */ + first: Scalars['Boolean']['output']; + /** + * Whether or not the entity is present in the associated ordering / entry. + * + */ + inOrdering: Scalars['Boolean']['output']; + /** + * Whether the source entity is the _last_ entity in the ordering. + * + */ + last: Scalars['Boolean']['output']; + /** + * The next entry in the current ordering, if one exists. This will be null if this entry is the last. + * + */ + nextSibling?: Maybe; + /** + * Whether the source entity is the _only_ entity in the ordering. + * + * Implies `first && last`. + * + */ + only: Scalars['Boolean']['output']; + /** + * The source entity's (1-based) position in the ordering. + * + */ + position?: Maybe; + /** + * The previous entry in the current ordering, if one exists. This will be null if this entry is the first. + * + */ + prevSibling?: Maybe; +}; + +/** + * A definition for a block-type template slot. + * + * Its `kind` will always be `BLOCK`. + * + */ +export type TemplateSlotBlockDefinition = TemplateSlotDefinition & { + __typename?: 'TemplateSlotBlockDefinition'; + /** + * Whether this slot should cause its parent template to be marked as `hidden` + * if it ends up rendering empty. + * + */ + hideWhenEmpty: Scalars['Boolean']['output']; + /** + * The kind of slot instance this is. + * + */ + kind: TemplateSlotKind; + /** + * The liquid template to render. + * + */ + rawTemplate?: Maybe; +}; + +/** + * A block template slot that has been rendered. + * + * Its `kind` will always be `BLOCK`. + * + */ +export type TemplateSlotBlockInstance = TemplateSlotInstance & { + __typename?: 'TemplateSlotBlockInstance'; + /** + * The actual rendered content for the template (if available). + * + */ + content?: Maybe; + /** + * Whether this slot is empty. + * + */ + empty: Scalars['Boolean']['output']; + /** + * Any errors for this slot that occurred during rendering, if applicable. + * + */ + errors?: Maybe>; + /** + * Whether this slot should cause its parent template to hide. + * + * **Note**: This is exposed for introspection, but does not need + * to be checked on the frontend. Defer to `TemplateInstance.hidden`. + * + */ + hidesTemplate: Scalars['Boolean']['output']; + /** + * The kind of slot instance this is. + * + */ + kind: TemplateSlotKind; + /** + * Whether this slot rendered successfully (i.e. had no errors). + * + */ + valid: Scalars['Boolean']['output']; +}; + +/** + * A slot definition describes how the slot should be rendered with a template. + * + */ +export type TemplateSlotDefinition = { + /** + * Whether this slot should cause its parent template to be marked as `hidden` + * if it ends up rendering empty. + * + */ + hideWhenEmpty: Scalars['Boolean']['output']; + /** + * The kind of slot instance this is. + * + */ + kind: TemplateSlotKind; + /** + * The liquid template to render. + * + */ + rawTemplate?: Maybe; +}; + +/** + * Any number of things can go awry when rendering slot templates, + * this provides insight into errors that can occur at compilation + * or render-time. + * + */ +export type TemplateSlotError = { + __typename?: 'TemplateSlotError'; + /** + * The line number where the error started (if available). + * + */ + lineNumber?: Maybe; + /** + * The excerpt of markup that triggered the error (if available). + * + */ + markupContext?: Maybe; + /** + * The description of the error. + * + */ + message: Scalars['String']['output']; +}; + +/** + * A definition for an inline-type template slot. + * + * Its `kind` will always be `INLINE`. + * + */ +export type TemplateSlotInlineDefinition = TemplateSlotDefinition & { + __typename?: 'TemplateSlotInlineDefinition'; + /** + * Whether this slot should cause its parent template to be marked as `hidden` + * if it ends up rendering empty. + * + */ + hideWhenEmpty: Scalars['Boolean']['output']; + /** + * The kind of slot instance this is. + * + */ + kind: TemplateSlotKind; + /** + * The liquid template to render. + * + */ + rawTemplate?: Maybe; +}; + +/** + * An inline template slot that has been rendered. + * + * Its `kind` will always be `INLINE`. + * + */ +export type TemplateSlotInlineInstance = TemplateSlotInstance & { + __typename?: 'TemplateSlotInlineInstance'; + /** + * The actual rendered content for the template (if available). + * + */ + content?: Maybe; + /** + * Whether this slot is empty. + * + */ + empty: Scalars['Boolean']['output']; + /** + * Any errors for this slot that occurred during rendering, if applicable. + * + */ + errors?: Maybe>; + /** + * Whether this slot should cause its parent template to hide. + * + * **Note**: This is exposed for introspection, but does not need + * to be checked on the frontend. Defer to `TemplateInstance.hidden`. + * + */ + hidesTemplate: Scalars['Boolean']['output']; + /** + * The kind of slot instance this is. + * + */ + kind: TemplateSlotKind; + /** + * Whether this slot rendered successfully (i.e. had no errors). + * + */ + valid: Scalars['Boolean']['output']; +}; + +/** + * A slot instance is an actual rendered + * property that may appear in a template. + * + */ +export type TemplateSlotInstance = { + /** + * The actual rendered content for the template (if available). + * + */ + content?: Maybe; + /** + * Whether this slot is empty. + * + */ + empty: Scalars['Boolean']['output']; + /** + * Any errors for this slot that occurred during rendering, if applicable. + * + */ + errors?: Maybe>; + /** + * Whether this slot should cause its parent template to hide. + * + * **Note**: This is exposed for introspection, but does not need + * to be checked on the frontend. Defer to `TemplateInstance.hidden`. + * + */ + hidesTemplate: Scalars['Boolean']['output']; + /** + * The kind of slot instance this is. + * + */ + kind: TemplateSlotKind; + /** + * Whether this slot rendered successfully (i.e. had no errors). + * + */ + valid: Scalars['Boolean']['output']; +}; + +/** + * An enum discriminating between different types of content. + * + */ +export type TemplateSlotKind = + /** + * A template slot containing lengthier content that may wrap, contain semantic newlines / paragraphs, etc. + * + */ + | 'BLOCK' + /** + * A template slot containing only inline information. It should contain no block level tags. + * + * It is intended for use in header, list item, and generally any other short-form spans of content. + * + */ + | 'INLINE' + | '%future added value'; + +/** + * An enum that helps organize things on the frontend to put certain templates side by side where it makes sense. + * + */ +export type TemplateWidth = + /** + * This template should occupy the full-width of the layout. + * + */ + | 'FULL' + /** + * This template should occupy half of the width of the layout. + * + * **Note**: This should be used in concert with an adjacent HALF-width template. + * The server will not validate this is the case. + * + */ + | 'HALF' + | '%future added value'; + +/** + * Configuration settings for the theme of the Meru frontend. + * + */ +export type ThemeSettings = { + __typename?: 'ThemeSettings'; + /** + * The color of the theme, being one of `["cream", "blue", "gray"]`. + * + */ + color: Scalars['String']['output']; + /** + * The font of the theme, being one of `["style1", "style2", "style3"]`. + * + */ + font: Scalars['String']['output']; +}; + +/** + * Configuration settings for the theme of the Meru frontend. + * + */ +export type ThemeSettingsInput = { + /** + * The color of the theme, being one of `["cream", "blue", "gray"]`. + * + */ + color: Scalars['String']['input']; + /** + * The font of the theme, being one of `["style1", "style2", "style3"]`. + * + */ + font: Scalars['String']['input']; +}; + +export type TimestampProperty = ScalarProperty & SchemaProperty & SearchableProperty & { + __typename?: 'TimestampProperty'; + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + default?: Maybe; + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. + * + */ + function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. + * + */ + isWide: Scalars['Boolean']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. + * + */ + kind: SchemaPropertyKind; + label: Scalars['String']['output']; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. + * + */ + orderable: Scalars['Boolean']['output']; + /** + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. + * + */ + path: Scalars['String']['output']; + /** + * Whether or not this property is required in order for the schema instance + * to be considered valid. + * + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. + * + */ + required: Scalars['Boolean']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; + timestamp?: Maybe; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; +}; + +/** When retrieving a paginated connection of tree-like entities, this enum is used to delineate which class of nodes to retrieve. Usually, you only want roots, but two other possibilities are exposed. */ +export type TreeNodeFilter = + /** Fetch only nodes that are "leaves"; nodes that have a parent of the same type */ + | 'LEAVES_ONLY' + /** Fetch all nodes that match other filters passed to the resolver */ + | 'ROOTS_AND_LEAVES' + /** Fetch only nodes that are "roots": nodes that do not have a parent of the same type */ + | 'ROOTS_ONLY' + | '%future added value'; + +/** A schematic reference to a URL, with href, label, and optional title */ +export type UrlProperty = ScalarProperty & SchemaProperty & { + __typename?: 'URLProperty'; + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + /** + * A human-readable description for the property. It should describe the purpose of the + * property as well as some details about the types of values it looks for. + * + * It can be rendered as help text, hints, etc. + * + */ + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. + * + */ + function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. + * + */ + isWide: Scalars['Boolean']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. + * + */ + kind: SchemaPropertyKind; + /** + * A human-readable label for the schema property. + * + */ + label: Scalars['String']['output']; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. + * + */ + orderable: Scalars['Boolean']['output']; + /** + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. + * + */ + path: Scalars['String']['output']; + /** + * Whether or not this property is required in order for the schema instance + * to be considered valid. + * + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. + * + */ + required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; + url?: Maybe; +}; + +/** A representation of a URL suitable for creating anchor tags */ +export type UrlReference = { + __typename?: 'URLReference'; + /** The actual URL */ + href?: Maybe; + /** A label to display within the text content of the anchor tag */ + label?: Maybe; + /** A title to display when mousing over the URL */ + title?: Maybe; +}; + +/** + * The underlying data format for a `HarvestMetadataFormat`. + * + */ +export type UnderlyingDataFormat = + /** + * The metadata is encoded as JSON. + * + */ + | 'JSON' + /** + * The metadata is encoded as XML. + * + */ + | 'XML' + | '%future added value'; + +export type UnknownProperty = ScalarProperty & SchemaProperty & { + __typename?: 'UnknownProperty'; + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + default?: Maybe; + /** + * A human-readable description for the property. It should describe the purpose of the + * property as well as some details about the types of values it looks for. + * + * It can be rendered as help text, hints, etc. + * + */ + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. + * + */ + function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. + * + */ + isWide: Scalars['Boolean']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. + * + */ + kind: SchemaPropertyKind; + /** + * A human-readable label for the schema property. + * + */ + label: Scalars['String']['output']; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. + * + */ + orderable: Scalars['Boolean']['output']; + /** + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. + * + */ + path: Scalars['String']['output']; + /** + * Whether or not this property is required in order for the schema instance + * to be considered valid. + * + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. + * + */ + required: Scalars['Boolean']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; + unknownValue?: Maybe; +}; + +/** Autogenerated input type of UpdateAnnouncement */ +export type UpdateAnnouncementInput = { + /** The ID for the announcement to update. */ + announcementId: Scalars['ID']['input']; + /** A body for the announcement */ + body: Scalars['String']['input']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** A header value for the announcement */ + header: Scalars['String']['input']; + /** The date of the announcement. */ + publishedOn: Scalars['ISO8601Date']['input']; + /** A teaser for the announcement */ + teaser: Scalars['String']['input']; +}; + +/** Autogenerated return type of UpdateAnnouncement. */ +export type UpdateAnnouncementPayload = StandardMutationPayload & { + __typename?: 'UpdateAnnouncementPayload'; + announcement?: Maybe; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of UpdateAssetAttachment */ +export type UpdateAssetAttachmentInput = { + /** The ID for the asset to update */ + assetId: Scalars['ID']['input']; + /** + * A reference to an upload in Tus. + * + */ + attachment: UploadedFileInput; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; +}; + +/** Autogenerated return type of UpdateAssetAttachment. */ +export type UpdateAssetAttachmentPayload = StandardMutationPayload & { + __typename?: 'UpdateAssetAttachmentPayload'; + asset?: Maybe; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of UpdateAsset */ +export type UpdateAssetInput = { + /** Alt text to display for the asset (if applicable) */ + altText?: InputMaybe; + /** The ID for the asset to update */ + assetId: Scalars['ID']['input']; + /** + * An optional reference to an upload in Tus. It will replace the current file if provided. + * Note: Unlike other attachments in the API, there is no way to clear an attachment from + * an existing asset. If you wish to do that, simply call destroyAsset. + * + */ + attachment?: InputMaybe; + /** A caption to display below the asset (if applicable) */ + caption?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** A human readable name for the asset */ + name: Scalars['String']['input']; + /** The position the asset occupies amongst siblings */ + position?: InputMaybe; +}; + +/** Autogenerated return type of UpdateAsset. */ +export type UpdateAssetPayload = StandardMutationPayload & { + __typename?: 'UpdateAssetPayload'; + asset?: Maybe; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of UpdateCollection */ +export type UpdateCollectionInput = { + /** + * If set to true, this will clear the attachment hero_image on this model. + * + */ + clearHeroImage?: InputMaybe; + /** + * If set to true, this will clear the attachment thumbnail on this model. + * + */ + clearThumbnail?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + collectionId: Scalars['ID']['input']; + /** + * Digital Object Identifier (see: https://doi.org) + * + * **Note**: This actually gets assigned to the entity's `rawDOI`, and will be sanitized to get set on `DOI`. + * + */ + doi?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + heroImage?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + heroImageMetadata?: InputMaybe; + /** + * When dealing with harvested collections or items, modifying + * the entity within the admin section will cause its + * `harvestModificationStatus` to change to `MODIFIED`, which will + * prevent the harvesting system from overwriting anything within it. + * + * By setting this option to true, it will force harvested entities to + * remain `PRISTINE`, no matter what changes have been made in the admin + * section. This will allow the harvesting system to overwrite any of + * these changes when next time it runs. + * + * It must be checked _every_ time the entity is saved in the admin + * section in order to keep the pristine status intact. + * + * **Note**: It has no effect on `UNHARVESTED` entities. + * + */ + maintainPristineStatus?: InputMaybe; + /** The date this entity was published */ + published?: InputMaybe; + /** + * An arbitrary set of property values. Owing to the dynamic nature, they do not have a specific GraphQL input type + * associated with them. Validation will be performed within the application and returned as errors if not valid. + * + */ + schemaProperties?: InputMaybe; + /** Human-readable subtitle for the entity */ + subtitle?: InputMaybe; + /** A brief description of the entity's contents. */ + summary?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + thumbnail?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + thumbnailMetadata?: InputMaybe; + /** Human-readable title for the entity */ + title: Scalars['String']['input']; + /** What level of visibility the entity has */ + visibility: EntityVisibility; + /** If present, this is the timestamp an entity is visible after */ + visibleAfterAt?: InputMaybe; + /** If present, this is the timestamp an entity is visible until */ + visibleUntilAt?: InputMaybe; +}; + +/** Autogenerated return type of UpdateCollection. */ +export type UpdateCollectionPayload = StandardMutationPayload & { + __typename?: 'UpdateCollectionPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** A new representation of the collection, on a successful update */ + collection?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + schemaErrors: Array; +}; + +/** Autogenerated input type of UpdateCommunity */ +export type UpdateCommunityInput = { + /** + * If set to true, this will clear the attachment hero_image on this model. + * + */ + clearHeroImage?: InputMaybe; + /** + * If set to true, this will clear the attachment logo on this model. + * + */ + clearLogo?: InputMaybe; + /** + * If set to true, this will clear the attachment thumbnail on this model. + * + */ + clearThumbnail?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + communityId: Scalars['ID']['input']; + /** + * A reference to an uploaded image in Tus. + * + */ + heroImage?: InputMaybe; + heroImageLayout: HeroImageLayout; + /** + * Metadata for an image attachment. + * + */ + heroImageMetadata?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + logo?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + logoMetadata?: InputMaybe; + /** The position the community occupies in the list */ + position?: InputMaybe; + /** + * An arbitrary set of property values. Owing to the dynamic nature, they do not have a specific GraphQL input type + * associated with them. Validation will be performed within the application and returned as errors if not valid. + * + */ + schemaProperties?: InputMaybe; + /** Human-readable subtitle for the entity */ + subtitle?: InputMaybe; + /** A brief description of the entity's contents. */ + summary?: InputMaybe; + tagline?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + thumbnail?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + thumbnailMetadata?: InputMaybe; + /** Human-readable title for the entity */ + title: Scalars['String']['input']; +}; + +/** Autogenerated return type of UpdateCommunity. */ +export type UpdateCommunityPayload = StandardMutationPayload & { + __typename?: 'UpdateCommunityPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** A new representation of the community, on a succesful update */ + community?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + schemaErrors: Array; +}; + +/** Autogenerated input type of UpdateContribution */ +export type UpdateContributionInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + contributionId: Scalars['ID']['input']; + /** + * "Inner" sorting discriminator for the contribution. If not provided, it will keep whatever is there. + * + * It applies _after_ the contribution role. + * + */ + innerPosition?: InputMaybe; + /** + * Metadata for the contribution. If not provided, it will keep whatever is there. + * + */ + metadata?: InputMaybe; + /** + * "Outer" sorting discriminator for the contribution. If not provided, it will keep whatever is there. + * + * It applies _before_ the contribution role. + * + */ + outerPosition?: InputMaybe; +}; + +/** Autogenerated return type of UpdateContribution. */ +export type UpdateContributionPayload = StandardMutationPayload & { + __typename?: 'UpdateContributionPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + contribution?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of UpdateGlobalConfiguration */ +export type UpdateGlobalConfigurationInput = { + /** + * If set to true, this will clear the attachment logo on this model. + * + */ + clearLogo?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * Optional settings for configuring contribution roles globally. + * + * **Note**: If left blank, it will not apply anything. + * + */ + contributionRoles?: InputMaybe; + /** Possible new settings for contributors */ + contributors?: InputMaybe; + /** Possible new settings for depositing behavior */ + depositing?: InputMaybe; + /** Possible new settings for entity behavior */ + entities?: InputMaybe; + /** Possible new settings for the institution */ + institution?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + logo?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + logoMetadata?: InputMaybe; + /** Possible new settings for the site */ + site?: InputMaybe; + /** Possible new settings for the theme */ + theme?: InputMaybe; +}; + +/** Autogenerated return type of UpdateGlobalConfiguration. */ +export type UpdateGlobalConfigurationPayload = StandardMutationPayload & { + __typename?: 'UpdateGlobalConfigurationPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + /** Though a global configuration always exists, this will be null if it fails to apply for some reason. */ + globalConfiguration?: Maybe; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of UpdateItem */ +export type UpdateItemInput = { + /** + * If set to true, this will clear the attachment hero_image on this model. + * + */ + clearHeroImage?: InputMaybe; + /** + * If set to true, this will clear the attachment thumbnail on this model. + * + */ + clearThumbnail?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * Digital Object Identifier (see: https://doi.org) + * + * **Note**: This actually gets assigned to the entity's `rawDOI`, and will be sanitized to get set on `DOI`. + * + */ + doi?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + heroImage?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + heroImageMetadata?: InputMaybe; + /** The item to update */ + itemId: Scalars['ID']['input']; + /** + * When dealing with harvested collections or items, modifying + * the entity within the admin section will cause its + * `harvestModificationStatus` to change to `MODIFIED`, which will + * prevent the harvesting system from overwriting anything within it. + * + * By setting this option to true, it will force harvested entities to + * remain `PRISTINE`, no matter what changes have been made in the admin + * section. This will allow the harvesting system to overwrite any of + * these changes when next time it runs. + * + * It must be checked _every_ time the entity is saved in the admin + * section in order to keep the pristine status intact. + * + * **Note**: It has no effect on `UNHARVESTED` entities. + * + */ + maintainPristineStatus?: InputMaybe; + /** The date this entity was published */ + published?: InputMaybe; + /** + * An arbitrary set of property values. Owing to the dynamic nature, they do not have a specific GraphQL input type + * associated with them. Validation will be performed within the application and returned as errors if not valid. + * + */ + schemaProperties?: InputMaybe; + /** Human-readable subtitle for the entity */ + subtitle?: InputMaybe; + /** A brief description of the entity's contents. */ + summary?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + thumbnail?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + thumbnailMetadata?: InputMaybe; + /** Human-readable title for the entity */ + title: Scalars['String']['input']; + /** What level of visibility the entity has */ + visibility: EntityVisibility; + /** If present, this is the timestamp an entity is visible after */ + visibleAfterAt?: InputMaybe; + /** If present, this is the timestamp an entity is visible until */ + visibleUntilAt?: InputMaybe; +}; + +/** Autogenerated return type of UpdateItem. */ +export type UpdateItemPayload = StandardMutationPayload & { + __typename?: 'UpdateItemPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** A new representation of the item, on a succesful update */ + item?: Maybe; + schemaErrors: Array; +}; + +/** Autogenerated input type of UpdateOrdering */ +export type UpdateOrderingInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + filter?: InputMaybe; + /** Optional markdown content to display after the ordering's children */ + footer?: InputMaybe; + /** Optional markdown content to display before the ordering's children */ + header?: InputMaybe; + /** A human readable label for the ordering */ + name?: InputMaybe; + order: Array; + /** + * The ID for the ordering to update + * + */ + orderingId: Scalars['ID']['input']; + render?: InputMaybe; + select?: InputMaybe; +}; + +/** Autogenerated return type of UpdateOrdering. */ +export type UpdateOrderingPayload = StandardMutationPayload & { + __typename?: 'UpdateOrderingPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** The updated ordering */ + ordering?: Maybe; +}; + +/** Autogenerated input type of UpdateOrganizationContributor */ +export type UpdateOrganizationContributorInput = { + /** A summary of the contributor */ + bio?: InputMaybe; + /** + * If set to true, this will clear the attachment image on this model. + * + */ + clearImage?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + contributorId: Scalars['ID']['input']; + /** An email associated with the contributor */ + email?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + image?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + imageMetadata?: InputMaybe; + /** The legal name of the organization */ + legalName?: InputMaybe; + links?: InputMaybe>; + /** Where the organization is located (if applicable) */ + location?: InputMaybe; + /** + * An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. + * + */ + orcid?: InputMaybe; + /** A url associated with the contributor */ + url?: InputMaybe; +}; + +/** Autogenerated return type of UpdateOrganizationContributor. */ +export type UpdateOrganizationContributorPayload = StandardMutationPayload & { + __typename?: 'UpdateOrganizationContributorPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The updated organization */ + contributor?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of UpdatePage */ +export type UpdatePageInput = { + body: Scalars['String']['input']; + /** + * If set to true, this will clear the attachment hero_image on this model. + * + */ + clearHeroImage?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + heroImage?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + heroImageMetadata?: InputMaybe; + pageId: Scalars['ID']['input']; + position?: InputMaybe; + slug: Scalars['String']['input']; + title: Scalars['String']['input']; +}; + +/** Autogenerated return type of UpdatePage. */ +export type UpdatePagePayload = StandardMutationPayload & { + __typename?: 'UpdatePagePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + page?: Maybe; +}; + +/** Autogenerated input type of UpdatePersonContributor */ +export type UpdatePersonContributorInput = { + affiliation?: InputMaybe; + /** A summary of the contributor */ + bio?: InputMaybe; + /** + * If set to true, this will clear the attachment image on this model. + * + */ + clearImage?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + contributorId: Scalars['ID']['input']; + /** An email associated with the contributor */ + email?: InputMaybe; + familyName?: InputMaybe; + givenName?: InputMaybe; + /** + * A reference to an uploaded image in Tus. + * + */ + image?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + imageMetadata?: InputMaybe; + links?: InputMaybe>; + /** + * An optional, unique [**O**pen **R**esearcher and **C**ontributor **ID**](https://orcid.org) associated with this contributor. + * + */ + orcid?: InputMaybe; + title?: InputMaybe; + /** A url associated with the contributor */ + url?: InputMaybe; +}; + +/** Autogenerated return type of UpdatePersonContributor. */ +export type UpdatePersonContributorPayload = StandardMutationPayload & { + __typename?: 'UpdatePersonContributorPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The created person */ + contributor?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** Autogenerated input type of UpdateRole */ +export type UpdateRoleInput = { + accessControlList: Scalars['JSON']['input']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + name: Scalars['String']['input']; + roleId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of UpdateRole. */ +export type UpdateRolePayload = StandardMutationPayload & { + __typename?: 'UpdateRolePayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + role?: Maybe; +}; + +/** Autogenerated input type of UpdateUser */ +export type UpdateUserInput = { + /** + * A reference to an uploaded image in Tus. + * + */ + avatar?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + avatarMetadata?: InputMaybe; + /** + * If set to true, this will clear the attachment avatar on this model. + * + */ + clearAvatar?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * Attributes for the user that correspond to attributes in Keycloak. + * + */ + profile: UserProfileInput; + userId: Scalars['ID']['input']; +}; + +/** Autogenerated return type of UpdateUser. */ +export type UpdateUserPayload = StandardMutationPayload & { + __typename?: 'UpdateUserPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + user?: Maybe; +}; + +/** Autogenerated input type of UpdateViewerSettings */ +export type UpdateViewerSettingsInput = { + /** + * A reference to an uploaded image in Tus. + * + */ + avatar?: InputMaybe; + /** + * Metadata for an image attachment. + * + */ + avatarMetadata?: InputMaybe; + /** + * If set to true, this will clear the attachment avatar on this model. + * + */ + clearAvatar?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * Attributes for the user that correspond to attributes in Keycloak. + * + */ + profile: UserProfileInput; +}; + +/** Autogenerated return type of UpdateViewerSettings. */ +export type UpdateViewerSettingsPayload = StandardMutationPayload & { + __typename?: 'UpdateViewerSettingsPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + user?: Maybe; +}; + +/** The name of a storage that can contain user uploads. There's only one option at present. */ +export type UploadStorage = + /** + * Temporary storage. Cleaned on a regular basis if uploads are not attached anywhere. + * + */ + | 'CACHE' + | '%future added value'; + +/** A definition for a file upload */ +export type UploadedFileInput = { + id: Scalars['UploadID']['input']; + /** Metadata to associate with the upload */ + metadata?: InputMaybe; + /** The storage that contains the input. */ + storage?: InputMaybe; +}; + +/** File metadata to attach to the upload. */ +export type UploadedFileMetadataInput = { + /** Alt text for the upload (not always applicable) */ + alt?: InputMaybe; + /** The original filename, since Tus mangles them. */ + filename?: InputMaybe; + /** + * The original content type. WDP will detect a real content type, so this can't be spoofed, but it can be helpful with generating + * an initial asset with the correct kind. + * + */ + mimeType?: InputMaybe; +}; + +/** Autogenerated input type of UpsertContribution */ +export type UpsertContributionInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + contributableId: Scalars['ID']['input']; + contributorId: Scalars['ID']['input']; + /** + * "Inner" sorting discriminator for the contribution. If not provided, it will keep whatever is there. + * + * It applies _after_ the contribution role. + * + */ + innerPosition?: InputMaybe; + /** + * Metadata for the contribution. If not provided, it will keep whatever is there. + * + */ + metadata?: InputMaybe; + /** + * "Outer" sorting discriminator for the contribution. If not provided, it will keep whatever is there. + * + * It applies _before_ the contribution role. + * + */ + outerPosition?: InputMaybe; + /** If not provided, it will use the default role. */ + roleId?: InputMaybe; +}; + +/** Autogenerated return type of UpsertContribution. */ +export type UpsertContributionPayload = StandardMutationPayload & { + __typename?: 'UpsertContributionPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + contribution?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; +}; + +/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ +export type User = AccessGrantSubject & CommonModel & CommonPermissions & ExposesPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'User'; + /** All access grants for this user */ + accessGrants: AnyUserAccessGrantConnection; + /** The level of access management this user has for entities in the system. */ + accessManagement: AccessManagement; + /** A polymorphic connection for access grants from a subject */ + allAccessGrants: AnyAccessGrantConnection; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + /** Is this an anonymous / unauthenticated user? */ + anonymous: Scalars['Boolean']['output']; + /** + * The roles this user has access to assign based on their `primaryRole`, + * outside of any hierarchical context. + * + * When actually assigning roles for an entity, you should use `Entity.assignableRoles`, + * because it will ensure that the user sufficient permissions at that level. + * + */ + assignableRoles: Array; + /** A user's avatar */ + avatar: ImageAttachment; + /** Configurable metadata for the avatar attachment */ + avatarMetadata?: Maybe; + /** + * Whether this user has access to the admin section of Meru. + * + * Only a `viewer` with admin access will be able to see the actual + * result of this auth check. + * + */ + canAccessAdmin: AuthorizationResult; + /** + * Whether this user has the ability to claim an unclaimed contributor profile as their own. + * + * This requires both that the user has permission to manage the system broadly, + * and that they do not already have a contributor profile linked to their account. + * + */ + canClaimContributor: AuthorizationResult; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether this user is a reviewer on **any** submission targets, and should see information about + * potential review requests in the UI. + * + * This is meant to be checked on the `Query.viewer`. + * + */ + canReceiveReviewRequests: AuthorizationResult; + /** + * Whether the current user has permission to reset this user's password. + * + */ + canResetPassword: AuthorizationResult; + /** + * Whether this user has permission to trigger revalidation of the entire frontend. + * + */ + canRevalidateInstance: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** All access grants for this user on a collection */ + collectionAccessGrants: UserCollectionAccessGrantConnection; + /** Query the collections this user has access to */ + collections: CollectionConnection; + /** Query the communities this user has access to */ + communities: CommunityConnection; + /** All access grants for this user on a community */ + communityAccessGrants: UserCommunityAccessGrantConnection; + /** + * Any links between this user and contributors in the system. + * + */ + contributorLinks: Array; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** A user's email. Depending on the upstream provider, this may not be set. */ + email?: Maybe; + /** Has this user's email been verified to work through Keycloak? */ + emailVerified: Scalars['Boolean']['output']; + /** The user's family (last) name. Depending on the upstream provider, this may not be set. */ + familyName?: Maybe; + /** The user's given (first) name. Depending on the upstream provider, this may not be set. */ + givenName?: Maybe; + /** Does this user have access to administer the entire instance? */ + globalAdmin: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; + /** All access grants for this user on an item */ + itemAccessGrants: UserItemAccessGrantConnection; + /** Query the items this user has access to */ + items: ItemConnection; + /** The user's full provided name. Depending on the upstream provider, this may not be set. */ + name?: Maybe; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; + /** + * The primary contributor associated with this user, if any. + * + * For the actual link records, see `User.contributorLinks`. + * + */ + primaryContributor?: Maybe; + /** The primary role associated with this subject. */ + primaryRole?: Maybe; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** Can this user upload anything at all? */ + uploadAccess: Scalars['Boolean']['output']; + /** If a user has any upload access, this token will allow them to do so. */ + uploadToken?: Maybe; + /** A unique username for the user. Depending on the upstream provider, this may not be set. */ + username?: Maybe; +}; + + +/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ +export type UserAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + entity?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ +export type UserAllAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + entity?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ +export type UserCollectionAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ +export type UserCollectionsArgs = { + access?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + nodeFilter?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + schema?: InputMaybe>; +}; + + +/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ +export type UserCommunitiesArgs = { + access?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + nodeFilter?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + schema?: InputMaybe>; +}; + + +/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ +export type UserCommunityAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ +export type UserItemAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** A known or anonymous user in the system. Registration and management is primarily handled through the WDP Keycloak instance. */ +export type UserItemsArgs = { + access?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + nodeFilter?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; + schema?: InputMaybe>; +}; + +/** An access grant for a user */ +export type UserAccessGrant = { + /** The polymorphic entity to which access has been granted */ + entity: Entity; + /** The role the subject has been assigned */ + role: Role; + /** The polymorphic subject that has been granted access */ + subject: AccessGrantSubject; + /** The user which has been granted access */ + user: User; +}; + +/** + * An access grant for a user to a collection. + * + */ +export type UserCollectionAccessGrant = AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserAccessGrant & { + __typename?: 'UserCollectionAccessGrant'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The collection to which a user has been granted access */ + collection: Collection; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** The polymorphic entity to which access has been granted */ + entity: Entity; + id: Scalars['ID']['output']; + /** The role the subject has been assigned */ + role: Role; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The polymorphic subject that has been granted access */ + subject: AccessGrantSubject; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** The user which has been granted access */ + user: User; +}; + +/** The connection type for UserCollectionAccessGrant. */ +export type UserCollectionAccessGrantConnection = Paginated & { + __typename?: 'UserCollectionAccessGrantConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type UserCollectionAccessGrantEdge = { + __typename?: 'UserCollectionAccessGrantEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: UserCollectionAccessGrant; +}; + +/** + * An access grant for a user to a community. + * + */ +export type UserCommunityAccessGrant = AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserAccessGrant & { + __typename?: 'UserCommunityAccessGrant'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The community to which a user has been granted access */ + community: Community; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** The polymorphic entity to which access has been granted */ + entity: Entity; + id: Scalars['ID']['output']; + /** The role the subject has been assigned */ + role: Role; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The polymorphic subject that has been granted access */ + subject: AccessGrantSubject; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** The user which has been granted access */ + user: User; +}; + +/** The connection type for UserCommunityAccessGrant. */ +export type UserCommunityAccessGrantConnection = Paginated & { + __typename?: 'UserCommunityAccessGrantConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type UserCommunityAccessGrantEdge = { + __typename?: 'UserCommunityAccessGrantEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: UserCommunityAccessGrant; +}; + +/** The connection type for User. */ +export type UserConnection = Paginated & { + __typename?: 'UserConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type UserEdge = { + __typename?: 'UserEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: User; +}; + +/** A user-readable error. Somewhat deprecated now, but may be repurposed */ +export type UserError = { + __typename?: 'UserError'; + /** The attribute path to this error, if applicable */ + attributePath?: Maybe; + code?: Maybe; + /** A description of the error */ + message: Scalars['String']['output']; + /** Which input value this error came from */ + path?: Maybe>; + /** Whether this error applies to a single attribute, or globally to the entire form */ + scope: MutationErrorScope; +}; + +/** + * Not presently exposed through the API. + * + */ +export type UserGroup = AccessGrantSubject & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & { + __typename?: 'UserGroup'; + /** All access grants for this group */ + accessGrants: AnyUserGroupAccessGrantConnection; + /** A polymorphic connection for access grants from a subject */ + allAccessGrants: AnyAccessGrantConnection; + /** + * The roles this user has access to assign based on their `primaryRole`, + * outside of any hierarchical context. + * + * When actually assigning roles for an entity, you should use `Entity.assignableRoles`, + * because it will ensure that the user sufficient permissions at that level. + * + */ + assignableRoles: Array; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** All access grants for this group on a collection */ + collectionAccessGrants: UserGroupCollectionAccessGrantConnection; + /** All access grants for this group on a community */ + communityAccessGrants: UserGroupCommunityAccessGrantConnection; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + description: Scalars['String']['output']; + id: Scalars['ID']['output']; + /** All access grants for this group on an item */ + itemAccessGrants: UserGroupItemAccessGrantConnection; + name: Scalars['String']['output']; + /** The primary role associated with this subject. */ + primaryRole?: Maybe; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + users: UserConnection; +}; + + +/** + * Not presently exposed through the API. + * + */ +export type UserGroupAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + entity?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * Not presently exposed through the API. + * + */ +export type UserGroupAllAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + entity?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * Not presently exposed through the API. + * + */ +export type UserGroupCollectionAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * Not presently exposed through the API. + * + */ +export type UserGroupCommunityAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * Not presently exposed through the API. + * + */ +export type UserGroupItemAccessGrantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + + +/** + * Not presently exposed through the API. + * + */ +export type UserGroupUsersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + page?: InputMaybe; + pageDirection?: InputMaybe; + perPage?: InputMaybe; +}; + +/** An access grant for a user group */ +export type UserGroupAccessGrant = { + /** The polymorphic entity to which access has been granted */ + entity: Entity; + /** The role the subject has been assigned */ + role: Role; + /** The polymorphic subject that has been granted access */ + subject: AccessGrantSubject; + /** The group which has been granted access */ + userGroup: UserGroup; +}; + +/** + * An access grant for a group to a collection. + * + */ +export type UserGroupCollectionAccessGrant = AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserGroupAccessGrant & { + __typename?: 'UserGroupCollectionAccessGrant'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The collection to which a group has been granted access */ + collection: Collection; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** The polymorphic entity to which access has been granted */ + entity: Entity; + id: Scalars['ID']['output']; + /** The role the subject has been assigned */ + role: Role; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The polymorphic subject that has been granted access */ + subject: AccessGrantSubject; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** The group which has been granted access */ + userGroup: UserGroup; +}; + +/** The connection type for UserGroupCollectionAccessGrant. */ +export type UserGroupCollectionAccessGrantConnection = Paginated & { + __typename?: 'UserGroupCollectionAccessGrantConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type UserGroupCollectionAccessGrantEdge = { + __typename?: 'UserGroupCollectionAccessGrantEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: UserGroupCollectionAccessGrant; +}; + +/** + * An access grant for a group to a community. + * + */ +export type UserGroupCommunityAccessGrant = AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserGroupAccessGrant & { + __typename?: 'UserGroupCommunityAccessGrant'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The community to which a group has been granted access */ + community: Community; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** The polymorphic entity to which access has been granted */ + entity: Entity; + id: Scalars['ID']['output']; + /** The role the subject has been assigned */ + role: Role; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The polymorphic subject that has been granted access */ + subject: AccessGrantSubject; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** The group which has been granted access */ + userGroup: UserGroup; +}; + +/** The connection type for UserGroupCommunityAccessGrant. */ +export type UserGroupCommunityAccessGrantConnection = Paginated & { + __typename?: 'UserGroupCommunityAccessGrantConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type UserGroupCommunityAccessGrantEdge = { + __typename?: 'UserGroupCommunityAccessGrantEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: UserGroupCommunityAccessGrant; +}; + +/** + * An access grant for a group to a item. + * + */ +export type UserGroupItemAccessGrant = AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserGroupAccessGrant & { + __typename?: 'UserGroupItemAccessGrant'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** The polymorphic entity to which access has been granted */ + entity: Entity; + id: Scalars['ID']['output']; + /** The item to which a group has been granted access */ + item: Item; + /** The role the subject has been assigned */ + role: Role; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The polymorphic subject that has been granted access */ + subject: AccessGrantSubject; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** The group which has been granted access */ + userGroup: UserGroup; +}; + +/** The connection type for UserGroupItemAccessGrant. */ +export type UserGroupItemAccessGrantConnection = Paginated & { + __typename?: 'UserGroupItemAccessGrantConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type UserGroupItemAccessGrantEdge = { + __typename?: 'UserGroupItemAccessGrantEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: UserGroupItemAccessGrant; +}; + +/** + * An access grant for a user to a collection. + * + */ +export type UserItemAccessGrant = AccessGrant & CommonModel & CommonPermissions & HasDefaultTimestamps & Node & Sluggable & UserAccessGrant & { + __typename?: 'UserItemAccessGrant'; + /** + * Whether the current user has permission to destroy this record. + * + */ + canDestroy: AuthorizationResult; + /** + * Whether the current user has permission to update this record. + * + */ + canUpdate: AuthorizationResult; + /** The date this record was created within the API. */ + createdAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was created within the API (date only). */ + createdOn: Scalars['ISO8601Date']['output']; + /** The polymorphic entity to which access has been granted */ + entity: Entity; + id: Scalars['ID']['output']; + /** The item to which a user has been granted access */ + item: Item; + /** The role the subject has been assigned */ + role: Role; + /** + * The encoded slug for this record. + * + */ + slug: Scalars['Slug']['output']; + /** The polymorphic subject that has been granted access */ + subject: AccessGrantSubject; + /** The date this record was last updated within the API. */ + updatedAt: Scalars['ISO8601DateTime']['output']; + /** The date this record was last updated within the API (date only). */ + updatedOn: Scalars['ISO8601Date']['output']; + /** The user which has been granted access */ + user: User; +}; + +/** The connection type for UserItemAccessGrant. */ +export type UserItemAccessGrantConnection = Paginated & { + __typename?: 'UserItemAccessGrantConnection'; + /** A list of edges. */ + edges: Array; + /** A list of nodes. */ + nodes: Array; + /** Information to aid in pagination. */ + pageInfo: PageInfo; +}; + +/** An edge in a connection. */ +export type UserItemAccessGrantEdge = { + __typename?: 'UserItemAccessGrantEdge'; + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: UserItemAccessGrant; +}; + +/** Sort users by a specific property and order */ +export type UserOrder = + /** Sort users with admins pushed to the top, followed by name A-Z */ + | 'ADMINS_FIRST' + /** Sort users with admins pushed to the bottom, followed by name Z-A */ + | 'ADMINS_LAST' + /** Sort users with admins pushed to the bottom, followed by `OLDEST` */ + | 'ADMINS_OLDEST' + /** Sort users with admins pushed to the top, followed by recent */ + | 'ADMINS_RECENT' + /** Sort users by their email A-Z */ + | 'EMAIL_ASCENDING' + /** Sort users by their email Z-A */ + | 'EMAIL_DESCENDING' + /** Sort users by their name A-Z */ + | 'NAME_ASCENDING' + /** Sort users by their name Z-A */ + | 'NAME_DESCENDING' + /** Sort users by oldest created date */ + | 'OLDEST' + /** Sort users by newest created date */ + | 'RECENT' + | '%future added value'; + +/** + * A grid of permissions related to user management in Meru. + * + */ +export type UserPermissionGrid = CrudPermissionGrid & ExposesPermissions & PermissionGrid & { + __typename?: 'UserPermissionGrid'; + /** A list of allowed actions for the given user on this entity (and its descendants). */ + allowedActions: Array; + create: Scalars['Boolean']['output']; + delete: Scalars['Boolean']['output']; + /** An array of hashes that can be requested to load in a context */ + permissions: Array; + read: Scalars['Boolean']['output']; + update: Scalars['Boolean']['output']; +}; + +/** + * A mapping of attributes for a user to update in the authentication provider. + * + */ +export type UserProfileInput = { + email: Scalars['String']['input']; + familyName: Scalars['String']['input']; + givenName: Scalars['String']['input']; + username: Scalars['String']['input']; +}; + +/** Autogenerated input type of UserResetPassword */ +export type UserResetPasswordInput = { + /** + * The keycloak client used to authenticate users associated with the current `location`. + * + * Must be provided. + * + */ + clientId: Scalars['String']['input']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** + * Which location the user should be sent back to once completing + * the reset password flow. + * + * It is used in concert with `redirectPath` in order to build the + * actual URL. + * + */ + location: ClientLocation; + /** + * The redirect path on the `location` to redirect the user to. + * + * Must be a **relative** URI like `"/foo/bar/baz"`. `"/"` is the minimum acceptable. + * + */ + redirectPath: Scalars['String']['input']; + /** + * Specify a user to send reset password instructions for. + * + * If left blank, it will send reset password instructions for the current user. + * + */ + userId?: InputMaybe; +}; + +/** Autogenerated return type of UserResetPassword. */ +export type UserResetPasswordPayload = StandardMutationPayload & { + __typename?: 'UserResetPasswordPayload'; + attributeErrors: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** @deprecated Use attributeErrors or globalErrors */ + errors: Array; + globalErrors: Array; + /** Not presently used */ + haltCode?: Maybe; + /** + * Whether or not instructions were successfully sent. + * + */ + success?: Maybe; + /** + * The user whose password was reset. Handy for showing the email that it was sent to. + * + */ + user?: Maybe; +}; + +export type VariableDateProperty = ScalarProperty & SchemaProperty & SearchableProperty & { + __typename?: 'VariableDateProperty'; + /** + * Provided for introspection. This describes whether or not the property's value + * comes in an array rather than representing a discrete piece of information. + * + * See `AssetsProperty`, `ContributorsProperty`, `MultiselectProperty`, and `TagsProperty` + * for examples. + * + */ + array: Scalars['Boolean']['output']; + dateWithPrecision?: Maybe; + description?: Maybe; + /** + * The full path that represents the property on the schema instance. It is guaranteed + * to be unique for the instance, and can be used to grab a property directly, as well as + * facilitating schema validation and errors within the admin application's forms. + * + */ + fullPath: Scalars['String']['output']; + /** + * The purpose or intent of this property relative to its entity, parents, and others. + * + */ + function: SchemaPropertyFunction; + /** + * Instructions for filling out this property during submission, if applicable. + * + */ + instructions?: Maybe; + /** + * Whether to render a field as "wide" (two columns) in the form. + * This is intended to help structure forms logically, as well as + * provide ample space for certain types of data input, particularly + * full-text, markdown, and other such complex fields. + * + */ + isWide: Scalars['Boolean']['output']; + /** + * Provided for introspection. This describes the underlying structure of the data type. + * + */ + kind: SchemaPropertyKind; + label: Scalars['String']['output']; + /** + * Provided for introspection. Whether this property can be used to order entities. + * For certain data types, there's no sensible way to order properties. + * + */ + orderable: Scalars['Boolean']['output']; + /** + * The "short" path for the property. For properties nested within a group, this can + * be considered the name of the property without the group's prefix. + * + */ + path: Scalars['String']['output']; + /** + * Whether or not this property is required in order for the schema instance + * to be considered valid. + * + * Note: invalid data provided to a schema property will still invalidate + * the instance as a whole—the required trait only determines whether a value + * **must** be set. + * + */ + required: Scalars['Boolean']['output']; + searchOperators: Array; + searchPath: Scalars['String']['output']; + /** + * Whether or not this property should be displayed as part of the submission process for this schema. + * + */ + submittable: Scalars['Boolean']['output']; + /** + * Provided for introspection. This represents the actual data type this property + * uses. + * + * Rendering in the frontend should rely primarily on the `AnySchemaProperty` and + * `AnyScalarProperty` unions (in that order)`, rather than relying on this value, + * since the actual implementations of these properties differ in the GraphQL types + * associated with their values. + * + */ + type: SchemaPropertyType; +}; + +/** + * A wrapper around a date that allows us to describe a level of precision to apply to it, + * which can be used in the frontend to affect its display. + * + */ +export type VariablePrecisionDate = { + __typename?: 'VariablePrecisionDate'; + /** The level of precision: the frontend can make decisions about how to format the associated value based on this */ + precision: DatePrecision; + /** The actual date, encoded in ISO8601 format (if available) */ + value?: Maybe; +}; + +/** + * A corresponding input type for VariablePrecisionDate. + * + */ +export type VariablePrecisionDateInput = { + /** The level of precision: the frontend can make decisions about how to format the associated value based on this */ + precision: DatePrecision; + /** The actual date, encoded in ISO8601 format (if available) */ + value?: InputMaybe; +}; + + + +export type ResolverTypeWrapper = Promise | T; + + +export type ResolverWithResolve = { + resolve: ResolverFn; +}; +export type Resolver = ResolverFn | ResolverWithResolve; + +export type ResolverFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => Promise | TResult; + +export type SubscriptionSubscribeFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => AsyncIterable | Promise>; + +export type SubscriptionResolveFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => TResult | Promise; + +export interface SubscriptionSubscriberObject { + subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>; + resolve?: SubscriptionResolveFn; +} + +export interface SubscriptionResolverObject { + subscribe: SubscriptionSubscribeFn; + resolve: SubscriptionResolveFn; +} + +export type SubscriptionObject = + | SubscriptionSubscriberObject + | SubscriptionResolverObject; + +export type SubscriptionResolver = + | ((...args: any[]) => SubscriptionObject) + | SubscriptionObject; + +export type TypeResolveFn = ( + parent: TParent, + context: TContext, + info: GraphQLResolveInfo +) => Maybe | Promise>; + +export type IsTypeOfResolverFn = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise; + +export type NextResolverFn = () => Promise; + +export type DirectiveResolverFn = ( + next: NextResolverFn, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => TResult | Promise; + +/** Mapping of union types */ +export type ResolversUnionTypes> = { + AnyAccessGrant: ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); + AnyAsset: ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ); + AnyChildEntity: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); + AnyCollectionAccessGrant: ( UserCollectionAccessGrant ) | ( UserGroupCollectionAccessGrant ); + AnyCommunityAccessGrant: ( UserCommunityAccessGrant ) | ( UserGroupCommunityAccessGrant ); + AnyConfigurableSubmissionTarget: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ) | ( SubmissionTarget ); + AnyContributable: ( CollectionContribution ) | ( ItemContribution ); + AnyContribution: ( CollectionContribution ) | ( ItemContribution ); + AnyContributor: ( OrganizationContributor ) | ( PersonContributor ); + AnyContributorAttribution: ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ); + AnyEntity: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + AnyHeroTemplateDefinition: ( HeroTemplateDefinition ); + AnyHeroTemplateInstance: ( HeroTemplateInstance ); + AnyListItemTemplateDefinition: ( ListItemTemplateDefinition ); + AnyListItemTemplateInstance: ( ListItemTemplateInstance ); + AnyMainTemplateDefinition: ( BlurbTemplateDefinition ) | ( ContributorListTemplateDefinition ) | ( DescendantListTemplateDefinition ) | ( DetailTemplateDefinition ) | ( LinkListTemplateDefinition ) | ( OrderingTemplateDefinition ) | ( PageListTemplateDefinition ); + AnyMainTemplateInstance: ( BlurbTemplateInstance ) | ( ContributorListTemplateInstance ) | ( DescendantListTemplateInstance ) | ( DetailTemplateInstance ) | ( LinkListTemplateInstance ) | ( OrderingTemplateInstance ) | ( PageListTemplateInstance ); + AnyMetadataTemplateDefinition: ( MetadataTemplateDefinition ); + AnyMetadataTemplateInstance: ( MetadataTemplateInstance ); + AnyNavigationTemplateDefinition: ( NavigationTemplateDefinition ); + AnyNavigationTemplateInstance: ( NavigationTemplateInstance ); + AnyOrderingPath: ( AncestorSchemaOrderingPath ) | ( AncestorStaticOrderingPath ) | ( SchemaOrderingPath ) | ( StaticOrderingPath ); + AnyScalarProperty: ( AssetProperty ) | ( AssetsProperty ) | ( BooleanProperty ) | ( ContributorProperty ) | ( ContributorsProperty ) | ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ) | ( DateProperty ) | ( EmailProperty ) | ( EntitiesProperty ) | ( EntityProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TagsProperty ) | ( TimestampProperty ) | ( UrlProperty ) | ( UnknownProperty ) | ( VariableDateProperty ); + AnySchemaProperty: ( AssetProperty ) | ( AssetsProperty ) | ( BooleanProperty ) | ( ContributorProperty ) | ( ContributorsProperty ) | ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ) | ( DateProperty ) | ( EmailProperty ) | ( EntitiesProperty ) | ( EntityProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( GroupProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TagsProperty ) | ( TimestampProperty ) | ( UrlProperty ) | ( UnknownProperty ) | ( VariableDateProperty ); + AnySupplementaryTemplateDefinition: ( SupplementaryTemplateDefinition ); + AnySupplementaryTemplateInstance: ( SupplementaryTemplateInstance ); + AnyUserAccessGrant: ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserItemAccessGrant ); + AnyUserGroupAccessGrant: ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ); + CollectionParent: ( Omit & { parent?: Maybe } ) | ( Community ); + ItemParent: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); +}; + +/** Mapping of interface types */ +export type ResolversInterfaceTypes> = { + AccessGrant: ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); + AccessGrantSubject: ( User ) | ( UserGroup ); + Accessible: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + Asset: ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ); + Attachable: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + Attributable: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); + Attribution: ( CollectionAttribution ) | ( ItemAttribution ); + CRUDPermissionGrid: ( AssetPermissionGrid ) | ( ContributorPermissionGrid ) | ( EntityPermissionGrid ) | ( RolePermissionGrid ) | ( UserPermissionGrid ); + ChildEntity: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); + CommonModel: ( Announcement ) | ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ) | ( BlurbTemplateDefinition ) | ( BlurbTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( CollectionAttribution ) | ( CollectionContribution ) | ( Community ) | ( ContextualPermission ) | ( ContributionRoleConfiguration ) | ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ) | ( ContributorListTemplateDefinition ) | ( ContributorListTemplateInstance ) | ( ContributorUserLink ) | ( ControlledVocabulary ) | ( ControlledVocabularyItem ) | ( ControlledVocabularySource ) | ( DepositorAgreement ) | ( DepositorAgreementTransition ) | ( DepositorRequest ) | ( DepositorRequestTransition ) | ( DescendantListTemplateDefinition ) | ( DescendantListTemplateInstance ) | ( DetailTemplateDefinition ) | ( DetailTemplateInstance ) | ( EntityLink ) | ( HarvestAttempt ) | ( HarvestAttemptEntityStatus ) | ( HarvestAttemptRecordStatus ) | ( HarvestEntity ) | ( HarvestError ) | ( HarvestMapping ) | ( HarvestMessage ) | ( HarvestMetadataMapping ) | ( HarvestRecord ) | ( HarvestSet ) | ( HarvestSource ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( HeroTemplateDefinition ) | ( HeroTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( ItemAttribution ) | ( ItemContribution ) | ( LinkListTemplateDefinition ) | ( LinkListTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( ListItemTemplateDefinition ) | ( ListItemTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( MetadataTemplateDefinition ) | ( MetadataTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( NavigationTemplateDefinition ) | ( NavigationTemplateInstance ) | ( Ordering ) | ( OrderingEntry ) | ( OrderingTemplateDefinition ) | ( OrderingTemplateInstance ) | ( OrganizationContributor ) | ( PageListTemplateDefinition ) | ( PageListTemplateInstance ) | ( Permalink ) | ( PersonContributor ) | ( Role ) | ( SchemaDefinition ) | ( SchemaVersion ) | ( Submission ) | ( SubmissionBatchPublication ) | ( SubmissionBatchPublicationTransition ) | ( SubmissionComment ) | ( SubmissionDepositTarget ) | ( SubmissionPublication ) | ( SubmissionPublicationTransition ) | ( SubmissionReview ) | ( SubmissionReviewTransition ) | ( SubmissionTarget ) | ( SubmissionTargetReviewer ) | ( SubmissionTargetTransition ) | ( SubmissionTransition ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( SupplementaryTemplateDefinition ) | ( SupplementaryTemplateInstance ) | ( TemplateInstanceSibling ) | ( User ) | ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroup ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); + CommonPermissions: ( Announcement ) | ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ) | ( BlurbTemplateDefinition ) | ( BlurbTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( CollectionAttribution ) | ( CollectionContribution ) | ( Community ) | ( ContextualPermission ) | ( ContributionRoleConfiguration ) | ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ) | ( ContributorListTemplateDefinition ) | ( ContributorListTemplateInstance ) | ( ContributorUserLink ) | ( ControlledVocabulary ) | ( ControlledVocabularyItem ) | ( ControlledVocabularySource ) | ( DepositorAgreement ) | ( DepositorAgreementTransition ) | ( DepositorRequest ) | ( DepositorRequestTransition ) | ( DescendantListTemplateDefinition ) | ( DescendantListTemplateInstance ) | ( DetailTemplateDefinition ) | ( DetailTemplateInstance ) | ( EntityLink ) | ( HarvestAttempt ) | ( HarvestAttemptEntityStatus ) | ( HarvestAttemptRecordStatus ) | ( HarvestEntity ) | ( HarvestError ) | ( HarvestMapping ) | ( HarvestMessage ) | ( HarvestMetadataMapping ) | ( HarvestRecord ) | ( HarvestSet ) | ( HarvestSource ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( HeroTemplateDefinition ) | ( HeroTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( ItemAttribution ) | ( ItemContribution ) | ( LinkListTemplateDefinition ) | ( LinkListTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( ListItemTemplateDefinition ) | ( ListItemTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( MetadataTemplateDefinition ) | ( MetadataTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( NavigationTemplateDefinition ) | ( NavigationTemplateInstance ) | ( Ordering ) | ( OrderingEntry ) | ( OrderingTemplateDefinition ) | ( OrderingTemplateInstance ) | ( OrganizationContributor ) | ( PageListTemplateDefinition ) | ( PageListTemplateInstance ) | ( Permalink ) | ( PersonContributor ) | ( Role ) | ( SchemaDefinition ) | ( SchemaVersion ) | ( Submission ) | ( SubmissionBatchPublication ) | ( SubmissionBatchPublicationTransition ) | ( SubmissionComment ) | ( SubmissionDepositTarget ) | ( SubmissionPublication ) | ( SubmissionPublicationTransition ) | ( SubmissionReview ) | ( SubmissionReviewTransition ) | ( SubmissionTarget ) | ( SubmissionTargetReviewer ) | ( SubmissionTargetTransition ) | ( SubmissionTransition ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( SupplementaryTemplateDefinition ) | ( SupplementaryTemplateInstance ) | ( TemplateInstanceSibling ) | ( User ) | ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroup ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); + CommonTransition: ( DepositorAgreementTransition ) | ( DepositorRequestTransition ) | ( SubmissionBatchPublicationTransition ) | ( SubmissionPublicationTransition ) | ( SubmissionReviewTransition ) | ( SubmissionTargetTransition ) | ( SubmissionTransition ); + Contributable: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); + Contribution: ( CollectionContribution ) | ( ItemContribution ); + ContributionBase: ( CollectionContribution ) | ( ItemContribution ) | ( TemplateContribution ); + Contributor: ( OrganizationContributor ) | ( PersonContributor ); + ContributorAttribution: ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ); + ContributorBase: ( OrganizationContributor ) | ( PersonContributor ); + DescribesSchema: ( HierarchicalSchemaRank ) | ( HierarchicalSchemaVersionRank ) | ( SchemaDefinition ) | ( SchemaVersion ); + DestroyMutationPayload: ( ContributorUserLinkDestroyPayload ) | ( ControlledVocabularyDestroyPayload ) | ( DestroyAnnouncementPayload ) | ( DestroyAssetPayload ) | ( DestroyCollectionPayload ) | ( DestroyCommunityPayload ) | ( DestroyContributionPayload ) | ( DestroyContributorPayload ) | ( DestroyEntityLinkPayload ) | ( DestroyItemPayload ) | ( DestroyOrderingPayload ) | ( DestroyPagePayload ) | ( EntityPurgePayload ) | ( HarvestMappingDestroyPayload ) | ( HarvestMetadataMappingDestroyPayload ) | ( HarvestSourceDestroyPayload ) | ( PermalinkDestroyPayload ) | ( SubmissionCommentDestroyPayload ) | ( SubmissionTargetReviewerDestroyPayload ); + Entity: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + EntityBase: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + EntityContextualPermissions: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + EntityPermissions: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + ExposesPermissions: ( AccessControlList ) | ( AdminPermissionGrid ) | ( AssetPermissionGrid ) | ( Omit & { parent?: Maybe } ) | ( Community ) | ( ContextualPermission ) | ( ContributorPermissionGrid ) | ( EntityPermissionGrid ) | ( GlobalAccessControlList ) | ( Omit & { parent?: Maybe } ) | ( RolePermissionGrid ) | ( SettingsPermissionGrid ) | ( User ) | ( UserPermissionGrid ); + HarvestAttemptable: ( HarvestMapping ) | ( HarvestSource ); + HarvestTarget: ( Omit & { parent?: Maybe } ) | ( Community ); + HasAttachmentStorage: ( ImageAttachment ) | ( ImageOriginal ) | ( SiteLogoAttachment ); + HasAvailableEntities: ( EntitiesProperty ) | ( EntityProperty ); + HasControlledVocabulary: ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ); + HasDOI: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); + HasDefaultTimestamps: ( Announcement ) | ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ) | ( BlurbTemplateDefinition ) | ( BlurbTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( CollectionAttribution ) | ( CollectionContribution ) | ( Community ) | ( ContextualPermission ) | ( ContributionRoleConfiguration ) | ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ) | ( ContributorListTemplateDefinition ) | ( ContributorListTemplateInstance ) | ( ContributorUserLink ) | ( ControlledVocabulary ) | ( ControlledVocabularyItem ) | ( ControlledVocabularySource ) | ( DepositorAgreement ) | ( DepositorAgreementTransition ) | ( DepositorRequest ) | ( DepositorRequestTransition ) | ( DescendantListTemplateDefinition ) | ( DescendantListTemplateInstance ) | ( DetailTemplateDefinition ) | ( DetailTemplateInstance ) | ( EntityLink ) | ( HarvestAttempt ) | ( HarvestAttemptEntityStatus ) | ( HarvestAttemptRecordStatus ) | ( HarvestEntity ) | ( HarvestError ) | ( HarvestMapping ) | ( HarvestMessage ) | ( HarvestMetadataMapping ) | ( HarvestRecord ) | ( HarvestSet ) | ( HarvestSource ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( HeroTemplateDefinition ) | ( HeroTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( ItemAttribution ) | ( ItemContribution ) | ( LinkListTemplateDefinition ) | ( LinkListTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( ListItemTemplateDefinition ) | ( ListItemTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( MetadataTemplateDefinition ) | ( MetadataTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( NavigationTemplateDefinition ) | ( NavigationTemplateInstance ) | ( Ordering ) | ( OrderingEntry ) | ( OrderingTemplateDefinition ) | ( OrderingTemplateInstance ) | ( OrganizationContributor ) | ( PageListTemplateDefinition ) | ( PageListTemplateInstance ) | ( Permalink ) | ( PersonContributor ) | ( Role ) | ( SchemaDefinition ) | ( SchemaVersion ) | ( Submission ) | ( SubmissionBatchPublication ) | ( SubmissionBatchPublicationTransition ) | ( SubmissionComment ) | ( SubmissionDepositTarget ) | ( SubmissionPublication ) | ( SubmissionPublicationTransition ) | ( SubmissionReview ) | ( SubmissionReviewTransition ) | ( SubmissionTarget ) | ( SubmissionTargetReviewer ) | ( SubmissionTargetTransition ) | ( SubmissionTransition ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( SupplementaryTemplateDefinition ) | ( SupplementaryTemplateInstance ) | ( TemplateInstanceSibling ) | ( User ) | ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroup ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); + HasEntityAnalytics: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + HasEntityBreadcrumbs: ( Omit & { parent?: Maybe } ) | ( Community ) | ( EntitySelectOption ) | ( Omit & { parent?: Maybe } ); + HasHarvestErrors: ( HarvestAttempt ) | ( HarvestRecord ); + HasHarvestExtractionMappingTemplate: ( HarvestAttempt ) | ( HarvestMapping ) | ( HarvestSource ); + HasHarvestMetadataFormat: ( HarvestAttempt ) | ( HarvestMapping ) | ( HarvestRecord ) | ( HarvestSource ); + HasHarvestModificationStatus: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ) | ( OrganizationContributor ) | ( PersonContributor ); + HasHarvestOptions: ( HarvestMapping ) | ( HarvestSource ); + HasSchemaProperties: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ) | ( SchemaVersion ); + Image: ( ImageDerivative ) | ( ImageOriginal ); + ImageIdentification: ( ImageAttachment ) | ( ImageDerivative ) | ( ImageOriginal ) | ( ImageSize ) | ( SiteLogoAttachment ); + LayoutDefinition: ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ); + LayoutInstance: ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ); + Node: ( Announcement ) | ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ) | ( BlurbTemplateDefinition ) | ( BlurbTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( CollectionAttribution ) | ( CollectionContribution ) | ( Community ) | ( ContextualPermission ) | ( ContributionRoleConfiguration ) | ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ) | ( ContributorListTemplateDefinition ) | ( ContributorListTemplateInstance ) | ( ContributorUserLink ) | ( ControlledVocabulary ) | ( ControlledVocabularyItem ) | ( ControlledVocabularySource ) | ( DepositorAgreement ) | ( DepositorAgreementTransition ) | ( DepositorRequest ) | ( DepositorRequestTransition ) | ( DescendantListTemplateDefinition ) | ( DescendantListTemplateInstance ) | ( DetailTemplateDefinition ) | ( DetailTemplateInstance ) | ( EntityBreadcrumb ) | ( EntityLink ) | ( GlobalConfiguration ) | ( HarvestAttempt ) | ( HarvestAttemptEntityStatus ) | ( HarvestAttemptRecordStatus ) | ( HarvestEntity ) | ( HarvestError ) | ( HarvestMapping ) | ( HarvestMessage ) | ( HarvestMetadataMapping ) | ( HarvestRecord ) | ( HarvestSet ) | ( HarvestSource ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( HeroTemplateDefinition ) | ( HeroTemplateInstance ) | ( HierarchicalSchemaRank ) | ( HierarchicalSchemaVersionRank ) | ( Omit & { parent?: Maybe } ) | ( ItemAttribution ) | ( ItemContribution ) | ( LinkListTemplateDefinition ) | ( LinkListTemplateInstance ) | ( LinkTargetCandidate ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( ListItemTemplateDefinition ) | ( ListItemTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( MetadataTemplateDefinition ) | ( MetadataTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( NavigationTemplateDefinition ) | ( NavigationTemplateInstance ) | ( Ordering ) | ( OrderingEntry ) | ( OrderingTemplateDefinition ) | ( OrderingTemplateInstance ) | ( OrganizationContributor ) | ( Page ) | ( PageListTemplateDefinition ) | ( PageListTemplateInstance ) | ( Permalink ) | ( PersonContributor ) | ( Role ) | ( SchemaDefinition ) | ( SchemaVersion ) | ( SearchResult ) | ( Submission ) | ( SubmissionBatchPublication ) | ( SubmissionBatchPublicationTransition ) | ( SubmissionComment ) | ( SubmissionDepositTarget ) | ( SubmissionPublication ) | ( SubmissionPublicationTransition ) | ( SubmissionReview ) | ( SubmissionReviewTransition ) | ( SubmissionTarget ) | ( SubmissionTargetReviewer ) | ( SubmissionTargetTransition ) | ( SubmissionTransition ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( SupplementaryTemplateDefinition ) | ( SupplementaryTemplateInstance ) | ( TemplateInstanceSibling ) | ( User ) | ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroup ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); + OptionableProperty: ( MultiselectProperty ) | ( SelectProperty ); + OrderingEntryable: ( Omit & { parent?: Maybe } ) | ( Community ) | ( EntityLink ) | ( Omit & { parent?: Maybe } ); + OrderingPath: ( AncestorSchemaOrderingPath ) | ( AncestorStaticOrderingPath ) | ( SchemaOrderingPath ) | ( StaticOrderingPath ); + Paginated: ( AnnouncementConnection ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( Omit & { nodes: Array } ) | ( AssetConnection ) | ( CollectionConnection ) | ( CollectionContributionConnection ) | ( CommunityConnection ) | ( ContextualPermissionConnection ) | ( ContributorAttributionConnection ) | ( ControlledVocabularyConnection ) | ( ControlledVocabularySourceConnection ) | ( DepositorAgreementTransitionConnection ) | ( DepositorRequestConnection ) | ( DepositorRequestTransitionConnection ) | ( EntityDescendantConnection ) | ( EntityLinkConnection ) | ( HarvestAttemptConnection ) | ( HarvestMappingConnection ) | ( HarvestMessageConnection ) | ( HarvestMetadataMappingConnection ) | ( HarvestRecordConnection ) | ( HarvestSetConnection ) | ( HarvestSourceConnection ) | ( ItemConnection ) | ( ItemContributionConnection ) | ( LinkTargetCandidateConnection ) | ( OrderingConnection ) | ( OrderingEntryConnection ) | ( PageConnection ) | ( PermalinkConnection ) | ( RoleConnection ) | ( SchemaDefinitionConnection ) | ( SchemaVersionConnection ) | ( SearchResultConnection ) | ( SubmissionBatchPublicationTransitionConnection ) | ( SubmissionCommentConnection ) | ( SubmissionConnection ) | ( SubmissionPublicationTransitionConnection ) | ( SubmissionReviewConnection ) | ( SubmissionReviewTransitionConnection ) | ( SubmissionTargetConnection ) | ( SubmissionTargetReviewerConnection ) | ( SubmissionTargetTransitionConnection ) | ( SubmissionTransitionConnection ) | ( UserCollectionAccessGrantConnection ) | ( UserCommunityAccessGrantConnection ) | ( UserConnection ) | ( UserGroupCollectionAccessGrantConnection ) | ( UserGroupCommunityAccessGrantConnection ) | ( UserGroupItemAccessGrantConnection ) | ( UserItemAccessGrantConnection ); + Permalinkable: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + PermissionGrid: ( AdminPermissionGrid ) | ( AssetPermissionGrid ) | ( ContributorPermissionGrid ) | ( EntityPermissionGrid ) | ( RolePermissionGrid ) | ( SettingsPermissionGrid ) | ( UserPermissionGrid ); + QueriesAccessAndRoles: ( Query ); + QueriesContrib: ( Query ); + QueriesControlledVocabulary: ( Query ); + QueriesControlledVocabularySource: ( Query ); + QueriesDepositorRequest: ( Query ); + QueriesEntities: ( Query ); + QueriesHarvestAttempt: ( Query ); + QueriesHarvestExample: ( Query ); + QueriesHarvestMapping: ( Query ); + QueriesHarvestMessage: ( HarvestAttempt ) | ( HarvestEntity ) | ( HarvestMapping ) | ( HarvestRecord ) | ( HarvestSource ) | ( Query ); + QueriesHarvestRecord: ( Query ); + QueriesHarvestSet: ( Query ); + QueriesHarvestSource: ( Query ); + QueriesPermalink: ( Query ); + QueriesSchemas: ( Query ); + QueriesSubmission: ( Query ); + QueriesSubmissionComment: ( Query ); + QueriesSubmissionReview: ( Query ); + QueriesSubmissionTarget: ( Query ); + QueriesSubmissionTargetReviewer: ( Query ); + QueriesSystem: ( Query ); + QueriesUser: ( Query ); + ReferencesEntityVisibility: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); + ReferencesGlobalEntityDates: ( Omit & { parent?: Maybe } ) | ( Omit & { parent?: Maybe } ); + Renderable: ( BlurbTemplateInstance ) | ( ContributorListTemplateInstance ) | ( DescendantListTemplateInstance ) | ( DetailTemplateInstance ) | ( Omit & { templates: Array } ) | ( HeroTemplateInstance ) | ( LinkListTemplateInstance ) | ( Omit & { templates: Array } ) | ( ListItemTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( MetadataTemplateInstance ) | ( Omit & { templates: Array } ) | ( NavigationTemplateInstance ) | ( OrderingTemplateInstance ) | ( PageListTemplateInstance ) | ( Omit & { templates: Array } ) | ( SupplementaryTemplateInstance ); + ScalarProperty: ( AssetProperty ) | ( AssetsProperty ) | ( BooleanProperty ) | ( ContributorProperty ) | ( ContributorsProperty ) | ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ) | ( DateProperty ) | ( EmailProperty ) | ( EntitiesProperty ) | ( EntityProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TagsProperty ) | ( TimestampProperty ) | ( UrlProperty ) | ( UnknownProperty ) | ( VariableDateProperty ); + SchemaInstance: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + SchemaProperty: ( AssetProperty ) | ( AssetsProperty ) | ( BooleanProperty ) | ( ContributorProperty ) | ( ContributorsProperty ) | ( ControlledVocabulariesProperty ) | ( ControlledVocabularyProperty ) | ( DateProperty ) | ( EmailProperty ) | ( EntitiesProperty ) | ( EntityProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( GroupProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TagsProperty ) | ( TimestampProperty ) | ( UrlProperty ) | ( UnknownProperty ) | ( VariableDateProperty ); + Searchable: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ) | ( Ordering ) | ( Query ) | ( SchemaVersion ); + SearchableProperty: ( BooleanProperty ) | ( DateProperty ) | ( FloatProperty ) | ( FullTextProperty ) | ( IntegerProperty ) | ( MarkdownProperty ) | ( MultiselectProperty ) | ( SearchableCoreProperty ) | ( SelectProperty ) | ( StringProperty ) | ( TimestampProperty ) | ( VariableDateProperty ); + Sluggable: ( Announcement ) | ( AssetAudio ) | ( AssetDocument ) | ( AssetImage ) | ( AssetPdf ) | ( AssetUnknown ) | ( AssetVideo ) | ( BlurbTemplateDefinition ) | ( BlurbTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( CollectionAttribution ) | ( CollectionContribution ) | ( Community ) | ( ContextualPermission ) | ( ContributionRoleConfiguration ) | ( ContributorCollectionAttribution ) | ( ContributorItemAttribution ) | ( ContributorListTemplateDefinition ) | ( ContributorListTemplateInstance ) | ( ContributorUserLink ) | ( ControlledVocabulary ) | ( ControlledVocabularyItem ) | ( ControlledVocabularySource ) | ( DepositorAgreement ) | ( DepositorAgreementTransition ) | ( DepositorRequest ) | ( DepositorRequestTransition ) | ( DescendantListTemplateDefinition ) | ( DescendantListTemplateInstance ) | ( DetailTemplateDefinition ) | ( DetailTemplateInstance ) | ( EntityLink ) | ( HarvestAttempt ) | ( HarvestAttemptEntityStatus ) | ( HarvestAttemptRecordStatus ) | ( HarvestEntity ) | ( HarvestError ) | ( HarvestMapping ) | ( HarvestMessage ) | ( HarvestMetadataMapping ) | ( HarvestRecord ) | ( HarvestSet ) | ( HarvestSource ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( HeroTemplateDefinition ) | ( HeroTemplateInstance ) | ( Omit & { parent?: Maybe } ) | ( ItemAttribution ) | ( ItemContribution ) | ( LinkListTemplateDefinition ) | ( LinkListTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( ListItemTemplateDefinition ) | ( ListItemTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( MetadataTemplateDefinition ) | ( MetadataTemplateInstance ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( NavigationTemplateDefinition ) | ( NavigationTemplateInstance ) | ( Ordering ) | ( OrderingEntry ) | ( OrderingTemplateDefinition ) | ( OrderingTemplateInstance ) | ( OrganizationContributor ) | ( PageListTemplateDefinition ) | ( PageListTemplateInstance ) | ( Permalink ) | ( PersonContributor ) | ( Role ) | ( SchemaDefinition ) | ( SchemaVersion ) | ( SearchResult ) | ( Submission ) | ( SubmissionBatchPublication ) | ( SubmissionBatchPublicationTransition ) | ( SubmissionComment ) | ( SubmissionDepositTarget ) | ( SubmissionPublication ) | ( SubmissionPublicationTransition ) | ( SubmissionReview ) | ( SubmissionReviewTransition ) | ( SubmissionTarget ) | ( SubmissionTargetReviewer ) | ( SubmissionTargetTransition ) | ( SubmissionTransition ) | ( Omit & { templates: Array } ) | ( Omit & { templates: Array } ) | ( SupplementaryTemplateDefinition ) | ( SupplementaryTemplateInstance ) | ( TemplateInstanceSibling ) | ( User ) | ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserGroup ) | ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ) | ( UserItemAccessGrant ); + StandardMutationPayload: ( Omit & { entity?: Maybe } ) | ( Omit & { entity?: Maybe } ) | ( ContributorClaimPayload ) | ( ContributorMergePayload ) | ( ContributorUserLinkDestroyPayload ) | ( ContributorUserLinkUpsertPayload ) | ( ControlledVocabularyDestroyPayload ) | ( ControlledVocabularySourceUpdatePayload ) | ( ControlledVocabularyUpsertPayload ) | ( CreateAnnouncementPayload ) | ( Omit & { asset?: Maybe } ) | ( CreateCollectionPayload ) | ( CreateCommunityPayload ) | ( CreateItemPayload ) | ( CreateOrderingPayload ) | ( CreateOrganizationContributorPayload ) | ( CreatePagePayload ) | ( CreatePersonContributorPayload ) | ( CreateRolePayload ) | ( DepositorAgreementAcceptPayload ) | ( DepositorAgreementResetAllPayload ) | ( DepositorAgreementResetPayload ) | ( DepositorRequestChangeStatePayload ) | ( DepositorRequestCreatePayload ) | ( DestroyAnnouncementPayload ) | ( DestroyAssetPayload ) | ( DestroyCollectionPayload ) | ( DestroyCommunityPayload ) | ( DestroyContributionPayload ) | ( DestroyContributorPayload ) | ( DestroyEntityLinkPayload ) | ( DestroyItemPayload ) | ( DestroyOrderingPayload ) | ( DestroyPagePayload ) | ( EntityPurgePayload ) | ( FrontendCacheRevalidateEntityPayload ) | ( FrontendCacheRevalidateInstancePayload ) | ( Omit & { entity?: Maybe } ) | ( HarvestAttemptFromMappingPayload ) | ( HarvestAttemptFromSourcePayload ) | ( HarvestAttemptPruneEntitiesPayload ) | ( HarvestMappingCreatePayload ) | ( HarvestMappingDestroyPayload ) | ( HarvestMappingUpdatePayload ) | ( HarvestMetadataMappingCreatePayload ) | ( HarvestMetadataMappingDestroyPayload ) | ( HarvestSourceCreatePayload ) | ( HarvestSourceDestroyPayload ) | ( HarvestSourcePruneEntitiesPayload ) | ( HarvestSourceUpdatePayload ) | ( LinkEntityPayload ) | ( PermalinkCreatePayload ) | ( PermalinkDestroyPayload ) | ( PermalinkUpdatePayload ) | ( PreviewSlotPayload ) | ( Omit & { entity?: Maybe } ) | ( Omit & { child?: Maybe } ) | ( ResetOrderingPayload ) | ( Omit & { entity?: Maybe } ) | ( SubmissionBatchPublishPayload ) | ( SubmissionChangeStatePayload ) | ( SubmissionCommentCreatePayload ) | ( SubmissionCommentDestroyPayload ) | ( SubmissionCommentUpdatePayload ) | ( SubmissionCreatePayload ) | ( SubmissionLeaveReviewPayload ) | ( SubmissionPublishPayload ) | ( SubmissionRequestReviewPayload ) | ( SubmissionTargetClosePayload ) | ( SubmissionTargetConfigurePayload ) | ( SubmissionTargetOpenPayload ) | ( SubmissionTargetReviewerCreatePayload ) | ( SubmissionTargetReviewerDestroyPayload ) | ( UpdateAnnouncementPayload ) | ( Omit & { asset?: Maybe } ) | ( Omit & { asset?: Maybe } ) | ( UpdateCollectionPayload ) | ( UpdateCommunityPayload ) | ( Omit & { contribution?: Maybe } ) | ( UpdateGlobalConfigurationPayload ) | ( UpdateItemPayload ) | ( UpdateOrderingPayload ) | ( UpdateOrganizationContributorPayload ) | ( UpdatePagePayload ) | ( UpdatePersonContributorPayload ) | ( UpdateRolePayload ) | ( UpdateUserPayload ) | ( UpdateViewerSettingsPayload ) | ( Omit & { contribution?: Maybe } ) | ( UserResetPasswordPayload ); + Submittable: ( Omit & { parent?: Maybe } ) | ( Community ) | ( Omit & { parent?: Maybe } ); + TemplateDefinition: ( BlurbTemplateDefinition ) | ( ContributorListTemplateDefinition ) | ( DescendantListTemplateDefinition ) | ( DetailTemplateDefinition ) | ( HeroTemplateDefinition ) | ( LinkListTemplateDefinition ) | ( ListItemTemplateDefinition ) | ( MetadataTemplateDefinition ) | ( NavigationTemplateDefinition ) | ( OrderingTemplateDefinition ) | ( PageListTemplateDefinition ) | ( SupplementaryTemplateDefinition ); + TemplateHasContributionList: ( ContributorListTemplateInstance ); + TemplateHasEntityList: ( DescendantListTemplateInstance ) | ( LinkListTemplateInstance ) | ( ListItemTemplateInstance ); + TemplateHasOrderingPair: ( OrderingTemplateInstance ); + TemplateHasSeeAllOrdering: ( DescendantListTemplateInstance ) | ( LinkListTemplateInstance ) | ( ListItemTemplateInstance ); + TemplateInstance: ( BlurbTemplateInstance ) | ( ContributorListTemplateInstance ) | ( DescendantListTemplateInstance ) | ( DetailTemplateInstance ) | ( HeroTemplateInstance ) | ( LinkListTemplateInstance ) | ( ListItemTemplateInstance ) | ( MetadataTemplateInstance ) | ( NavigationTemplateInstance ) | ( OrderingTemplateInstance ) | ( PageListTemplateInstance ) | ( SupplementaryTemplateInstance ); + TemplateSlotDefinition: ( TemplateSlotBlockDefinition ) | ( TemplateSlotInlineDefinition ); + TemplateSlotInstance: ( TemplateSlotBlockInstance ) | ( TemplateSlotInlineInstance ); + UserAccessGrant: ( UserCollectionAccessGrant ) | ( UserCommunityAccessGrant ) | ( UserItemAccessGrant ); + UserGroupAccessGrant: ( UserGroupCollectionAccessGrant ) | ( UserGroupCommunityAccessGrant ) | ( UserGroupItemAccessGrant ); +}; + +/** Mapping between all available schema types and the resolvers types */ +export type ResolversTypes = { + AccessControlList: ResolverTypeWrapper; AccessGrant: ResolverTypeWrapper['AccessGrant']>; AccessGrantEntityFilter: AccessGrantEntityFilter; AccessGrantSubject: ResolverTypeWrapper['AccessGrantSubject']>; AccessGrantSubjectFilter: AccessGrantSubjectFilter; AccessManagement: AccessManagement; Accessible: ResolverTypeWrapper['Accessible']>; + AdminPermissionGrid: ResolverTypeWrapper; AlterSchemaVersionInput: AlterSchemaVersionInput; AlterSchemaVersionPayload: ResolverTypeWrapper & { entity?: Maybe }>; Analytics: ResolverTypeWrapper; @@ -21575,6 +29067,7 @@ export type ResolversTypes = { AnyCommunityAccessGrant: ResolverTypeWrapper['AnyCommunityAccessGrant']>; AnyCommunityAccessGrantConnection: ResolverTypeWrapper & { nodes: Array }>; AnyCommunityAccessGrantEdge: ResolverTypeWrapper & { node: ResolversTypes['AnyCommunityAccessGrant'] }>; + AnyConfigurableSubmissionTarget: ResolverTypeWrapper['AnyConfigurableSubmissionTarget']>; AnyContributable: ResolverTypeWrapper['AnyContributable']>; AnyContribution: ResolverTypeWrapper['AnyContribution']>; AnyContributor: ResolverTypeWrapper['AnyContributor']>; @@ -21624,6 +29117,7 @@ export type ResolversTypes = { AttachmentStorage: AttachmentStorage; Attributable: ResolverTypeWrapper['Attributable']>; Attribution: ResolverTypeWrapper['Attribution']>; + AuthorizationResult: ResolverTypeWrapper; BlurbBackground: BlurbBackground; BlurbTemplateDefinition: ResolverTypeWrapper; BlurbTemplateDefinitionSlots: ResolverTypeWrapper; @@ -21643,6 +29137,9 @@ export type ResolversTypes = { CollectionContributionEdge: ResolverTypeWrapper; CollectionEdge: ResolverTypeWrapper; CollectionParent: ResolverTypeWrapper['CollectionParent']>; + CommonModel: ResolverTypeWrapper['CommonModel']>; + CommonPermissions: ResolverTypeWrapper['CommonPermissions']>; + CommonTransition: ResolverTypeWrapper['CommonTransition']>; Community: ResolverTypeWrapper; CommunityConnection: ResolverTypeWrapper; CommunityEdge: ResolverTypeWrapper; @@ -21664,7 +29161,10 @@ export type ResolversTypes = { ContributorAttributionEdge: ResolverTypeWrapper; ContributorAttributionOrder: ContributorAttributionOrder; ContributorBase: ResolverTypeWrapper['ContributorBase']>; + ContributorClaimInput: ContributorClaimInput; + ContributorClaimPayload: ResolverTypeWrapper; ContributorCollectionAttribution: ResolverTypeWrapper; + ContributorFilterInput: ContributorFilterInput; ContributorFilterKind: ContributorFilterKind; ContributorItemAttribution: ResolverTypeWrapper; ContributorKind: ContributorKind; @@ -21677,10 +29177,23 @@ export type ResolversTypes = { ContributorListTemplateInstance: ResolverTypeWrapper; ContributorListTemplateInstanceSlots: ResolverTypeWrapper; ContributorLookupField: ContributorLookupField; + ContributorMergeInput: ContributorMergeInput; + ContributorMergePayload: ResolverTypeWrapper; + ContributorMergeSourceStatus: ContributorMergeSourceStatus; + ContributorMergeTargetStatus: ContributorMergeTargetStatus; ContributorOrder: ContributorOrder; + ContributorPermissionGrid: ResolverTypeWrapper; ContributorProperty: ResolverTypeWrapper; ContributorSelectOption: ResolverTypeWrapper; + ContributorUserLink: ResolverTypeWrapper; + ContributorUserLinkDestroyInput: ContributorUserLinkDestroyInput; + ContributorUserLinkDestroyPayload: ResolverTypeWrapper; + ContributorUserLinkUpsertInput: ContributorUserLinkUpsertInput; + ContributorUserLinkUpsertPayload: ResolverTypeWrapper; + ContributorUserLinkage: ContributorUserLinkage; ContributorsProperty: ResolverTypeWrapper; + ContributorsSettings: ResolverTypeWrapper; + ContributorsSettingsInput: ContributorsSettingsInput; ControlledVocabulariesProperty: ResolverTypeWrapper; ControlledVocabulary: ResolverTypeWrapper; ControlledVocabularyConnection: ResolverTypeWrapper; @@ -21728,6 +29241,32 @@ export type ResolversTypes = { DateLTEOperatorInput: DateLteOperatorInput; DatePrecision: DatePrecision; DateProperty: ResolverTypeWrapper; + DepositingSettings: ResolverTypeWrapper; + DepositingSettingsInput: DepositingSettingsInput; + DepositorAgreement: ResolverTypeWrapper; + DepositorAgreementAcceptInput: DepositorAgreementAcceptInput; + DepositorAgreementAcceptPayload: ResolverTypeWrapper; + DepositorAgreementResetAllInput: DepositorAgreementResetAllInput; + DepositorAgreementResetAllPayload: ResolverTypeWrapper; + DepositorAgreementResetInput: DepositorAgreementResetInput; + DepositorAgreementResetPayload: ResolverTypeWrapper; + DepositorAgreementState: DepositorAgreementState; + DepositorAgreementTransition: ResolverTypeWrapper; + DepositorAgreementTransitionConnection: ResolverTypeWrapper; + DepositorAgreementTransitionEdge: ResolverTypeWrapper; + DepositorRequest: ResolverTypeWrapper; + DepositorRequestChangeStateInput: DepositorRequestChangeStateInput; + DepositorRequestChangeStatePayload: ResolverTypeWrapper; + DepositorRequestConnection: ResolverTypeWrapper; + DepositorRequestCreateInput: DepositorRequestCreateInput; + DepositorRequestCreatePayload: ResolverTypeWrapper; + DepositorRequestEdge: ResolverTypeWrapper; + DepositorRequestFilterInput: DepositorRequestFilterInput; + DepositorRequestOrder: DepositorRequestOrder; + DepositorRequestState: DepositorRequestState; + DepositorRequestTransition: ResolverTypeWrapper; + DepositorRequestTransitionConnection: ResolverTypeWrapper; + DepositorRequestTransitionEdge: ResolverTypeWrapper; DescendantListBackground: DescendantListBackground; DescendantListSelectionMode: DescendantListSelectionMode; DescendantListTemplateDefinition: ResolverTypeWrapper; @@ -21764,7 +29303,6 @@ export type ResolversTypes = { DetailTemplateInstanceSlots: ResolverTypeWrapper; DetailVariant: DetailVariant; Direction: Direction; - EffectiveAccess: ResolverTypeWrapper; EmailProperty: ResolverTypeWrapper; EntitiesProperty: ResolverTypeWrapper; EntitiesSettings: ResolverTypeWrapper; @@ -21772,6 +29310,7 @@ export type ResolversTypes = { Entity: ResolverTypeWrapper['Entity']>; EntityBase: ResolverTypeWrapper['EntityBase']>; EntityBreadcrumb: ResolverTypeWrapper; + EntityContextualPermissions: ResolverTypeWrapper['EntityContextualPermissions']>; EntityDescendant: ResolverTypeWrapper; EntityDescendantConnection: ResolverTypeWrapper; EntityDescendantEdge: ResolverTypeWrapper; @@ -21787,16 +29326,19 @@ export type ResolversTypes = { EntityOrder: EntityOrder; EntityPermissionFilter: EntityPermissionFilter; EntityPermissionGrid: ResolverTypeWrapper; + EntityPermissions: ResolverTypeWrapper['EntityPermissions']>; EntityProperty: ResolverTypeWrapper; EntityPurgeInput: EntityPurgeInput; EntityPurgePayload: ResolverTypeWrapper; EntityScope: EntityScope; EntitySelectOption: ResolverTypeWrapper; + EntitySubmissionStatus: EntitySubmissionStatus; EntityVisibility: EntityVisibility; EntityVisibilityFilter: EntityVisibilityFilter; EqualsOperatorInput: EqualsOperatorInput; - ExposesEffectiveAccess: ResolverTypeWrapper['ExposesEffectiveAccess']>; ExposesPermissions: ResolverTypeWrapper['ExposesPermissions']>; + FailureReasons: ResolverTypeWrapper; + FilterMatchTimeInput: FilterMatchTimeInput; Float: ResolverTypeWrapper; FloatProperty: ResolverTypeWrapper; FrontendCacheRevalidateEntityInput: FrontendCacheRevalidateEntityInput; @@ -21806,6 +29348,8 @@ export type ResolversTypes = { FullText: ResolverTypeWrapper; FullTextKind: FullTextKind; FullTextProperty: ResolverTypeWrapper; + FullTextSearchQueryInput: FullTextSearchQueryInput; + FullTextSearchStrategy: FullTextSearchStrategy; GlobalAccessControlList: ResolverTypeWrapper; GlobalConfiguration: ResolverTypeWrapper; GrantAccessInput: GrantAccessInput; @@ -21937,6 +29481,7 @@ export type ResolversTypes = { ItemContributionConnection: ResolverTypeWrapper; ItemContributionEdge: ResolverTypeWrapper; ItemEdge: ResolverTypeWrapper; + ItemFilterInput: ItemFilterInput; ItemParent: ResolverTypeWrapper['ItemParent']>; JSON: ResolverTypeWrapper; LayoutDefinition: ResolverTypeWrapper['LayoutDefinition']>; @@ -22061,6 +29606,7 @@ export type ResolversTypes = { QueriesContrib: ResolverTypeWrapper['QueriesContrib']>; QueriesControlledVocabulary: ResolverTypeWrapper['QueriesControlledVocabulary']>; QueriesControlledVocabularySource: ResolverTypeWrapper['QueriesControlledVocabularySource']>; + QueriesDepositorRequest: ResolverTypeWrapper['QueriesDepositorRequest']>; QueriesEntities: ResolverTypeWrapper['QueriesEntities']>; QueriesHarvestAttempt: ResolverTypeWrapper['QueriesHarvestAttempt']>; QueriesHarvestExample: ResolverTypeWrapper['QueriesHarvestExample']>; @@ -22071,6 +29617,11 @@ export type ResolversTypes = { QueriesHarvestSource: ResolverTypeWrapper['QueriesHarvestSource']>; QueriesPermalink: ResolverTypeWrapper['QueriesPermalink']>; QueriesSchemas: ResolverTypeWrapper['QueriesSchemas']>; + QueriesSubmission: ResolverTypeWrapper['QueriesSubmission']>; + QueriesSubmissionComment: ResolverTypeWrapper['QueriesSubmissionComment']>; + QueriesSubmissionReview: ResolverTypeWrapper['QueriesSubmissionReview']>; + QueriesSubmissionTarget: ResolverTypeWrapper['QueriesSubmissionTarget']>; + QueriesSubmissionTargetReviewer: ResolverTypeWrapper['QueriesSubmissionTargetReviewer']>; QueriesSystem: ResolverTypeWrapper['QueriesSystem']>; QueriesUser: ResolverTypeWrapper['QueriesUser']>; Query: ResolverTypeWrapper<{}>; @@ -22090,6 +29641,7 @@ export type ResolversTypes = { RoleEdge: ResolverTypeWrapper; RoleKind: RoleKind; RoleOrder: RoleOrder; + RolePermissionGrid: ResolverTypeWrapper; RolePrimacy: RolePrimacy; RoleSystemIdentifier: RoleSystemIdentifier; ScalarProperty: ResolverTypeWrapper['ScalarProperty']>; @@ -22128,6 +29680,7 @@ export type ResolversTypes = { SelectOption: ResolverTypeWrapper; SelectProperty: ResolverTypeWrapper; SelectionSourceMode: SelectionSourceMode; + SettingsPermissionGrid: ResolverTypeWrapper; SiblingKind: SiblingKind; SimpleOrder: SimpleOrder; SiteFooter: ResolverTypeWrapper; @@ -22142,6 +29695,90 @@ export type ResolversTypes = { StaticOrderingPath: ResolverTypeWrapper; String: ResolverTypeWrapper; StringProperty: ResolverTypeWrapper; + Submission: ResolverTypeWrapper; + SubmissionBatchPublication: ResolverTypeWrapper; + SubmissionBatchPublicationState: SubmissionBatchPublicationState; + SubmissionBatchPublicationTransition: ResolverTypeWrapper; + SubmissionBatchPublicationTransitionConnection: ResolverTypeWrapper; + SubmissionBatchPublicationTransitionEdge: ResolverTypeWrapper; + SubmissionBatchPublishInput: SubmissionBatchPublishInput; + SubmissionBatchPublishPayload: ResolverTypeWrapper; + SubmissionChangeStateInput: SubmissionChangeStateInput; + SubmissionChangeStatePayload: ResolverTypeWrapper; + SubmissionComment: ResolverTypeWrapper; + SubmissionCommentConnection: ResolverTypeWrapper; + SubmissionCommentCreateInput: SubmissionCommentCreateInput; + SubmissionCommentCreatePayload: ResolverTypeWrapper; + SubmissionCommentDestroyInput: SubmissionCommentDestroyInput; + SubmissionCommentDestroyPayload: ResolverTypeWrapper; + SubmissionCommentEdge: ResolverTypeWrapper; + SubmissionCommentFilterInput: SubmissionCommentFilterInput; + SubmissionCommentOrder: SubmissionCommentOrder; + SubmissionCommentRole: SubmissionCommentRole; + SubmissionCommentUpdateInput: SubmissionCommentUpdateInput; + SubmissionCommentUpdatePayload: ResolverTypeWrapper; + SubmissionConnection: ResolverTypeWrapper; + SubmissionCreateInput: SubmissionCreateInput; + SubmissionCreatePayload: ResolverTypeWrapper; + SubmissionDepositMode: SubmissionDepositMode; + SubmissionDepositTarget: ResolverTypeWrapper; + SubmissionEdge: ResolverTypeWrapper; + SubmissionFilterInput: SubmissionFilterInput; + SubmissionLeaveReviewInput: SubmissionLeaveReviewInput; + SubmissionLeaveReviewPayload: ResolverTypeWrapper; + SubmissionOrder: SubmissionOrder; + SubmissionPublication: ResolverTypeWrapper; + SubmissionPublicationState: SubmissionPublicationState; + SubmissionPublicationTransition: ResolverTypeWrapper; + SubmissionPublicationTransitionConnection: ResolverTypeWrapper; + SubmissionPublicationTransitionEdge: ResolverTypeWrapper; + SubmissionPublishInput: SubmissionPublishInput; + SubmissionPublishPayload: ResolverTypeWrapper; + SubmissionRequestReviewInput: SubmissionRequestReviewInput; + SubmissionRequestReviewPayload: ResolverTypeWrapper; + SubmissionReview: ResolverTypeWrapper; + SubmissionReviewConnection: ResolverTypeWrapper; + SubmissionReviewEdge: ResolverTypeWrapper; + SubmissionReviewFilterInput: SubmissionReviewFilterInput; + SubmissionReviewOrder: SubmissionReviewOrder; + SubmissionReviewState: SubmissionReviewState; + SubmissionReviewTransition: ResolverTypeWrapper; + SubmissionReviewTransitionConnection: ResolverTypeWrapper; + SubmissionReviewTransitionEdge: ResolverTypeWrapper; + SubmissionState: SubmissionState; + SubmissionStatus: ResolverTypeWrapper; + SubmissionTarget: ResolverTypeWrapper; + SubmissionTargetCloseInput: SubmissionTargetCloseInput; + SubmissionTargetClosePayload: ResolverTypeWrapper; + SubmissionTargetConfigureInput: SubmissionTargetConfigureInput; + SubmissionTargetConfigurePayload: ResolverTypeWrapper; + SubmissionTargetConnection: ResolverTypeWrapper; + SubmissionTargetDescription: ResolverTypeWrapper; + SubmissionTargetDescriptionInput: SubmissionTargetDescriptionInput; + SubmissionTargetEdge: ResolverTypeWrapper; + SubmissionTargetFilterInput: SubmissionTargetFilterInput; + SubmissionTargetOpenInput: SubmissionTargetOpenInput; + SubmissionTargetOpenPayload: ResolverTypeWrapper; + SubmissionTargetOrder: SubmissionTargetOrder; + SubmissionTargetReviewer: ResolverTypeWrapper; + SubmissionTargetReviewerConnection: ResolverTypeWrapper; + SubmissionTargetReviewerCreateInput: SubmissionTargetReviewerCreateInput; + SubmissionTargetReviewerCreatePayload: ResolverTypeWrapper; + SubmissionTargetReviewerDestroyInput: SubmissionTargetReviewerDestroyInput; + SubmissionTargetReviewerDestroyPayload: ResolverTypeWrapper; + SubmissionTargetReviewerEdge: ResolverTypeWrapper; + SubmissionTargetReviewerFilterInput: SubmissionTargetReviewerFilterInput; + SubmissionTargetReviewerOrder: SubmissionTargetReviewerOrder; + SubmissionTargetSection: ResolverTypeWrapper; + SubmissionTargetSectionInput: SubmissionTargetSectionInput; + SubmissionTargetState: SubmissionTargetState; + SubmissionTargetTransition: ResolverTypeWrapper; + SubmissionTargetTransitionConnection: ResolverTypeWrapper; + SubmissionTargetTransitionEdge: ResolverTypeWrapper; + SubmissionTransition: ResolverTypeWrapper; + SubmissionTransitionConnection: ResolverTypeWrapper; + SubmissionTransitionEdge: ResolverTypeWrapper; + Submittable: ResolverTypeWrapper['Submittable']>; SubtreeNodeFilter: SubtreeNodeFilter; SupplementaryBackground: SupplementaryBackground; SupplementaryLayoutDefinition: ResolverTypeWrapper & { templates: Array }>; @@ -22244,6 +29881,7 @@ export type ResolversTypes = { UserItemAccessGrantConnection: ResolverTypeWrapper; UserItemAccessGrantEdge: ResolverTypeWrapper; UserOrder: UserOrder; + UserPermissionGrid: ResolverTypeWrapper; UserProfileInput: UserProfileInput; UserResetPasswordInput: UserResetPasswordInput; UserResetPasswordPayload: ResolverTypeWrapper; @@ -22259,6 +29897,7 @@ export type ResolversParentTypes = { AccessGrant: ResolversInterfaceTypes['AccessGrant']; AccessGrantSubject: ResolversInterfaceTypes['AccessGrantSubject']; Accessible: ResolversInterfaceTypes['Accessible']; + AdminPermissionGrid: AdminPermissionGrid; AlterSchemaVersionInput: AlterSchemaVersionInput; AlterSchemaVersionPayload: Omit & { entity?: Maybe }; Analytics: Analytics; @@ -22283,6 +29922,7 @@ export type ResolversParentTypes = { AnyCommunityAccessGrant: ResolversUnionTypes['AnyCommunityAccessGrant']; AnyCommunityAccessGrantConnection: Omit & { nodes: Array }; AnyCommunityAccessGrantEdge: Omit & { node: ResolversParentTypes['AnyCommunityAccessGrant'] }; + AnyConfigurableSubmissionTarget: ResolversUnionTypes['AnyConfigurableSubmissionTarget']; AnyContributable: ResolversUnionTypes['AnyContributable']; AnyContribution: ResolversUnionTypes['AnyContribution']; AnyContributor: ResolversUnionTypes['AnyContributor']; @@ -22329,6 +29969,7 @@ export type ResolversParentTypes = { Attachable: ResolversInterfaceTypes['Attachable']; Attributable: ResolversInterfaceTypes['Attributable']; Attribution: ResolversInterfaceTypes['Attribution']; + AuthorizationResult: AuthorizationResult; BlurbTemplateDefinition: BlurbTemplateDefinition; BlurbTemplateDefinitionSlots: BlurbTemplateDefinitionSlots; BlurbTemplateInstance: BlurbTemplateInstance; @@ -22345,6 +29986,9 @@ export type ResolversParentTypes = { CollectionContributionEdge: CollectionContributionEdge; CollectionEdge: CollectionEdge; CollectionParent: ResolversUnionTypes['CollectionParent']; + CommonModel: ResolversInterfaceTypes['CommonModel']; + CommonPermissions: ResolversInterfaceTypes['CommonPermissions']; + CommonTransition: ResolversInterfaceTypes['CommonTransition']; Community: Community; CommunityConnection: CommunityConnection; CommunityEdge: CommunityEdge; @@ -22363,7 +30007,10 @@ export type ResolversParentTypes = { ContributorAttributionConnection: ContributorAttributionConnection; ContributorAttributionEdge: ContributorAttributionEdge; ContributorBase: ResolversInterfaceTypes['ContributorBase']; + ContributorClaimInput: ContributorClaimInput; + ContributorClaimPayload: ContributorClaimPayload; ContributorCollectionAttribution: ContributorCollectionAttribution; + ContributorFilterInput: ContributorFilterInput; ContributorItemAttribution: ContributorItemAttribution; ContributorLink: ContributorLink; ContributorLinkInput: ContributorLinkInput; @@ -22371,9 +30018,19 @@ export type ResolversParentTypes = { ContributorListTemplateDefinitionSlots: ContributorListTemplateDefinitionSlots; ContributorListTemplateInstance: ContributorListTemplateInstance; ContributorListTemplateInstanceSlots: ContributorListTemplateInstanceSlots; + ContributorMergeInput: ContributorMergeInput; + ContributorMergePayload: ContributorMergePayload; + ContributorPermissionGrid: ContributorPermissionGrid; ContributorProperty: ContributorProperty; ContributorSelectOption: ContributorSelectOption; + ContributorUserLink: ContributorUserLink; + ContributorUserLinkDestroyInput: ContributorUserLinkDestroyInput; + ContributorUserLinkDestroyPayload: ContributorUserLinkDestroyPayload; + ContributorUserLinkUpsertInput: ContributorUserLinkUpsertInput; + ContributorUserLinkUpsertPayload: ContributorUserLinkUpsertPayload; ContributorsProperty: ContributorsProperty; + ContributorsSettings: ContributorsSettings; + ContributorsSettingsInput: ContributorsSettingsInput; ControlledVocabulariesProperty: ControlledVocabulariesProperty; ControlledVocabulary: ControlledVocabulary; ControlledVocabularyConnection: ControlledVocabularyConnection; @@ -22418,6 +30075,29 @@ export type ResolversParentTypes = { DateGTEOperatorInput: DateGteOperatorInput; DateLTEOperatorInput: DateLteOperatorInput; DateProperty: DateProperty; + DepositingSettings: DepositingSettings; + DepositingSettingsInput: DepositingSettingsInput; + DepositorAgreement: DepositorAgreement; + DepositorAgreementAcceptInput: DepositorAgreementAcceptInput; + DepositorAgreementAcceptPayload: DepositorAgreementAcceptPayload; + DepositorAgreementResetAllInput: DepositorAgreementResetAllInput; + DepositorAgreementResetAllPayload: DepositorAgreementResetAllPayload; + DepositorAgreementResetInput: DepositorAgreementResetInput; + DepositorAgreementResetPayload: DepositorAgreementResetPayload; + DepositorAgreementTransition: DepositorAgreementTransition; + DepositorAgreementTransitionConnection: DepositorAgreementTransitionConnection; + DepositorAgreementTransitionEdge: DepositorAgreementTransitionEdge; + DepositorRequest: DepositorRequest; + DepositorRequestChangeStateInput: DepositorRequestChangeStateInput; + DepositorRequestChangeStatePayload: DepositorRequestChangeStatePayload; + DepositorRequestConnection: DepositorRequestConnection; + DepositorRequestCreateInput: DepositorRequestCreateInput; + DepositorRequestCreatePayload: DepositorRequestCreatePayload; + DepositorRequestEdge: DepositorRequestEdge; + DepositorRequestFilterInput: DepositorRequestFilterInput; + DepositorRequestTransition: DepositorRequestTransition; + DepositorRequestTransitionConnection: DepositorRequestTransitionConnection; + DepositorRequestTransitionEdge: DepositorRequestTransitionEdge; DescendantListTemplateDefinition: DescendantListTemplateDefinition; DescendantListTemplateDefinitionSlots: DescendantListTemplateDefinitionSlots; DescendantListTemplateInstance: DescendantListTemplateInstance; @@ -22448,7 +30128,6 @@ export type ResolversParentTypes = { DetailTemplateDefinitionSlots: DetailTemplateDefinitionSlots; DetailTemplateInstance: DetailTemplateInstance; DetailTemplateInstanceSlots: DetailTemplateInstanceSlots; - EffectiveAccess: EffectiveAccess; EmailProperty: EmailProperty; EntitiesProperty: EntitiesProperty; EntitiesSettings: EntitiesSettings; @@ -22456,6 +30135,7 @@ export type ResolversParentTypes = { Entity: ResolversInterfaceTypes['Entity']; EntityBase: ResolversInterfaceTypes['EntityBase']; EntityBreadcrumb: EntityBreadcrumb; + EntityContextualPermissions: ResolversInterfaceTypes['EntityContextualPermissions']; EntityDescendant: EntityDescendant; EntityDescendantConnection: EntityDescendantConnection; EntityDescendantEdge: EntityDescendantEdge; @@ -22464,13 +30144,15 @@ export type ResolversParentTypes = { EntityLinkConnection: EntityLinkConnection; EntityLinkEdge: EntityLinkEdge; EntityPermissionGrid: EntityPermissionGrid; + EntityPermissions: ResolversInterfaceTypes['EntityPermissions']; EntityProperty: EntityProperty; EntityPurgeInput: EntityPurgeInput; EntityPurgePayload: EntityPurgePayload; EntitySelectOption: EntitySelectOption; EqualsOperatorInput: EqualsOperatorInput; - ExposesEffectiveAccess: ResolversInterfaceTypes['ExposesEffectiveAccess']; ExposesPermissions: ResolversInterfaceTypes['ExposesPermissions']; + FailureReasons: FailureReasons; + FilterMatchTimeInput: FilterMatchTimeInput; Float: Scalars['Float']['output']; FloatProperty: FloatProperty; FrontendCacheRevalidateEntityInput: FrontendCacheRevalidateEntityInput; @@ -22479,6 +30161,7 @@ export type ResolversParentTypes = { FrontendCacheRevalidateInstancePayload: FrontendCacheRevalidateInstancePayload; FullText: FullText; FullTextProperty: FullTextProperty; + FullTextSearchQueryInput: FullTextSearchQueryInput; GlobalAccessControlList: GlobalAccessControlList; GlobalConfiguration: GlobalConfiguration; GrantAccessInput: GrantAccessInput; @@ -22588,6 +30271,7 @@ export type ResolversParentTypes = { ItemContributionConnection: ItemContributionConnection; ItemContributionEdge: ItemContributionEdge; ItemEdge: ItemEdge; + ItemFilterInput: ItemFilterInput; ItemParent: ResolversUnionTypes['ItemParent']; JSON: Scalars['JSON']['output']; LayoutDefinition: ResolversInterfaceTypes['LayoutDefinition']; @@ -22687,6 +30371,7 @@ export type ResolversParentTypes = { QueriesContrib: ResolversInterfaceTypes['QueriesContrib']; QueriesControlledVocabulary: ResolversInterfaceTypes['QueriesControlledVocabulary']; QueriesControlledVocabularySource: ResolversInterfaceTypes['QueriesControlledVocabularySource']; + QueriesDepositorRequest: ResolversInterfaceTypes['QueriesDepositorRequest']; QueriesEntities: ResolversInterfaceTypes['QueriesEntities']; QueriesHarvestAttempt: ResolversInterfaceTypes['QueriesHarvestAttempt']; QueriesHarvestExample: ResolversInterfaceTypes['QueriesHarvestExample']; @@ -22697,6 +30382,11 @@ export type ResolversParentTypes = { QueriesHarvestSource: ResolversInterfaceTypes['QueriesHarvestSource']; QueriesPermalink: ResolversInterfaceTypes['QueriesPermalink']; QueriesSchemas: ResolversInterfaceTypes['QueriesSchemas']; + QueriesSubmission: ResolversInterfaceTypes['QueriesSubmission']; + QueriesSubmissionComment: ResolversInterfaceTypes['QueriesSubmissionComment']; + QueriesSubmissionReview: ResolversInterfaceTypes['QueriesSubmissionReview']; + QueriesSubmissionTarget: ResolversInterfaceTypes['QueriesSubmissionTarget']; + QueriesSubmissionTargetReviewer: ResolversInterfaceTypes['QueriesSubmissionTargetReviewer']; QueriesSystem: ResolversInterfaceTypes['QueriesSystem']; QueriesUser: ResolversInterfaceTypes['QueriesUser']; Query: {}; @@ -22714,6 +30404,7 @@ export type ResolversParentTypes = { Role: Role; RoleConnection: RoleConnection; RoleEdge: RoleEdge; + RolePermissionGrid: RolePermissionGrid; ScalarProperty: ResolversInterfaceTypes['ScalarProperty']; SchemaComponent: Scalars['SchemaComponent']['output']; SchemaDefinition: SchemaDefinition; @@ -22741,6 +30432,7 @@ export type ResolversParentTypes = { SearchableProperty: ResolversInterfaceTypes['SearchableProperty']; SelectOption: SelectOption; SelectProperty: SelectProperty; + SettingsPermissionGrid: SettingsPermissionGrid; SiteFooter: SiteFooter; SiteFooterInput: SiteFooterInput; SiteLogoAttachment: SiteLogoAttachment; @@ -22752,6 +30444,78 @@ export type ResolversParentTypes = { StaticOrderingPath: StaticOrderingPath; String: Scalars['String']['output']; StringProperty: StringProperty; + Submission: Submission; + SubmissionBatchPublication: SubmissionBatchPublication; + SubmissionBatchPublicationTransition: SubmissionBatchPublicationTransition; + SubmissionBatchPublicationTransitionConnection: SubmissionBatchPublicationTransitionConnection; + SubmissionBatchPublicationTransitionEdge: SubmissionBatchPublicationTransitionEdge; + SubmissionBatchPublishInput: SubmissionBatchPublishInput; + SubmissionBatchPublishPayload: SubmissionBatchPublishPayload; + SubmissionChangeStateInput: SubmissionChangeStateInput; + SubmissionChangeStatePayload: SubmissionChangeStatePayload; + SubmissionComment: SubmissionComment; + SubmissionCommentConnection: SubmissionCommentConnection; + SubmissionCommentCreateInput: SubmissionCommentCreateInput; + SubmissionCommentCreatePayload: SubmissionCommentCreatePayload; + SubmissionCommentDestroyInput: SubmissionCommentDestroyInput; + SubmissionCommentDestroyPayload: SubmissionCommentDestroyPayload; + SubmissionCommentEdge: SubmissionCommentEdge; + SubmissionCommentFilterInput: SubmissionCommentFilterInput; + SubmissionCommentUpdateInput: SubmissionCommentUpdateInput; + SubmissionCommentUpdatePayload: SubmissionCommentUpdatePayload; + SubmissionConnection: SubmissionConnection; + SubmissionCreateInput: SubmissionCreateInput; + SubmissionCreatePayload: SubmissionCreatePayload; + SubmissionDepositTarget: SubmissionDepositTarget; + SubmissionEdge: SubmissionEdge; + SubmissionFilterInput: SubmissionFilterInput; + SubmissionLeaveReviewInput: SubmissionLeaveReviewInput; + SubmissionLeaveReviewPayload: SubmissionLeaveReviewPayload; + SubmissionPublication: SubmissionPublication; + SubmissionPublicationTransition: SubmissionPublicationTransition; + SubmissionPublicationTransitionConnection: SubmissionPublicationTransitionConnection; + SubmissionPublicationTransitionEdge: SubmissionPublicationTransitionEdge; + SubmissionPublishInput: SubmissionPublishInput; + SubmissionPublishPayload: SubmissionPublishPayload; + SubmissionRequestReviewInput: SubmissionRequestReviewInput; + SubmissionRequestReviewPayload: SubmissionRequestReviewPayload; + SubmissionReview: SubmissionReview; + SubmissionReviewConnection: SubmissionReviewConnection; + SubmissionReviewEdge: SubmissionReviewEdge; + SubmissionReviewFilterInput: SubmissionReviewFilterInput; + SubmissionReviewTransition: SubmissionReviewTransition; + SubmissionReviewTransitionConnection: SubmissionReviewTransitionConnection; + SubmissionReviewTransitionEdge: SubmissionReviewTransitionEdge; + SubmissionStatus: SubmissionStatus; + SubmissionTarget: SubmissionTarget; + SubmissionTargetCloseInput: SubmissionTargetCloseInput; + SubmissionTargetClosePayload: SubmissionTargetClosePayload; + SubmissionTargetConfigureInput: SubmissionTargetConfigureInput; + SubmissionTargetConfigurePayload: SubmissionTargetConfigurePayload; + SubmissionTargetConnection: SubmissionTargetConnection; + SubmissionTargetDescription: SubmissionTargetDescription; + SubmissionTargetDescriptionInput: SubmissionTargetDescriptionInput; + SubmissionTargetEdge: SubmissionTargetEdge; + SubmissionTargetFilterInput: SubmissionTargetFilterInput; + SubmissionTargetOpenInput: SubmissionTargetOpenInput; + SubmissionTargetOpenPayload: SubmissionTargetOpenPayload; + SubmissionTargetReviewer: SubmissionTargetReviewer; + SubmissionTargetReviewerConnection: SubmissionTargetReviewerConnection; + SubmissionTargetReviewerCreateInput: SubmissionTargetReviewerCreateInput; + SubmissionTargetReviewerCreatePayload: SubmissionTargetReviewerCreatePayload; + SubmissionTargetReviewerDestroyInput: SubmissionTargetReviewerDestroyInput; + SubmissionTargetReviewerDestroyPayload: SubmissionTargetReviewerDestroyPayload; + SubmissionTargetReviewerEdge: SubmissionTargetReviewerEdge; + SubmissionTargetReviewerFilterInput: SubmissionTargetReviewerFilterInput; + SubmissionTargetSection: SubmissionTargetSection; + SubmissionTargetSectionInput: SubmissionTargetSectionInput; + SubmissionTargetTransition: SubmissionTargetTransition; + SubmissionTargetTransitionConnection: SubmissionTargetTransitionConnection; + SubmissionTargetTransitionEdge: SubmissionTargetTransitionEdge; + SubmissionTransition: SubmissionTransition; + SubmissionTransitionConnection: SubmissionTransitionConnection; + SubmissionTransitionEdge: SubmissionTransitionEdge; + Submittable: ResolversInterfaceTypes['Submittable']; SupplementaryLayoutDefinition: Omit & { templates: Array }; SupplementaryLayoutInstance: Omit & { templates: Array }; SupplementaryTemplateDefinition: SupplementaryTemplateDefinition; @@ -22845,6 +30609,7 @@ export type ResolversParentTypes = { UserItemAccessGrant: UserItemAccessGrant; UserItemAccessGrantConnection: UserItemAccessGrantConnection; UserItemAccessGrantEdge: UserItemAccessGrantEdge; + UserPermissionGrid: UserPermissionGrid; UserProfileInput: UserProfileInput; UserResetPasswordInput: UserResetPasswordInput; UserResetPasswordPayload: UserResetPasswordPayload; @@ -22854,1154 +30619,2187 @@ export type ResolversParentTypes = { VersionRequirement: Scalars['VersionRequirement']['output']; }; -export type OneOfDirectiveArgs = { }; +export type OneOfDirectiveArgs = { }; + +export type OneOfDirectiveResolver = DirectiveResolverFn; + +export type AccessControlListResolvers = { + allowedActions?: Resolver, ParentType, ContextType>; + collections?: Resolver; + items?: Resolver; + permissions?: Resolver, ParentType, ContextType>; + self?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AccessGrantResolvers = { + __resolveType: TypeResolveFn<'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; + entity?: Resolver; + role?: Resolver; + subject?: Resolver; +}; + +export type AccessGrantSubjectResolvers = { + __resolveType: TypeResolveFn<'User' | 'UserGroup', ParentType, ContextType>; + allAccessGrants?: Resolver>; + assignableRoles?: Resolver, ParentType, ContextType>; + primaryRole?: Resolver, ParentType, ContextType>; +}; + +export type AccessibleResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + allAccessGrants?: Resolver>; +}; + +export type AdminPermissionGridResolvers = { + access?: Resolver; + allowedActions?: Resolver, ParentType, ContextType>; + permissions?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AlterSchemaVersionPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + collection?: Resolver, ParentType, ContextType>; + community?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + item?: Resolver, ParentType, ContextType>; + schemaErrors?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnalyticsResolvers = { + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + entityViews?: Resolver>; + entityViewsByRegion?: Resolver>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnalyticsEventCountResultResolvers = { + count?: Resolver; + date?: Resolver; + time?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnalyticsEventCountSummaryResolvers = { + maxDate?: Resolver, ParentType, ContextType>; + minDate?: Resolver, ParentType, ContextType>; + precision?: Resolver; + results?: Resolver, ParentType, ContextType>; + total?: Resolver; + unfilteredTotal?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnalyticsRegionCountResultResolvers = { + count?: Resolver; + countryCode?: Resolver; + regionCode?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnalyticsRegionCountSummaryResolvers = { + results?: Resolver, ParentType, ContextType>; + total?: Resolver; + unfilteredTotal?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AncestorSchemaOrderingPathResolvers = { + description?: Resolver, ParentType, ContextType>; + grouping?: Resolver; + label?: Resolver; + labelPrefix?: Resolver, ParentType, ContextType>; + path?: Resolver; + schemaVersion?: Resolver; + type?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AncestorStaticOrderingPathResolvers = { + description?: Resolver, ParentType, ContextType>; + grouping?: Resolver; + label?: Resolver; + labelPrefix?: Resolver, ParentType, ContextType>; + path?: Resolver; + type?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnnouncementResolvers = { + body?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + entity?: Resolver; + header?: Resolver; + id?: Resolver; + publishedOn?: Resolver; + slug?: Resolver; + teaser?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnnouncementConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; -export type OneOfDirectiveResolver = DirectiveResolverFn; +export type AnnouncementEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyAccessGrantResolvers = { + __resolveType: TypeResolveFn<'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; +}; + +export type AnyAccessGrantConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyAccessGrantEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyAssetResolvers = { + __resolveType: TypeResolveFn<'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo', ParentType, ContextType>; +}; + +export type AnyChildEntityResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; +}; + +export type AnyCollectionAccessGrantResolvers = { + __resolveType: TypeResolveFn<'UserCollectionAccessGrant' | 'UserGroupCollectionAccessGrant', ParentType, ContextType>; +}; + +export type AnyCollectionAccessGrantConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyCollectionAccessGrantEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyCommunityAccessGrantResolvers = { + __resolveType: TypeResolveFn<'UserCommunityAccessGrant' | 'UserGroupCommunityAccessGrant', ParentType, ContextType>; +}; + +export type AnyCommunityAccessGrantConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyCommunityAccessGrantEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyConfigurableSubmissionTargetResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item' | 'SubmissionTarget', ParentType, ContextType>; +}; + +export type AnyContributableResolvers = { + __resolveType: TypeResolveFn<'CollectionContribution' | 'ItemContribution', ParentType, ContextType>; +}; + +export type AnyContributionResolvers = { + __resolveType: TypeResolveFn<'CollectionContribution' | 'ItemContribution', ParentType, ContextType>; +}; + +export type AnyContributorResolvers = { + __resolveType: TypeResolveFn<'OrganizationContributor' | 'PersonContributor', ParentType, ContextType>; +}; + +export type AnyContributorAttributionResolvers = { + __resolveType: TypeResolveFn<'ContributorCollectionAttribution' | 'ContributorItemAttribution', ParentType, ContextType>; +}; + +export type AnyContributorConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyContributorEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyEntityResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; +}; + +export type AnyHeroTemplateDefinitionResolvers = { + __resolveType: TypeResolveFn<'HeroTemplateDefinition', ParentType, ContextType>; +}; + +export type AnyHeroTemplateInstanceResolvers = { + __resolveType: TypeResolveFn<'HeroTemplateInstance', ParentType, ContextType>; +}; + +export type AnyListItemTemplateDefinitionResolvers = { + __resolveType: TypeResolveFn<'ListItemTemplateDefinition', ParentType, ContextType>; +}; + +export type AnyListItemTemplateInstanceResolvers = { + __resolveType: TypeResolveFn<'ListItemTemplateInstance', ParentType, ContextType>; +}; + +export type AnyMainTemplateDefinitionResolvers = { + __resolveType: TypeResolveFn<'BlurbTemplateDefinition' | 'ContributorListTemplateDefinition' | 'DescendantListTemplateDefinition' | 'DetailTemplateDefinition' | 'LinkListTemplateDefinition' | 'OrderingTemplateDefinition' | 'PageListTemplateDefinition', ParentType, ContextType>; +}; + +export type AnyMainTemplateInstanceResolvers = { + __resolveType: TypeResolveFn<'BlurbTemplateInstance' | 'ContributorListTemplateInstance' | 'DescendantListTemplateInstance' | 'DetailTemplateInstance' | 'LinkListTemplateInstance' | 'OrderingTemplateInstance' | 'PageListTemplateInstance', ParentType, ContextType>; +}; + +export type AnyMetadataTemplateDefinitionResolvers = { + __resolveType: TypeResolveFn<'MetadataTemplateDefinition', ParentType, ContextType>; +}; + +export type AnyMetadataTemplateInstanceResolvers = { + __resolveType: TypeResolveFn<'MetadataTemplateInstance', ParentType, ContextType>; +}; + +export type AnyNavigationTemplateDefinitionResolvers = { + __resolveType: TypeResolveFn<'NavigationTemplateDefinition', ParentType, ContextType>; +}; + +export type AnyNavigationTemplateInstanceResolvers = { + __resolveType: TypeResolveFn<'NavigationTemplateInstance', ParentType, ContextType>; +}; + +export type AnyOrderingPathResolvers = { + __resolveType: TypeResolveFn<'AncestorSchemaOrderingPath' | 'AncestorStaticOrderingPath' | 'SchemaOrderingPath' | 'StaticOrderingPath', ParentType, ContextType>; +}; + +export type AnyScalarPropertyResolvers = { + __resolveType: TypeResolveFn<'AssetProperty' | 'AssetsProperty' | 'BooleanProperty' | 'ContributorProperty' | 'ContributorsProperty' | 'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty' | 'DateProperty' | 'EmailProperty' | 'EntitiesProperty' | 'EntityProperty' | 'FloatProperty' | 'FullTextProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SelectProperty' | 'StringProperty' | 'TagsProperty' | 'TimestampProperty' | 'URLProperty' | 'UnknownProperty' | 'VariableDateProperty', ParentType, ContextType>; +}; + +export type AnySchemaPropertyResolvers = { + __resolveType: TypeResolveFn<'AssetProperty' | 'AssetsProperty' | 'BooleanProperty' | 'ContributorProperty' | 'ContributorsProperty' | 'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty' | 'DateProperty' | 'EmailProperty' | 'EntitiesProperty' | 'EntityProperty' | 'FloatProperty' | 'FullTextProperty' | 'GroupProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SelectProperty' | 'StringProperty' | 'TagsProperty' | 'TimestampProperty' | 'URLProperty' | 'UnknownProperty' | 'VariableDateProperty', ParentType, ContextType>; +}; + +export type AnySupplementaryTemplateDefinitionResolvers = { + __resolveType: TypeResolveFn<'SupplementaryTemplateDefinition', ParentType, ContextType>; +}; + +export type AnySupplementaryTemplateInstanceResolvers = { + __resolveType: TypeResolveFn<'SupplementaryTemplateInstance', ParentType, ContextType>; +}; + +export type AnyUserAccessGrantResolvers = { + __resolveType: TypeResolveFn<'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; +}; + +export type AnyUserAccessGrantConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyUserAccessGrantEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyUserGroupAccessGrantResolvers = { + __resolveType: TypeResolveFn<'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant', ParentType, ContextType>; +}; + +export type AnyUserGroupAccessGrantConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AnyUserGroupAccessGrantEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ApplySchemaPropertiesPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + collection?: Resolver, ParentType, ContextType>; + community?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + item?: Resolver, ParentType, ContextType>; + schemaErrors?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type AssetResolvers = { + __resolveType: TypeResolveFn<'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo', ParentType, ContextType>; + altText?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + attachable?: Resolver; + caption?: Resolver, ParentType, ContextType>; + contentType?: Resolver; + downloadURL?: Resolver, ParentType, ContextType>; + downloadUrl?: Resolver, ParentType, ContextType>; + fileSize?: Resolver; + id?: Resolver; + kind?: Resolver; + name?: Resolver; + preview?: Resolver; + previewMetadata?: Resolver, ParentType, ContextType>; + slug?: Resolver; +}; + +export type AssetAudioResolvers = { + altText?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + attachable?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + caption?: Resolver, ParentType, ContextType>; + contentType?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + downloadURL?: Resolver, ParentType, ContextType>; + downloadUrl?: Resolver, ParentType, ContextType>; + fileSize?: Resolver; + id?: Resolver; + kind?: Resolver; + name?: Resolver; + preview?: Resolver; + previewMetadata?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; -export type AccessControlListResolvers = { - allowedActions?: Resolver, ParentType, ContextType>; - collections?: Resolver; - items?: Resolver; - permissions?: Resolver, ParentType, ContextType>; - self?: Resolver; +export type AssetConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AccessGrantResolvers = { - __resolveType: TypeResolveFn<'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; - entity?: Resolver; - role?: Resolver; - subject?: Resolver; +export type AssetDocumentResolvers = { + altText?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + attachable?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + caption?: Resolver, ParentType, ContextType>; + contentType?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + downloadURL?: Resolver, ParentType, ContextType>; + downloadUrl?: Resolver, ParentType, ContextType>; + fileSize?: Resolver; + id?: Resolver; + kind?: Resolver; + name?: Resolver; + preview?: Resolver; + previewMetadata?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AccessGrantSubjectResolvers = { - __resolveType: TypeResolveFn<'User' | 'UserGroup', ParentType, ContextType>; - allAccessGrants?: Resolver>; - assignableRoles?: Resolver, ParentType, ContextType>; - primaryRole?: Resolver, ParentType, ContextType>; +export type AssetEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AccessibleResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; - allAccessGrants?: Resolver>; +export type AssetImageResolvers = { + altText?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + attachable?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + caption?: Resolver, ParentType, ContextType>; + contentType?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + downloadURL?: Resolver, ParentType, ContextType>; + downloadUrl?: Resolver, ParentType, ContextType>; + fileSize?: Resolver; + id?: Resolver; + kind?: Resolver; + name?: Resolver; + preview?: Resolver; + previewMetadata?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AlterSchemaVersionPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - collection?: Resolver, ParentType, ContextType>; - community?: Resolver, ParentType, ContextType>; - entity?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - item?: Resolver, ParentType, ContextType>; - schemaErrors?: Resolver, ParentType, ContextType>; +export type AssetPdfResolvers = { + altText?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + attachable?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + caption?: Resolver, ParentType, ContextType>; + contentType?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + downloadURL?: Resolver, ParentType, ContextType>; + downloadUrl?: Resolver, ParentType, ContextType>; + fileSize?: Resolver; + id?: Resolver; + kind?: Resolver; + name?: Resolver; + preview?: Resolver; + previewMetadata?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnalyticsResolvers = { - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - entityViews?: Resolver>; - entityViewsByRegion?: Resolver>; +export type AssetPermissionGridResolvers = { + allowedActions?: Resolver, ParentType, ContextType>; + create?: Resolver; + delete?: Resolver; + permissions?: Resolver, ParentType, ContextType>; + read?: Resolver; + update?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnalyticsEventCountResultResolvers = { - count?: Resolver; - date?: Resolver; - time?: Resolver, ParentType, ContextType>; +export type AssetPropertyResolvers = { + array?: Resolver; + asset?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + submittable?: Resolver; + type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnalyticsEventCountSummaryResolvers = { - maxDate?: Resolver, ParentType, ContextType>; - minDate?: Resolver, ParentType, ContextType>; - precision?: Resolver; - results?: Resolver, ParentType, ContextType>; - total?: Resolver; - unfilteredTotal?: Resolver; +export type AssetSelectOptionResolvers = { + kind?: Resolver; + label?: Resolver; + value?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnalyticsRegionCountResultResolvers = { - count?: Resolver; - countryCode?: Resolver; - regionCode?: Resolver; +export type AssetUnknownResolvers = { + altText?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + attachable?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + caption?: Resolver, ParentType, ContextType>; + contentType?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + downloadURL?: Resolver, ParentType, ContextType>; + downloadUrl?: Resolver, ParentType, ContextType>; + fileSize?: Resolver; + id?: Resolver; + kind?: Resolver; + name?: Resolver; + preview?: Resolver; + previewMetadata?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnalyticsRegionCountSummaryResolvers = { - results?: Resolver, ParentType, ContextType>; - total?: Resolver; - unfilteredTotal?: Resolver; +export type AssetVideoResolvers = { + altText?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + attachable?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + caption?: Resolver, ParentType, ContextType>; + contentType?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + downloadURL?: Resolver, ParentType, ContextType>; + downloadUrl?: Resolver, ParentType, ContextType>; + fileSize?: Resolver; + id?: Resolver; + kind?: Resolver; + name?: Resolver; + preview?: Resolver; + previewMetadata?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AncestorSchemaOrderingPathResolvers = { +export type AssetsPropertyResolvers = { + array?: Resolver; + assets?: Resolver, ParentType, ContextType>; description?: Resolver, ParentType, ContextType>; - grouping?: Resolver; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; label?: Resolver; - labelPrefix?: Resolver, ParentType, ContextType>; + orderable?: Resolver; path?: Resolver; - schemaVersion?: Resolver; + required?: Resolver; + submittable?: Resolver; type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AncestorStaticOrderingPathResolvers = { - description?: Resolver, ParentType, ContextType>; - grouping?: Resolver; - label?: Resolver; - labelPrefix?: Resolver, ParentType, ContextType>; - path?: Resolver; - type?: Resolver; +export type AttachableResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + assets?: Resolver>; +}; + +export type AttributableResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; + attributions?: Resolver, ParentType, ContextType>; +}; + +export type AttributionResolvers = { + __resolveType: TypeResolveFn<'CollectionAttribution' | 'ItemAttribution', ParentType, ContextType>; + contributor?: Resolver; + roles?: Resolver, ParentType, ContextType>; +}; + +export type AuthorizationResultResolvers = { + message?: Resolver, ParentType, ContextType>; + reasons?: Resolver, ParentType, ContextType>; + value?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnnouncementResolvers = { - body?: Resolver; +export type BlurbTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - entity?: Resolver; - header?: Resolver; + createdOn?: Resolver; id?: Resolver; - publishedOn?: Resolver; + layoutKind?: Resolver; + slots?: Resolver; slug?: Resolver; - teaser?: Resolver; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnnouncementConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type AnnouncementEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type BlurbTemplateDefinitionSlotsResolvers = { + body?: Resolver, ParentType, ContextType>; + header?: Resolver, ParentType, ContextType>; + subheader?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyAccessGrantResolvers = { - __resolveType: TypeResolveFn<'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; +export type BlurbTemplateInstanceResolvers = { + allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + definition?: Resolver; + entity?: Resolver; + hidden?: Resolver; + id?: Resolver; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutKind?: Resolver; + nextSiblings?: Resolver, ParentType, ContextType>; + prevSiblings?: Resolver, ParentType, ContextType>; + slots?: Resolver; + slug?: Resolver; + templateKind?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyAccessGrantConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; +export type BlurbTemplateInstanceSlotsResolvers = { + body?: Resolver, ParentType, ContextType>; + header?: Resolver, ParentType, ContextType>; + subheader?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyAccessGrantEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type BooleanPropertyResolvers = { + array?: Resolver; + checked?: Resolver, ParentType, ContextType>; + checkedByDefault?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; + submittable?: Resolver; + type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyAssetResolvers = { - __resolveType: TypeResolveFn<'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo', ParentType, ContextType>; +export type CrudPermissionGridResolvers = { + __resolveType: TypeResolveFn<'AssetPermissionGrid' | 'ContributorPermissionGrid' | 'EntityPermissionGrid' | 'RolePermissionGrid' | 'UserPermissionGrid', ParentType, ContextType>; + allowedActions?: Resolver, ParentType, ContextType>; + create?: Resolver; + delete?: Resolver; + permissions?: Resolver, ParentType, ContextType>; + read?: Resolver; + update?: Resolver; }; -export type AnyChildEntityResolvers = { +export type ChildEntityResolvers = { __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; + allAccessGrants?: Resolver>; + allowedActions?: Resolver, ParentType, ContextType>; + ancestorByName?: Resolver, ParentType, ContextType, RequireFields>; + ancestorOfType?: Resolver, ParentType, ContextType, RequireFields>; + announcement?: Resolver, ParentType, ContextType, RequireFields>; + announcements?: Resolver>; + applicableRoles?: Resolver, ParentType, ContextType>; + assignableRoles?: Resolver, ParentType, ContextType>; + assignedUsers?: Resolver>; + breadcrumbs?: Resolver, ParentType, ContextType>; + canAlterSchemaVersion?: Resolver; + canCreateAssets?: Resolver; + canCreateCollections?: Resolver; + canCreateItems?: Resolver; + canDeposit?: Resolver; + canDestroy?: Resolver; + canManageAccess?: Resolver; + canPurge?: Resolver; + canReparent?: Resolver; + canRevalidate?: Resolver; + canReview?: Resolver; + canUpdate?: Resolver; + community?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + currentlyHidden?: Resolver; + currentlyVisible?: Resolver; + descendants?: Resolver>; + doi?: Resolver, ParentType, ContextType>; + doiData?: Resolver; + harvestModificationStatus?: Resolver; + harvestRecords?: Resolver, ParentType, ContextType>; + hasWeirdDOI?: Resolver; + heroImage?: Resolver; + heroImageMetadata?: Resolver, ParentType, ContextType>; + hidden?: Resolver; + hiddenAsOf?: Resolver>; + hiddenAt?: Resolver, ParentType, ContextType>; + hierarchicalDepth?: Resolver; + id?: Resolver; + identifier?: Resolver; + layouts?: Resolver; + leaf?: Resolver; + linkTargetCandidates?: Resolver>; + links?: Resolver>; + markedForPurge?: Resolver; + namedAncestors?: Resolver, ParentType, ContextType>; + ordering?: Resolver, ParentType, ContextType, RequireFields>; + orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; + orderings?: Resolver>; + page?: Resolver, ParentType, ContextType, RequireFields>; + pages?: Resolver>; + permissions?: Resolver, ParentType, ContextType>; + published?: Resolver; + rawDOI?: Resolver, ParentType, ContextType>; + root?: Resolver; + schemaDefinition?: Resolver; + schemaProperties?: Resolver, ParentType, ContextType>; + schemaRanks?: Resolver, ParentType, ContextType>; + schemaVersion?: Resolver; + search?: Resolver>; + slug?: Resolver; + submissionStatus?: Resolver; + submissionTarget?: Resolver, ParentType, ContextType>; + subtitle?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; + thumbnail?: Resolver; + thumbnailMetadata?: Resolver, ParentType, ContextType>; + title?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + visibility?: Resolver; + visible?: Resolver; + visibleAfterAt?: Resolver, ParentType, ContextType>; + visibleAsOf?: Resolver>; + visibleUntilAt?: Resolver, ParentType, ContextType>; }; -export type AnyCollectionAccessGrantResolvers = { - __resolveType: TypeResolveFn<'UserCollectionAccessGrant' | 'UserGroupCollectionAccessGrant', ParentType, ContextType>; -}; - -export type AnyCollectionAccessGrantConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; +export type CollectionResolvers = { + accessGrants?: Resolver>; + allAccessGrants?: Resolver>; + allowedActions?: Resolver, ParentType, ContextType>; + ancestorByName?: Resolver, ParentType, ContextType, RequireFields>; + ancestorOfType?: Resolver, ParentType, ContextType, RequireFields>; + announcement?: Resolver, ParentType, ContextType, RequireFields>; + announcements?: Resolver>; + applicableRoles?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + assets?: Resolver>; + assignableRoles?: Resolver, ParentType, ContextType>; + assignedUsers?: Resolver>; + attributions?: Resolver, ParentType, ContextType>; + availableEntitiesFor?: Resolver, ParentType, ContextType, RequireFields>; + breadcrumbs?: Resolver, ParentType, ContextType>; + canAlterSchemaVersion?: Resolver; + canCreateAssets?: Resolver; + canCreateCollections?: Resolver; + canCreateItems?: Resolver; + canDeposit?: Resolver; + canDestroy?: Resolver; + canManageAccess?: Resolver; + canPurge?: Resolver; + canReparent?: Resolver; + canRevalidate?: Resolver; + canReview?: Resolver; + canUpdate?: Resolver; + canonicalPermalink?: Resolver, ParentType, ContextType>; + children?: Resolver>; + collections?: Resolver>; + community?: Resolver; + contributionRoles?: Resolver; + contributions?: Resolver>; + contributors?: Resolver>; + createdAt?: Resolver; + createdOn?: Resolver; + currentlyHidden?: Resolver; + currentlyVisible?: Resolver; + descendants?: Resolver>; + doi?: Resolver, ParentType, ContextType>; + doiData?: Resolver; + entityViews?: Resolver>; + entityViewsByRegion?: Resolver>; + firstCollection?: Resolver, ParentType, ContextType, RequireFields>; + firstItem?: Resolver, ParentType, ContextType, RequireFields>; + harvestModificationStatus?: Resolver; + harvestRecords?: Resolver, ParentType, ContextType>; + harvestTargetKind?: Resolver; + hasCollections?: Resolver; + hasItems?: Resolver; + hasWeirdDOI?: Resolver; + heroImage?: Resolver; + heroImageMetadata?: Resolver, ParentType, ContextType>; + hidden?: Resolver; + hiddenAsOf?: Resolver>; + hiddenAt?: Resolver, ParentType, ContextType>; + hierarchicalDepth?: Resolver; + id?: Resolver; + identifier?: Resolver; + items?: Resolver>; + layouts?: Resolver; + leaf?: Resolver; + linkTargetCandidates?: Resolver>; + links?: Resolver>; + markedForPurge?: Resolver; + namedAncestors?: Resolver, ParentType, ContextType>; + ordering?: Resolver, ParentType, ContextType, RequireFields>; + orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; + orderings?: Resolver>; + page?: Resolver, ParentType, ContextType, RequireFields>; + pages?: Resolver>; + parent?: Resolver, ParentType, ContextType>; + permalinks?: Resolver, ParentType, ContextType>; + permissions?: Resolver, ParentType, ContextType>; + published?: Resolver; + rawDOI?: Resolver, ParentType, ContextType>; + relatedCollections?: Resolver>; + root?: Resolver; + schemaDefinition?: Resolver; + schemaInstanceContext?: Resolver; + schemaProperties?: Resolver, ParentType, ContextType>; + schemaProperty?: Resolver, ParentType, ContextType, RequireFields>; + schemaRanks?: Resolver, ParentType, ContextType>; + schemaVersion?: Resolver; + search?: Resolver>; + slug?: Resolver; + submissionStatus?: Resolver; + submissionTarget?: Resolver, ParentType, ContextType>; + subtitle?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; + thumbnail?: Resolver; + thumbnailMetadata?: Resolver, ParentType, ContextType>; + title?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + userAccessGrants?: Resolver>; + userGroupAccessGrants?: Resolver>; + visibility?: Resolver; + visible?: Resolver; + visibleAfterAt?: Resolver, ParentType, ContextType>; + visibleAsOf?: Resolver>; + visibleUntilAt?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyCollectionAccessGrantEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type CollectionAttributionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + contributor?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + roles?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyCommunityAccessGrantResolvers = { - __resolveType: TypeResolveFn<'UserCommunityAccessGrant' | 'UserGroupCommunityAccessGrant', ParentType, ContextType>; -}; - -export type AnyCommunityAccessGrantConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type CollectionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyCommunityAccessGrantEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type CollectionContributionResolvers = { + affiliation?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; + collection?: Resolver; + contributionRole?: Resolver; + contributor?: Resolver; + contributorKind?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + displayName?: Resolver; + id?: Resolver; + innerPosition?: Resolver, ParentType, ContextType>; + location?: Resolver, ParentType, ContextType>; + metadata?: Resolver; + outerPosition?: Resolver, ParentType, ContextType>; + role?: Resolver, ParentType, ContextType>; + roleLabel?: Resolver, ParentType, ContextType>; + slug?: Resolver; + title?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyContributableResolvers = { - __resolveType: TypeResolveFn<'CollectionContribution' | 'ItemContribution', ParentType, ContextType>; -}; - -export type AnyContributionResolvers = { - __resolveType: TypeResolveFn<'CollectionContribution' | 'ItemContribution', ParentType, ContextType>; -}; - -export type AnyContributorResolvers = { - __resolveType: TypeResolveFn<'OrganizationContributor' | 'PersonContributor', ParentType, ContextType>; -}; - -export type AnyContributorAttributionResolvers = { - __resolveType: TypeResolveFn<'ContributorCollectionAttribution' | 'ContributorItemAttribution', ParentType, ContextType>; -}; - -export type AnyContributorConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type CollectionContributionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyContributorEdgeResolvers = { +export type CollectionContributionEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyEntityResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; -}; - -export type AnyHeroTemplateDefinitionResolvers = { - __resolveType: TypeResolveFn<'HeroTemplateDefinition', ParentType, ContextType>; -}; - -export type AnyHeroTemplateInstanceResolvers = { - __resolveType: TypeResolveFn<'HeroTemplateInstance', ParentType, ContextType>; +export type CollectionEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyListItemTemplateDefinitionResolvers = { - __resolveType: TypeResolveFn<'ListItemTemplateDefinition', ParentType, ContextType>; +export type CollectionParentResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community', ParentType, ContextType>; }; -export type AnyListItemTemplateInstanceResolvers = { - __resolveType: TypeResolveFn<'ListItemTemplateInstance', ParentType, ContextType>; +export type CommonModelResolvers = { + __resolveType: TypeResolveFn<'Announcement' | 'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo' | 'BlurbTemplateDefinition' | 'BlurbTemplateInstance' | 'Collection' | 'CollectionAttribution' | 'CollectionContribution' | 'Community' | 'ContextualPermission' | 'ContributionRoleConfiguration' | 'ContributorCollectionAttribution' | 'ContributorItemAttribution' | 'ContributorListTemplateDefinition' | 'ContributorListTemplateInstance' | 'ContributorUserLink' | 'ControlledVocabulary' | 'ControlledVocabularyItem' | 'ControlledVocabularySource' | 'DepositorAgreement' | 'DepositorAgreementTransition' | 'DepositorRequest' | 'DepositorRequestTransition' | 'DescendantListTemplateDefinition' | 'DescendantListTemplateInstance' | 'DetailTemplateDefinition' | 'DetailTemplateInstance' | 'EntityLink' | 'HarvestAttempt' | 'HarvestAttemptEntityStatus' | 'HarvestAttemptRecordStatus' | 'HarvestEntity' | 'HarvestError' | 'HarvestMapping' | 'HarvestMessage' | 'HarvestMetadataMapping' | 'HarvestRecord' | 'HarvestSet' | 'HarvestSource' | 'HeroLayoutDefinition' | 'HeroLayoutInstance' | 'HeroTemplateDefinition' | 'HeroTemplateInstance' | 'Item' | 'ItemAttribution' | 'ItemContribution' | 'LinkListTemplateDefinition' | 'LinkListTemplateInstance' | 'ListItemLayoutDefinition' | 'ListItemLayoutInstance' | 'ListItemTemplateDefinition' | 'ListItemTemplateInstance' | 'MainLayoutDefinition' | 'MainLayoutInstance' | 'MetadataLayoutDefinition' | 'MetadataLayoutInstance' | 'MetadataTemplateDefinition' | 'MetadataTemplateInstance' | 'NavigationLayoutDefinition' | 'NavigationLayoutInstance' | 'NavigationTemplateDefinition' | 'NavigationTemplateInstance' | 'Ordering' | 'OrderingEntry' | 'OrderingTemplateDefinition' | 'OrderingTemplateInstance' | 'OrganizationContributor' | 'PageListTemplateDefinition' | 'PageListTemplateInstance' | 'Permalink' | 'PersonContributor' | 'Role' | 'SchemaDefinition' | 'SchemaVersion' | 'Submission' | 'SubmissionBatchPublication' | 'SubmissionBatchPublicationTransition' | 'SubmissionComment' | 'SubmissionDepositTarget' | 'SubmissionPublication' | 'SubmissionPublicationTransition' | 'SubmissionReview' | 'SubmissionReviewTransition' | 'SubmissionTarget' | 'SubmissionTargetReviewer' | 'SubmissionTargetTransition' | 'SubmissionTransition' | 'SupplementaryLayoutDefinition' | 'SupplementaryLayoutInstance' | 'SupplementaryTemplateDefinition' | 'SupplementaryTemplateInstance' | 'TemplateInstanceSibling' | 'User' | 'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroup' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; }; -export type AnyMainTemplateDefinitionResolvers = { - __resolveType: TypeResolveFn<'BlurbTemplateDefinition' | 'ContributorListTemplateDefinition' | 'DescendantListTemplateDefinition' | 'DetailTemplateDefinition' | 'LinkListTemplateDefinition' | 'OrderingTemplateDefinition' | 'PageListTemplateDefinition', ParentType, ContextType>; +export type CommonPermissionsResolvers = { + __resolveType: TypeResolveFn<'Announcement' | 'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo' | 'BlurbTemplateDefinition' | 'BlurbTemplateInstance' | 'Collection' | 'CollectionAttribution' | 'CollectionContribution' | 'Community' | 'ContextualPermission' | 'ContributionRoleConfiguration' | 'ContributorCollectionAttribution' | 'ContributorItemAttribution' | 'ContributorListTemplateDefinition' | 'ContributorListTemplateInstance' | 'ContributorUserLink' | 'ControlledVocabulary' | 'ControlledVocabularyItem' | 'ControlledVocabularySource' | 'DepositorAgreement' | 'DepositorAgreementTransition' | 'DepositorRequest' | 'DepositorRequestTransition' | 'DescendantListTemplateDefinition' | 'DescendantListTemplateInstance' | 'DetailTemplateDefinition' | 'DetailTemplateInstance' | 'EntityLink' | 'HarvestAttempt' | 'HarvestAttemptEntityStatus' | 'HarvestAttemptRecordStatus' | 'HarvestEntity' | 'HarvestError' | 'HarvestMapping' | 'HarvestMessage' | 'HarvestMetadataMapping' | 'HarvestRecord' | 'HarvestSet' | 'HarvestSource' | 'HeroLayoutDefinition' | 'HeroLayoutInstance' | 'HeroTemplateDefinition' | 'HeroTemplateInstance' | 'Item' | 'ItemAttribution' | 'ItemContribution' | 'LinkListTemplateDefinition' | 'LinkListTemplateInstance' | 'ListItemLayoutDefinition' | 'ListItemLayoutInstance' | 'ListItemTemplateDefinition' | 'ListItemTemplateInstance' | 'MainLayoutDefinition' | 'MainLayoutInstance' | 'MetadataLayoutDefinition' | 'MetadataLayoutInstance' | 'MetadataTemplateDefinition' | 'MetadataTemplateInstance' | 'NavigationLayoutDefinition' | 'NavigationLayoutInstance' | 'NavigationTemplateDefinition' | 'NavigationTemplateInstance' | 'Ordering' | 'OrderingEntry' | 'OrderingTemplateDefinition' | 'OrderingTemplateInstance' | 'OrganizationContributor' | 'PageListTemplateDefinition' | 'PageListTemplateInstance' | 'Permalink' | 'PersonContributor' | 'Role' | 'SchemaDefinition' | 'SchemaVersion' | 'Submission' | 'SubmissionBatchPublication' | 'SubmissionBatchPublicationTransition' | 'SubmissionComment' | 'SubmissionDepositTarget' | 'SubmissionPublication' | 'SubmissionPublicationTransition' | 'SubmissionReview' | 'SubmissionReviewTransition' | 'SubmissionTarget' | 'SubmissionTargetReviewer' | 'SubmissionTargetTransition' | 'SubmissionTransition' | 'SupplementaryLayoutDefinition' | 'SupplementaryLayoutInstance' | 'SupplementaryTemplateDefinition' | 'SupplementaryTemplateInstance' | 'TemplateInstanceSibling' | 'User' | 'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroup' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; }; -export type AnyMainTemplateInstanceResolvers = { - __resolveType: TypeResolveFn<'BlurbTemplateInstance' | 'ContributorListTemplateInstance' | 'DescendantListTemplateInstance' | 'DetailTemplateInstance' | 'LinkListTemplateInstance' | 'OrderingTemplateInstance' | 'PageListTemplateInstance', ParentType, ContextType>; +export type CommonTransitionResolvers = { + __resolveType: TypeResolveFn<'DepositorAgreementTransition' | 'DepositorRequestTransition' | 'SubmissionBatchPublicationTransition' | 'SubmissionPublicationTransition' | 'SubmissionReviewTransition' | 'SubmissionTargetTransition' | 'SubmissionTransition', ParentType, ContextType>; + mostRecent?: Resolver; + user?: Resolver, ParentType, ContextType>; }; -export type AnyMetadataTemplateDefinitionResolvers = { - __resolveType: TypeResolveFn<'MetadataTemplateDefinition', ParentType, ContextType>; +export type CommunityResolvers = { + accessGrants?: Resolver>; + allAccessGrants?: Resolver>; + allowedActions?: Resolver, ParentType, ContextType>; + announcement?: Resolver, ParentType, ContextType, RequireFields>; + announcements?: Resolver>; + applicableRoles?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + assets?: Resolver>; + assignableRoles?: Resolver, ParentType, ContextType>; + assignedUsers?: Resolver>; + availableEntitiesFor?: Resolver, ParentType, ContextType, RequireFields>; + breadcrumbs?: Resolver, ParentType, ContextType>; + canAlterSchemaVersion?: Resolver; + canCreateAssets?: Resolver; + canCreateCollections?: Resolver; + canCreateItems?: Resolver; + canDeposit?: Resolver; + canDestroy?: Resolver; + canManageAccess?: Resolver; + canPurge?: Resolver; + canReparent?: Resolver; + canRevalidate?: Resolver; + canReview?: Resolver; + canUpdate?: Resolver; + canonicalPermalink?: Resolver, ParentType, ContextType>; + collections?: Resolver>; + createdAt?: Resolver; + createdOn?: Resolver; + descendants?: Resolver>; + entityViews?: Resolver>; + entityViewsByRegion?: Resolver>; + firstCollection?: Resolver, ParentType, ContextType, RequireFields>; + firstItem?: Resolver, ParentType, ContextType, RequireFields>; + harvestTargetKind?: Resolver; + heroImage?: Resolver; + heroImageLayout?: Resolver; + heroImageMetadata?: Resolver, ParentType, ContextType>; + hierarchicalDepth?: Resolver; + id?: Resolver; + layouts?: Resolver; + linkTargetCandidates?: Resolver>; + links?: Resolver>; + logo?: Resolver; + logoMetadata?: Resolver, ParentType, ContextType>; + markedForPurge?: Resolver; + metadata?: Resolver, ParentType, ContextType>; + name?: Resolver; + ordering?: Resolver, ParentType, ContextType, RequireFields>; + orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; + orderings?: Resolver>; + page?: Resolver, ParentType, ContextType, RequireFields>; + pages?: Resolver>; + permalinks?: Resolver, ParentType, ContextType>; + permissions?: Resolver, ParentType, ContextType>; + position?: Resolver, ParentType, ContextType>; + schemaDefinition?: Resolver; + schemaInstanceContext?: Resolver; + schemaProperties?: Resolver, ParentType, ContextType>; + schemaProperty?: Resolver, ParentType, ContextType, RequireFields>; + schemaRanks?: Resolver, ParentType, ContextType>; + schemaVersion?: Resolver; + search?: Resolver>; + slug?: Resolver; + submissionStatus?: Resolver; + submissionTarget?: Resolver, ParentType, ContextType>; + subtitle?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; + tagline?: Resolver, ParentType, ContextType>; + thumbnail?: Resolver; + thumbnailMetadata?: Resolver, ParentType, ContextType>; + title?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + userAccessGrants?: Resolver>; + userGroupAccessGrants?: Resolver>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyMetadataTemplateInstanceResolvers = { - __resolveType: TypeResolveFn<'MetadataTemplateInstance', ParentType, ContextType>; +export type CommunityConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyNavigationTemplateDefinitionResolvers = { - __resolveType: TypeResolveFn<'NavigationTemplateDefinition', ParentType, ContextType>; +export type CommunityEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyNavigationTemplateInstanceResolvers = { - __resolveType: TypeResolveFn<'NavigationTemplateInstance', ParentType, ContextType>; +export type ContextualPermissionResolvers = { + accessControlList?: Resolver, ParentType, ContextType>; + accessGrants?: Resolver, ParentType, ContextType>; + allowedActions?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + permissions?: Resolver, ParentType, ContextType>; + roles?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyOrderingPathResolvers = { - __resolveType: TypeResolveFn<'AncestorSchemaOrderingPath' | 'AncestorStaticOrderingPath' | 'SchemaOrderingPath' | 'StaticOrderingPath', ParentType, ContextType>; +export type ContextualPermissionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyScalarPropertyResolvers = { - __resolveType: TypeResolveFn<'AssetProperty' | 'AssetsProperty' | 'BooleanProperty' | 'ContributorProperty' | 'ContributorsProperty' | 'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty' | 'DateProperty' | 'EmailProperty' | 'EntitiesProperty' | 'EntityProperty' | 'FloatProperty' | 'FullTextProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SelectProperty' | 'StringProperty' | 'TagsProperty' | 'TimestampProperty' | 'URLProperty' | 'UnknownProperty' | 'VariableDateProperty', ParentType, ContextType>; +export type ContextualPermissionEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AnySchemaPropertyResolvers = { - __resolveType: TypeResolveFn<'AssetProperty' | 'AssetsProperty' | 'BooleanProperty' | 'ContributorProperty' | 'ContributorsProperty' | 'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty' | 'DateProperty' | 'EmailProperty' | 'EntitiesProperty' | 'EntityProperty' | 'FloatProperty' | 'FullTextProperty' | 'GroupProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SelectProperty' | 'StringProperty' | 'TagsProperty' | 'TimestampProperty' | 'URLProperty' | 'UnknownProperty' | 'VariableDateProperty', ParentType, ContextType>; +export type ContributableResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; + contributionRoles?: Resolver; + contributors?: Resolver>; }; -export type AnySupplementaryTemplateDefinitionResolvers = { - __resolveType: TypeResolveFn<'SupplementaryTemplateDefinition', ParentType, ContextType>; +export type ContributionResolvers = { + __resolveType: TypeResolveFn<'CollectionContribution' | 'ItemContribution', ParentType, ContextType>; + affiliation?: Resolver, ParentType, ContextType>; + contributionRole?: Resolver; + contributor?: Resolver; + contributorKind?: Resolver; + displayName?: Resolver; + innerPosition?: Resolver, ParentType, ContextType>; + location?: Resolver, ParentType, ContextType>; + metadata?: Resolver; + outerPosition?: Resolver, ParentType, ContextType>; + role?: Resolver, ParentType, ContextType>; + roleLabel?: Resolver, ParentType, ContextType>; + title?: Resolver, ParentType, ContextType>; }; -export type AnySupplementaryTemplateInstanceResolvers = { - __resolveType: TypeResolveFn<'SupplementaryTemplateInstance', ParentType, ContextType>; +export type ContributionBaseResolvers = { + __resolveType: TypeResolveFn<'CollectionContribution' | 'ItemContribution' | 'TemplateContribution', ParentType, ContextType>; + affiliation?: Resolver, ParentType, ContextType>; + contributionRole?: Resolver; + contributorKind?: Resolver; + displayName?: Resolver; + innerPosition?: Resolver, ParentType, ContextType>; + location?: Resolver, ParentType, ContextType>; + metadata?: Resolver; + outerPosition?: Resolver, ParentType, ContextType>; + role?: Resolver, ParentType, ContextType>; + roleLabel?: Resolver, ParentType, ContextType>; + title?: Resolver, ParentType, ContextType>; }; -export type AnyUserAccessGrantResolvers = { - __resolveType: TypeResolveFn<'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; +export type ContributionMetadataResolvers = { + affiliation?: Resolver, ParentType, ContextType>; + displayName?: Resolver, ParentType, ContextType>; + role?: Resolver, ParentType, ContextType>; + title?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyUserAccessGrantConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; +export type ContributionRoleConfigurationResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + controlledVocabulary?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + defaultItem?: Resolver; + id?: Resolver; + otherItem?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyUserAccessGrantEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type ContributorResolvers = { + __resolveType: TypeResolveFn<'OrganizationContributor' | 'PersonContributor', ParentType, ContextType>; + affiliation?: Resolver, ParentType, ContextType>; + attributions?: Resolver>; + bio?: Resolver, ParentType, ContextType>; + canClaim?: Resolver; + canDestroy?: Resolver; + canLinkUser?: Resolver; + canMergeSource?: Resolver; + canMergeTarget?: Resolver; + canUpdate?: Resolver; + claimed?: Resolver; + collectionContributionCount?: Resolver; + collectionContributions?: Resolver>; + contributionCount?: Resolver; + email?: Resolver, ParentType, ContextType>; + familyName?: Resolver, ParentType, ContextType>; + givenName?: Resolver, ParentType, ContextType>; + harvestModificationStatus?: Resolver; + identifier?: Resolver; + image?: Resolver; + imageMetadata?: Resolver, ParentType, ContextType>; + itemContributionCount?: Resolver; + itemContributions?: Resolver>; + kind?: Resolver; + legalName?: Resolver, ParentType, ContextType>; + links?: Resolver, ParentType, ContextType>; + location?: Resolver, ParentType, ContextType>; + mergeBusy?: Resolver; + mergeSourceStatus?: Resolver; + mergeTarget?: Resolver, ParentType, ContextType>; + mergeTargetStatus?: Resolver; + name?: Resolver; + orcid?: Resolver, ParentType, ContextType>; + prefix?: Resolver, ParentType, ContextType>; + slug?: Resolver; + suffix?: Resolver, ParentType, ContextType>; + title?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + userLink?: Resolver, ParentType, ContextType>; }; -export type AnyUserGroupAccessGrantResolvers = { - __resolveType: TypeResolveFn<'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant', ParentType, ContextType>; +export type ContributorAttributionResolvers = { + __resolveType: TypeResolveFn<'ContributorCollectionAttribution' | 'ContributorItemAttribution', ParentType, ContextType>; + entitySlug?: Resolver; + kind?: Resolver; + published?: Resolver, ParentType, ContextType>; + publishedOn?: Resolver, ParentType, ContextType>; + roles?: Resolver, ParentType, ContextType>; + title?: Resolver; }; -export type AnyUserGroupAccessGrantConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type ContributorAttributionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AnyUserGroupAccessGrantEdgeResolvers = { +export type ContributorAttributionEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ApplySchemaPropertiesPayloadResolvers = { +export type ContributorBaseResolvers = { + __resolveType: TypeResolveFn<'OrganizationContributor' | 'PersonContributor', ParentType, ContextType>; + affiliation?: Resolver, ParentType, ContextType>; + bio?: Resolver, ParentType, ContextType>; + canClaim?: Resolver; + canDestroy?: Resolver; + canLinkUser?: Resolver; + canMergeSource?: Resolver; + canMergeTarget?: Resolver; + canUpdate?: Resolver; + claimed?: Resolver; + collectionContributionCount?: Resolver; + contributionCount?: Resolver; + email?: Resolver, ParentType, ContextType>; + familyName?: Resolver, ParentType, ContextType>; + givenName?: Resolver, ParentType, ContextType>; + harvestModificationStatus?: Resolver; + identifier?: Resolver; + image?: Resolver; + imageMetadata?: Resolver, ParentType, ContextType>; + itemContributionCount?: Resolver; + kind?: Resolver; + legalName?: Resolver, ParentType, ContextType>; + links?: Resolver, ParentType, ContextType>; + location?: Resolver, ParentType, ContextType>; + mergeBusy?: Resolver; + mergeSourceStatus?: Resolver; + mergeTarget?: Resolver, ParentType, ContextType>; + mergeTargetStatus?: Resolver; + name?: Resolver; + orcid?: Resolver, ParentType, ContextType>; + prefix?: Resolver, ParentType, ContextType>; + slug?: Resolver; + suffix?: Resolver, ParentType, ContextType>; + title?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + userLink?: Resolver, ParentType, ContextType>; +}; + +export type ContributorClaimPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - collection?: Resolver, ParentType, ContextType>; - community?: Resolver, ParentType, ContextType>; - entity?: Resolver, ParentType, ContextType>; + contributor?: Resolver, ParentType, ContextType>; + contributorUserLink?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; - item?: Resolver, ParentType, ContextType>; - schemaErrors?: Resolver, ParentType, ContextType>; + user?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetResolvers = { - __resolveType: TypeResolveFn<'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo', ParentType, ContextType>; - altText?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - attachable?: Resolver; - caption?: Resolver, ParentType, ContextType>; - contentType?: Resolver; - downloadURL?: Resolver, ParentType, ContextType>; - downloadUrl?: Resolver, ParentType, ContextType>; - fileSize?: Resolver; +export type ContributorCollectionAttributionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + collection?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + entitySlug?: Resolver; id?: Resolver; - kind?: Resolver; - name?: Resolver; - preview?: Resolver; - previewMetadata?: Resolver, ParentType, ContextType>; + kind?: Resolver; + published?: Resolver, ParentType, ContextType>; + publishedOn?: Resolver, ParentType, ContextType>; + roles?: Resolver, ParentType, ContextType>; slug?: Resolver; + title?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetAudioResolvers = { - altText?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - attachable?: Resolver; - caption?: Resolver, ParentType, ContextType>; - contentType?: Resolver; +export type ContributorItemAttributionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - downloadURL?: Resolver, ParentType, ContextType>; - downloadUrl?: Resolver, ParentType, ContextType>; - fileSize?: Resolver; + createdOn?: Resolver; + entitySlug?: Resolver; id?: Resolver; - kind?: Resolver; - name?: Resolver; - preview?: Resolver; - previewMetadata?: Resolver, ParentType, ContextType>; + item?: Resolver; + kind?: Resolver; + published?: Resolver, ParentType, ContextType>; + publishedOn?: Resolver, ParentType, ContextType>; + roles?: Resolver, ParentType, ContextType>; slug?: Resolver; + title?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; +export type ContributorLinkResolvers = { + title?: Resolver; + url?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetDocumentResolvers = { - altText?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - attachable?: Resolver; - caption?: Resolver, ParentType, ContextType>; - contentType?: Resolver; +export type ContributorListTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - downloadURL?: Resolver, ParentType, ContextType>; - downloadUrl?: Resolver, ParentType, ContextType>; - fileSize?: Resolver; + createdOn?: Resolver; + filter?: Resolver, ParentType, ContextType>; id?: Resolver; - kind?: Resolver; - name?: Resolver; - preview?: Resolver; - previewMetadata?: Resolver, ParentType, ContextType>; + layoutKind?: Resolver; + limit?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type ContributorListTemplateDefinitionSlotsResolvers = { + header?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetImageResolvers = { - altText?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - attachable?: Resolver; - caption?: Resolver, ParentType, ContextType>; - contentType?: Resolver; +export type ContributorListTemplateInstanceResolvers = { + allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + contributionList?: Resolver; createdAt?: Resolver; - downloadURL?: Resolver, ParentType, ContextType>; - downloadUrl?: Resolver, ParentType, ContextType>; - fileSize?: Resolver; + createdOn?: Resolver; + definition?: Resolver; + entity?: Resolver; + hidden?: Resolver; id?: Resolver; - kind?: Resolver; - name?: Resolver; - preview?: Resolver; - previewMetadata?: Resolver, ParentType, ContextType>; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutKind?: Resolver; + nextSiblings?: Resolver, ParentType, ContextType>; + prevSiblings?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetPdfResolvers = { - altText?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - attachable?: Resolver; - caption?: Resolver, ParentType, ContextType>; - contentType?: Resolver; - createdAt?: Resolver; - downloadURL?: Resolver, ParentType, ContextType>; - downloadUrl?: Resolver, ParentType, ContextType>; - fileSize?: Resolver; - id?: Resolver; - kind?: Resolver; - name?: Resolver; - preview?: Resolver; - previewMetadata?: Resolver, ParentType, ContextType>; - slug?: Resolver; - updatedAt?: Resolver; +export type ContributorListTemplateInstanceSlotsResolvers = { + header?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetPermissionGridResolvers = { +export type ContributorMergePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + source?: Resolver, ParentType, ContextType>; + target?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ContributorPermissionGridResolvers = { allowedActions?: Resolver, ParentType, ContextType>; + claim?: Resolver; create?: Resolver; delete?: Resolver; + merge?: Resolver; permissions?: Resolver, ParentType, ContextType>; read?: Resolver; update?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetPropertyResolvers = { +export type ContributorPropertyResolvers = { array?: Resolver; - asset?: Resolver, ParentType, ContextType>; + contributor?: Resolver, ParentType, ContextType>; description?: Resolver, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; orderable?: Resolver; path?: Resolver; required?: Resolver; + submittable?: Resolver; type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetSelectOptionResolvers = { - kind?: Resolver; +export type ContributorSelectOptionResolvers = { + kind?: Resolver; label?: Resolver; value?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetUnknownResolvers = { - altText?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - attachable?: Resolver; - caption?: Resolver, ParentType, ContextType>; - contentType?: Resolver; - createdAt?: Resolver; - downloadURL?: Resolver, ParentType, ContextType>; - downloadUrl?: Resolver, ParentType, ContextType>; - fileSize?: Resolver; - id?: Resolver; - kind?: Resolver; - name?: Resolver; - preview?: Resolver; - previewMetadata?: Resolver, ParentType, ContextType>; - slug?: Resolver; - updatedAt?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type AssetVideoResolvers = { - altText?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - attachable?: Resolver; - caption?: Resolver, ParentType, ContextType>; - contentType?: Resolver; +export type ContributorUserLinkResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + contributor?: Resolver; createdAt?: Resolver; - downloadURL?: Resolver, ParentType, ContextType>; - downloadUrl?: Resolver, ParentType, ContextType>; - fileSize?: Resolver; + createdOn?: Resolver; id?: Resolver; - kind?: Resolver; - name?: Resolver; - preview?: Resolver; - previewMetadata?: Resolver, ParentType, ContextType>; + linkage?: Resolver; slug?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type AssetsPropertyResolvers = { - array?: Resolver; - assets?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - type?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type AttachableResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; - assets?: Resolver>; -}; - -export type AttributableResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; - attributions?: Resolver, ParentType, ContextType>; -}; - -export type AttributionResolvers = { - __resolveType: TypeResolveFn<'CollectionAttribution' | 'ItemAttribution', ParentType, ContextType>; - contributor?: Resolver; - roles?: Resolver, ParentType, ContextType>; -}; - -export type BlurbTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; - createdAt?: Resolver; - id?: Resolver; - layoutKind?: Resolver; - slots?: Resolver; - slug?: Resolver; - templateKind?: Resolver; - updatedAt?: Resolver; - width?: Resolver, ParentType, ContextType>; +export type ContributorUserLinkDestroyPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type BlurbTemplateDefinitionSlotsResolvers = { - body?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - subheader?: Resolver, ParentType, ContextType>; +export type ContributorUserLinkUpsertPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + contributor?: Resolver, ParentType, ContextType>; + contributorUserLink?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + user?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type BlurbTemplateInstanceResolvers = { - allSlotsEmpty?: Resolver; - createdAt?: Resolver; - definition?: Resolver; - entity?: Resolver; - hidden?: Resolver; - id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutKind?: Resolver; - nextSiblings?: Resolver, ParentType, ContextType>; - prevSiblings?: Resolver, ParentType, ContextType>; - slots?: Resolver; - slug?: Resolver; - templateKind?: Resolver; - updatedAt?: Resolver; +export type ContributorsPropertyResolvers = { + array?: Resolver; + contributors?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + submittable?: Resolver; + type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type BlurbTemplateInstanceSlotsResolvers = { - body?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - subheader?: Resolver, ParentType, ContextType>; +export type ContributorsSettingsResolvers = { + claimable?: Resolver; + ownerUpdatable?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type BooleanPropertyResolvers = { +export type ControlledVocabulariesPropertyResolvers = { array?: Resolver; - checked?: Resolver, ParentType, ContextType>; - checkedByDefault?: Resolver, ParentType, ContextType>; + controlledVocabulary?: Resolver, ParentType, ContextType>; + controlledVocabularyItems?: Resolver, ParentType, ContextType>; description?: Resolver, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; orderable?: Resolver; path?: Resolver; required?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; + submittable?: Resolver; type?: Resolver; + wants?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CrudPermissionGridResolvers = { - __resolveType: TypeResolveFn<'AssetPermissionGrid' | 'EntityPermissionGrid', ParentType, ContextType>; - allowedActions?: Resolver, ParentType, ContextType>; - create?: Resolver; - delete?: Resolver; - permissions?: Resolver, ParentType, ContextType>; - read?: Resolver; - update?: Resolver; -}; - -export type ChildEntityResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; - accessControlList?: Resolver, ParentType, ContextType>; - allAccessGrants?: Resolver>; - allowedActions?: Resolver, ParentType, ContextType>; - ancestorByName?: Resolver, ParentType, ContextType, RequireFields>; - ancestorOfType?: Resolver, ParentType, ContextType, RequireFields>; - announcement?: Resolver, ParentType, ContextType, RequireFields>; - announcements?: Resolver>; - applicableRoles?: Resolver, ParentType, ContextType>; - assignableRoles?: Resolver, ParentType, ContextType>; - assignedUsers?: Resolver>; - breadcrumbs?: Resolver, ParentType, ContextType>; - community?: Resolver; +export type ControlledVocabularyResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - currentlyHidden?: Resolver; - currentlyVisible?: Resolver; - descendants?: Resolver>; - doi?: Resolver, ParentType, ContextType>; - doiData?: Resolver; - harvestModificationStatus?: Resolver; - harvestRecords?: Resolver, ParentType, ContextType>; - hasWeirdDOI?: Resolver; - heroImage?: Resolver; - heroImageMetadata?: Resolver, ParentType, ContextType>; - hidden?: Resolver; - hiddenAsOf?: Resolver>; - hiddenAt?: Resolver, ParentType, ContextType>; - hierarchicalDepth?: Resolver; + createdOn?: Resolver; + description?: Resolver, ParentType, ContextType>; + id?: Resolver; identifier?: Resolver; - layouts?: Resolver; - leaf?: Resolver; - linkTargetCandidates?: Resolver>; - links?: Resolver>; - markedForPurge?: Resolver; - namedAncestors?: Resolver, ParentType, ContextType>; - ordering?: Resolver, ParentType, ContextType, RequireFields>; - orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; - orderings?: Resolver>; - page?: Resolver, ParentType, ContextType, RequireFields>; - pages?: Resolver>; - permissions?: Resolver, ParentType, ContextType>; - published?: Resolver; - rawDOI?: Resolver, ParentType, ContextType>; - root?: Resolver; - schemaDefinition?: Resolver; - schemaProperties?: Resolver, ParentType, ContextType>; - schemaRanks?: Resolver, ParentType, ContextType>; - schemaVersion?: Resolver; - search?: Resolver>; + itemSet?: Resolver; + items?: Resolver, ParentType, ContextType>; + name?: Resolver; + namespace?: Resolver; + provides?: Resolver; slug?: Resolver; - subtitle?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; - thumbnail?: Resolver; - thumbnailMetadata?: Resolver, ParentType, ContextType>; - title?: Resolver; updatedAt?: Resolver; - visibility?: Resolver; - visible?: Resolver; - visibleAfterAt?: Resolver, ParentType, ContextType>; - visibleAsOf?: Resolver>; - visibleUntilAt?: Resolver, ParentType, ContextType>; + updatedOn?: Resolver; + version?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type CollectionResolvers = { - accessControlList?: Resolver, ParentType, ContextType>; - accessGrants?: Resolver>; - allAccessGrants?: Resolver>; - allowedActions?: Resolver, ParentType, ContextType>; - ancestorByName?: Resolver, ParentType, ContextType, RequireFields>; - ancestorOfType?: Resolver, ParentType, ContextType, RequireFields>; - announcement?: Resolver, ParentType, ContextType, RequireFields>; - announcements?: Resolver>; - applicableRoles?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - assets?: Resolver>; - assignableRoles?: Resolver, ParentType, ContextType>; - assignedUsers?: Resolver>; - attributions?: Resolver, ParentType, ContextType>; - availableEntitiesFor?: Resolver, ParentType, ContextType, RequireFields>; - breadcrumbs?: Resolver, ParentType, ContextType>; - canonicalPermalink?: Resolver, ParentType, ContextType>; - children?: Resolver>; - collections?: Resolver>; - community?: Resolver; - contributionRoles?: Resolver; - contributions?: Resolver>; - contributors?: Resolver>; +export type ControlledVocabularyConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ControlledVocabularyDestroyPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ControlledVocabularyEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ControlledVocabularyItemResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + children?: Resolver, ParentType, ContextType>; createdAt?: Resolver; - currentlyHidden?: Resolver; - currentlyVisible?: Resolver; - descendants?: Resolver>; - doi?: Resolver, ParentType, ContextType>; - doiData?: Resolver; - entityViews?: Resolver>; - entityViewsByRegion?: Resolver>; - firstCollection?: Resolver, ParentType, ContextType, RequireFields>; - firstItem?: Resolver, ParentType, ContextType, RequireFields>; - harvestModificationStatus?: Resolver; - harvestRecords?: Resolver, ParentType, ContextType>; - harvestTargetKind?: Resolver; - hasCollections?: Resolver; - hasItems?: Resolver; - hasWeirdDOI?: Resolver; - heroImage?: Resolver; - heroImageMetadata?: Resolver, ParentType, ContextType>; - hidden?: Resolver; - hiddenAsOf?: Resolver>; - hiddenAt?: Resolver, ParentType, ContextType>; - hierarchicalDepth?: Resolver; + createdOn?: Resolver; + description?: Resolver, ParentType, ContextType>; id?: Resolver; identifier?: Resolver; - items?: Resolver>; - layouts?: Resolver; - leaf?: Resolver; - linkTargetCandidates?: Resolver>; - links?: Resolver>; - markedForPurge?: Resolver; - namedAncestors?: Resolver, ParentType, ContextType>; - ordering?: Resolver, ParentType, ContextType, RequireFields>; - orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; - orderings?: Resolver>; - page?: Resolver, ParentType, ContextType, RequireFields>; - pages?: Resolver>; - parent?: Resolver, ParentType, ContextType>; - permalinks?: Resolver, ParentType, ContextType>; - permissions?: Resolver, ParentType, ContextType>; - published?: Resolver; - rawDOI?: Resolver, ParentType, ContextType>; - relatedCollections?: Resolver>; - root?: Resolver; - schemaDefinition?: Resolver; - schemaInstanceContext?: Resolver; - schemaProperties?: Resolver, ParentType, ContextType>; - schemaProperty?: Resolver, ParentType, ContextType, RequireFields>; - schemaRanks?: Resolver, ParentType, ContextType>; - schemaVersion?: Resolver; - search?: Resolver>; + label?: Resolver; + priority?: Resolver, ParentType, ContextType>; slug?: Resolver; - subtitle?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; - thumbnail?: Resolver; - thumbnailMetadata?: Resolver, ParentType, ContextType>; - title?: Resolver; + tags?: Resolver, ParentType, ContextType>; + unselectable?: Resolver; updatedAt?: Resolver; - userAccessGrants?: Resolver>; - userGroupAccessGrants?: Resolver>; - visibility?: Resolver; - visible?: Resolver; - visibleAfterAt?: Resolver, ParentType, ContextType>; - visibleAsOf?: Resolver>; - visibleUntilAt?: Resolver, ParentType, ContextType>; + updatedOn?: Resolver; + url?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export interface ControlledVocabularyItemSetScalarConfig extends GraphQLScalarTypeConfig { + name: 'ControlledVocabularyItemSet'; +} + +export type ControlledVocabularyPropertyResolvers = { + array?: Resolver; + controlledVocabulary?: Resolver, ParentType, ContextType>; + controlledVocabularyItem?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + submittable?: Resolver; + type?: Resolver; + wants?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CollectionAttributionResolvers = { - contributor?: Resolver; +export type ControlledVocabularySourceResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + controlledVocabulary?: Resolver, ParentType, ContextType>; createdAt?: Resolver; + createdOn?: Resolver; id?: Resolver; - roles?: Resolver, ParentType, ContextType>; + provides?: Resolver; slug?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type CollectionConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type ControlledVocabularySourceConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type CollectionContributionResolvers = { - affiliation?: Resolver, ParentType, ContextType>; - collection?: Resolver; - contributionRole?: Resolver; - contributor?: Resolver; - contributorKind?: Resolver; - createdAt?: Resolver; - displayName?: Resolver; - id?: Resolver; - innerPosition?: Resolver, ParentType, ContextType>; - location?: Resolver, ParentType, ContextType>; - metadata?: Resolver; - outerPosition?: Resolver, ParentType, ContextType>; - role?: Resolver, ParentType, ContextType>; - roleLabel?: Resolver, ParentType, ContextType>; - slug?: Resolver; - title?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; +export type ControlledVocabularySourceEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type CollectionContributionConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; +export type ControlledVocabularySourceUpdatePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + controlledVocabularySource?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CollectionContributionEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type ControlledVocabularyUpsertPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + controlledVocabulary?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CollectionEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type CreateAnnouncementPayloadResolvers = { + announcement?: Resolver, ParentType, ContextType>; + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CollectionParentResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community', ParentType, ContextType>; +export type CreateAssetPayloadResolvers = { + asset?: Resolver, ParentType, ContextType>; + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type CommunityResolvers = { - accessControlList?: Resolver, ParentType, ContextType>; - accessGrants?: Resolver>; - allAccessGrants?: Resolver>; - allowedActions?: Resolver, ParentType, ContextType>; - announcement?: Resolver, ParentType, ContextType, RequireFields>; - announcements?: Resolver>; - applicableRoles?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - assets?: Resolver>; - assignableRoles?: Resolver, ParentType, ContextType>; - assignedUsers?: Resolver>; - availableEntitiesFor?: Resolver, ParentType, ContextType, RequireFields>; - breadcrumbs?: Resolver, ParentType, ContextType>; - canonicalPermalink?: Resolver, ParentType, ContextType>; - collections?: Resolver>; +export type CreateCollectionPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + collection?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CreateCommunityPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + community?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CreateItemPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + item?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CreateOrderingPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + ordering?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CreateOrganizationContributorPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + contributor?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CreatePagePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + page?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CreatePersonContributorPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + contributor?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type CreateRolePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + role?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DoiDataResolvers = { + doi?: Resolver, ParentType, ContextType>; + host?: Resolver, ParentType, ContextType>; + ok?: Resolver; + url?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DatePropertyResolvers = { + array?: Resolver; + date?: Resolver, ParentType, ContextType>; + default?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; + submittable?: Resolver; + type?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DepositingSettingsResolvers = { + agreement?: Resolver; + enabled?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DepositorAgreementResolvers = { + canAccept?: Resolver; + canDestroy?: Resolver; + canReset?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - descendants?: Resolver>; - entityViews?: Resolver>; - entityViewsByRegion?: Resolver>; - firstCollection?: Resolver, ParentType, ContextType, RequireFields>; - firstItem?: Resolver, ParentType, ContextType, RequireFields>; - harvestTargetKind?: Resolver; - heroImage?: Resolver; - heroImageLayout?: Resolver; - heroImageMetadata?: Resolver, ParentType, ContextType>; - hierarchicalDepth?: Resolver; + createdOn?: Resolver; id?: Resolver; - layouts?: Resolver; - linkTargetCandidates?: Resolver>; - links?: Resolver>; - logo?: Resolver; - logoMetadata?: Resolver, ParentType, ContextType>; - markedForPurge?: Resolver; - metadata?: Resolver, ParentType, ContextType>; - name?: Resolver; - ordering?: Resolver, ParentType, ContextType, RequireFields>; - orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; - orderings?: Resolver>; - page?: Resolver, ParentType, ContextType, RequireFields>; - pages?: Resolver>; - permalinks?: Resolver, ParentType, ContextType>; - permissions?: Resolver, ParentType, ContextType>; - position?: Resolver, ParentType, ContextType>; - schemaDefinition?: Resolver; - schemaInstanceContext?: Resolver; - schemaProperties?: Resolver, ParentType, ContextType>; - schemaProperty?: Resolver, ParentType, ContextType, RequireFields>; - schemaRanks?: Resolver, ParentType, ContextType>; - schemaVersion?: Resolver; - search?: Resolver>; + lastAcceptedAt?: Resolver, ParentType, ContextType>; + slug?: Resolver; + state?: Resolver; + submissionTarget?: Resolver; + transitions?: Resolver>; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DepositorAgreementAcceptPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + depositorAgreement?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DepositorAgreementResetAllPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submissionTarget?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DepositorAgreementResetPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + depositorAgreement?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DepositorAgreementTransitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + fromState?: Resolver, ParentType, ContextType>; + id?: Resolver; + mostRecent?: Resolver; slug?: Resolver; - subtitle?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; - tagline?: Resolver, ParentType, ContextType>; - thumbnail?: Resolver; - thumbnailMetadata?: Resolver, ParentType, ContextType>; - title?: Resolver; + toState?: Resolver; updatedAt?: Resolver; - userAccessGrants?: Resolver>; - userGroupAccessGrants?: Resolver>; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CommunityConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type DepositorAgreementTransitionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type CommunityEdgeResolvers = { +export type DepositorAgreementTransitionEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContextualPermissionResolvers = { - accessControlList?: Resolver, ParentType, ContextType>; - accessGrants?: Resolver, ParentType, ContextType>; - allowedActions?: Resolver, ParentType, ContextType>; +export type DepositorRequestResolvers = { + canDestroy?: Resolver; + canTransition?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; id?: Resolver; - permissions?: Resolver, ParentType, ContextType>; - roles?: Resolver, ParentType, ContextType>; + message?: Resolver, ParentType, ContextType>; slug?: Resolver; + state?: Resolver; + submissionTarget?: Resolver; + transitions?: Resolver>; updatedAt?: Resolver; + updatedOn?: Resolver; user?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContextualPermissionConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type DepositorRequestChangeStatePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + depositorRequest?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DepositorRequestConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContextualPermissionEdgeResolvers = { +export type DepositorRequestCreatePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + depositorRequest?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DepositorRequestEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributableResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; - contributionRoles?: Resolver; - contributors?: Resolver>; +export type DepositorRequestTransitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + fromState?: Resolver, ParentType, ContextType>; + id?: Resolver; + mostRecent?: Resolver; + slug?: Resolver; + toState?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributionResolvers = { - __resolveType: TypeResolveFn<'CollectionContribution' | 'ItemContribution', ParentType, ContextType>; - affiliation?: Resolver, ParentType, ContextType>; - contributionRole?: Resolver; - contributor?: Resolver; - contributorKind?: Resolver; - displayName?: Resolver; - innerPosition?: Resolver, ParentType, ContextType>; - location?: Resolver, ParentType, ContextType>; - metadata?: Resolver; - outerPosition?: Resolver, ParentType, ContextType>; - role?: Resolver, ParentType, ContextType>; - roleLabel?: Resolver, ParentType, ContextType>; - title?: Resolver, ParentType, ContextType>; +export type DepositorRequestTransitionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributionBaseResolvers = { - __resolveType: TypeResolveFn<'CollectionContribution' | 'ItemContribution' | 'TemplateContribution', ParentType, ContextType>; - affiliation?: Resolver, ParentType, ContextType>; - contributionRole?: Resolver; - contributorKind?: Resolver; - displayName?: Resolver; - innerPosition?: Resolver, ParentType, ContextType>; - location?: Resolver, ParentType, ContextType>; - metadata?: Resolver; - outerPosition?: Resolver, ParentType, ContextType>; - role?: Resolver, ParentType, ContextType>; - roleLabel?: Resolver, ParentType, ContextType>; - title?: Resolver, ParentType, ContextType>; +export type DepositorRequestTransitionEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributionMetadataResolvers = { - affiliation?: Resolver, ParentType, ContextType>; - displayName?: Resolver, ParentType, ContextType>; - role?: Resolver, ParentType, ContextType>; +export type DescendantListTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + browseStyle?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + dynamicOrderingDefinition?: Resolver, ParentType, ContextType>; + entityContext?: Resolver, ParentType, ContextType>; + id?: Resolver; + layoutKind?: Resolver; + manualListName?: Resolver, ParentType, ContextType>; + orderingIdentifier?: Resolver, ParentType, ContextType>; + seeAllButtonLabel?: Resolver, ParentType, ContextType>; + seeAllOrderingIdentifier?: Resolver, ParentType, ContextType>; + selectionFallbackMode?: Resolver, ParentType, ContextType>; + selectionLimit?: Resolver, ParentType, ContextType>; + selectionMode?: Resolver, ParentType, ContextType>; + selectionPropertyPath?: Resolver, ParentType, ContextType>; + selectionSource?: Resolver, ParentType, ContextType>; + selectionSourceAncestorName?: Resolver, ParentType, ContextType>; + selectionSourceMode?: Resolver, ParentType, ContextType>; + selectionUnbounded?: Resolver, ParentType, ContextType>; + showContributors?: Resolver, ParentType, ContextType>; + showEntityContext?: Resolver, ParentType, ContextType>; + showHeroImage?: Resolver, ParentType, ContextType>; + showNestedEntities?: Resolver, ParentType, ContextType>; + showSeeAllButton?: Resolver, ParentType, ContextType>; + slots?: Resolver; + slug?: Resolver; + templateKind?: Resolver; title?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; + useSelectionFallback?: Resolver, ParentType, ContextType>; + variant?: Resolver, ParentType, ContextType>; + width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributionRoleConfigurationResolvers = { - controlledVocabulary?: Resolver; +export type DescendantListTemplateDefinitionSlotsResolvers = { + blockHeader?: Resolver, ParentType, ContextType>; + blockHeaderFallback?: Resolver, ParentType, ContextType>; + header?: Resolver, ParentType, ContextType>; + headerAside?: Resolver, ParentType, ContextType>; + headerFallback?: Resolver, ParentType, ContextType>; + listContext?: Resolver, ParentType, ContextType>; + metadata?: Resolver, ParentType, ContextType>; + subtitle?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DescendantListTemplateInstanceResolvers = { + allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - defaultItem?: Resolver; + createdOn?: Resolver; + definition?: Resolver; + entity?: Resolver; + entityList?: Resolver; + hidden?: Resolver; id?: Resolver; - otherItem?: Resolver, ParentType, ContextType>; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutKind?: Resolver; + nextSiblings?: Resolver, ParentType, ContextType>; + prevSiblings?: Resolver, ParentType, ContextType>; + seeAllOrdering?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorResolvers = { - __resolveType: TypeResolveFn<'OrganizationContributor' | 'PersonContributor', ParentType, ContextType>; - affiliation?: Resolver, ParentType, ContextType>; - attributions?: Resolver>; - bio?: Resolver, ParentType, ContextType>; - collectionContributionCount?: Resolver; - collectionContributions?: Resolver>; - contributionCount?: Resolver; - email?: Resolver, ParentType, ContextType>; - familyName?: Resolver, ParentType, ContextType>; - givenName?: Resolver, ParentType, ContextType>; - harvestModificationStatus?: Resolver; +export type DescendantListTemplateInstanceSlotsResolvers = { + blockHeader?: Resolver, ParentType, ContextType>; + blockHeaderFallback?: Resolver, ParentType, ContextType>; + header?: Resolver, ParentType, ContextType>; + headerAside?: Resolver, ParentType, ContextType>; + headerFallback?: Resolver, ParentType, ContextType>; + listContext?: Resolver, ParentType, ContextType>; + metadata?: Resolver, ParentType, ContextType>; + subtitle?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DescribesSchemaResolvers = { + __resolveType: TypeResolveFn<'HierarchicalSchemaRank' | 'HierarchicalSchemaVersionRank' | 'SchemaDefinition' | 'SchemaVersion', ParentType, ContextType>; + declaration?: Resolver; identifier?: Resolver; - image?: Resolver; - imageMetadata?: Resolver, ParentType, ContextType>; - itemContributionCount?: Resolver; - itemContributions?: Resolver>; - kind?: Resolver; - legalName?: Resolver, ParentType, ContextType>; - links?: Resolver, ParentType, ContextType>; - location?: Resolver, ParentType, ContextType>; + kind?: Resolver; name?: Resolver; - orcid?: Resolver, ParentType, ContextType>; - prefix?: Resolver, ParentType, ContextType>; - slug?: Resolver; - suffix?: Resolver, ParentType, ContextType>; - title?: Resolver, ParentType, ContextType>; - url?: Resolver, ParentType, ContextType>; + namespace?: Resolver; }; -export type ContributorAttributionResolvers = { - __resolveType: TypeResolveFn<'ContributorCollectionAttribution' | 'ContributorItemAttribution', ParentType, ContextType>; - entitySlug?: Resolver; - kind?: Resolver; - published?: Resolver, ParentType, ContextType>; - publishedOn?: Resolver, ParentType, ContextType>; - roles?: Resolver, ParentType, ContextType>; - title?: Resolver; +export type DestroyAnnouncementPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DestroyAssetPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DestroyCollectionPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DestroyCommunityPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorAttributionConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; +export type DestroyContributionPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorAttributionEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type DestroyContributorPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorBaseResolvers = { - __resolveType: TypeResolveFn<'OrganizationContributor' | 'PersonContributor', ParentType, ContextType>; - affiliation?: Resolver, ParentType, ContextType>; - bio?: Resolver, ParentType, ContextType>; - collectionContributionCount?: Resolver; - contributionCount?: Resolver; - email?: Resolver, ParentType, ContextType>; - familyName?: Resolver, ParentType, ContextType>; - givenName?: Resolver, ParentType, ContextType>; - harvestModificationStatus?: Resolver; - identifier?: Resolver; - image?: Resolver; - imageMetadata?: Resolver, ParentType, ContextType>; - itemContributionCount?: Resolver; - kind?: Resolver; - legalName?: Resolver, ParentType, ContextType>; - links?: Resolver, ParentType, ContextType>; - location?: Resolver, ParentType, ContextType>; - name?: Resolver; - orcid?: Resolver, ParentType, ContextType>; - prefix?: Resolver, ParentType, ContextType>; - slug?: Resolver; - suffix?: Resolver, ParentType, ContextType>; - title?: Resolver, ParentType, ContextType>; - url?: Resolver, ParentType, ContextType>; +export type DestroyEntityLinkPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorCollectionAttributionResolvers = { - collection?: Resolver; - createdAt?: Resolver; - entitySlug?: Resolver; - id?: Resolver; - kind?: Resolver; - published?: Resolver, ParentType, ContextType>; - publishedOn?: Resolver, ParentType, ContextType>; - roles?: Resolver, ParentType, ContextType>; - slug?: Resolver; - title?: Resolver; - updatedAt?: Resolver; +export type DestroyItemPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorItemAttributionResolvers = { - createdAt?: Resolver; - entitySlug?: Resolver; - id?: Resolver; - item?: Resolver; - kind?: Resolver; - published?: Resolver, ParentType, ContextType>; - publishedOn?: Resolver, ParentType, ContextType>; - roles?: Resolver, ParentType, ContextType>; - slug?: Resolver; - title?: Resolver; - updatedAt?: Resolver; +export type DestroyMutationPayloadResolvers = { + __resolveType: TypeResolveFn<'ContributorUserLinkDestroyPayload' | 'ControlledVocabularyDestroyPayload' | 'DestroyAnnouncementPayload' | 'DestroyAssetPayload' | 'DestroyCollectionPayload' | 'DestroyCommunityPayload' | 'DestroyContributionPayload' | 'DestroyContributorPayload' | 'DestroyEntityLinkPayload' | 'DestroyItemPayload' | 'DestroyOrderingPayload' | 'DestroyPagePayload' | 'EntityPurgePayload' | 'HarvestMappingDestroyPayload' | 'HarvestMetadataMappingDestroyPayload' | 'HarvestSourceDestroyPayload' | 'PermalinkDestroyPayload' | 'SubmissionCommentDestroyPayload' | 'SubmissionTargetReviewerDestroyPayload', ParentType, ContextType>; + attributeErrors?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; +}; + +export type DestroyOrderingPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + disabled?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorLinkResolvers = { - title?: Resolver; - url?: Resolver; +export type DestroyPagePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorListTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; +export type DetailTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - filter?: Resolver, ParentType, ContextType>; + createdOn?: Resolver; id?: Resolver; layoutKind?: Resolver; - limit?: Resolver, ParentType, ContextType>; - slots?: Resolver; + showAnnouncements?: Resolver, ParentType, ContextType>; + showBody?: Resolver, ParentType, ContextType>; + showHeroImage?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + variant?: Resolver, ParentType, ContextType>; width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorListTemplateDefinitionSlotsResolvers = { +export type DetailTemplateDefinitionSlotsResolvers = { + body?: Resolver, ParentType, ContextType>; header?: Resolver, ParentType, ContextType>; + itemsA?: Resolver, ParentType, ContextType>; + itemsB?: Resolver, ParentType, ContextType>; + itemsC?: Resolver, ParentType, ContextType>; + itemsD?: Resolver, ParentType, ContextType>; + subheader?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorListTemplateInstanceResolvers = { +export type DetailTemplateInstanceResolvers = { allSlotsEmpty?: Resolver; - contributionList?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - definition?: Resolver; + createdOn?: Resolver; + definition?: Resolver; entity?: Resolver; hidden?: Resolver; id?: Resolver; @@ -24009,490 +32807,628 @@ export type ContributorListTemplateInstanceResolvers; nextSiblings?: Resolver, ParentType, ContextType>; prevSiblings?: Resolver, ParentType, ContextType>; - slots?: Resolver; + slots?: Resolver; slug?: Resolver; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorListTemplateInstanceSlotsResolvers = { +export type DetailTemplateInstanceSlotsResolvers = { + body?: Resolver, ParentType, ContextType>; header?: Resolver, ParentType, ContextType>; + itemsA?: Resolver, ParentType, ContextType>; + itemsB?: Resolver, ParentType, ContextType>; + itemsC?: Resolver, ParentType, ContextType>; + itemsD?: Resolver, ParentType, ContextType>; + subheader?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorPropertyResolvers = { +export type EmailPropertyResolvers = { + address?: Resolver, ParentType, ContextType>; array?: Resolver; - contributor?: Resolver, ParentType, ContextType>; + defaultAddress?: Resolver, ParentType, ContextType>; description?: Resolver, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; orderable?: Resolver; path?: Resolver; required?: Resolver; + submittable?: Resolver; type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ContributorSelectOptionResolvers = { - kind?: Resolver; - label?: Resolver; - value?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ContributorsPropertyResolvers = { +export type EntitiesPropertyResolvers = { array?: Resolver; - contributors?: Resolver, ParentType, ContextType>; + availableEntities?: Resolver, ParentType, ContextType>; description?: Resolver, ParentType, ContextType>; + entities?: Resolver, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; orderable?: Resolver; path?: Resolver; required?: Resolver; + submittable?: Resolver; type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ControlledVocabulariesPropertyResolvers = { - array?: Resolver; - controlledVocabulary?: Resolver, ParentType, ContextType>; - controlledVocabularyItems?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - type?: Resolver; - wants?: Resolver, ParentType, ContextType>; +export type EntitiesSettingsResolvers = { + suppressExternalLinks?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EntityResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + allAccessGrants?: Resolver>; + allowedActions?: Resolver, ParentType, ContextType>; + announcement?: Resolver, ParentType, ContextType, RequireFields>; + announcements?: Resolver>; + applicableRoles?: Resolver, ParentType, ContextType>; + assignableRoles?: Resolver, ParentType, ContextType>; + assignedUsers?: Resolver>; + breadcrumbs?: Resolver, ParentType, ContextType>; + canAlterSchemaVersion?: Resolver; + canCreateAssets?: Resolver; + canCreateCollections?: Resolver; + canCreateItems?: Resolver; + canDeposit?: Resolver; + canDestroy?: Resolver; + canManageAccess?: Resolver; + canPurge?: Resolver; + canReparent?: Resolver; + canRevalidate?: Resolver; + canReview?: Resolver; + canUpdate?: Resolver; + descendants?: Resolver>; + heroImage?: Resolver; + heroImageMetadata?: Resolver, ParentType, ContextType>; + hierarchicalDepth?: Resolver; + id?: Resolver; + layouts?: Resolver; + linkTargetCandidates?: Resolver>; + links?: Resolver>; + markedForPurge?: Resolver; + ordering?: Resolver, ParentType, ContextType, RequireFields>; + orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; + orderings?: Resolver>; + page?: Resolver, ParentType, ContextType, RequireFields>; + pages?: Resolver>; + permissions?: Resolver, ParentType, ContextType>; + schemaDefinition?: Resolver; + schemaProperties?: Resolver, ParentType, ContextType>; + schemaRanks?: Resolver, ParentType, ContextType>; + schemaVersion?: Resolver; + search?: Resolver>; + slug?: Resolver; + submissionStatus?: Resolver; + submissionTarget?: Resolver, ParentType, ContextType>; + subtitle?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; + thumbnail?: Resolver; + thumbnailMetadata?: Resolver, ParentType, ContextType>; + title?: Resolver; +}; + +export type EntityBaseResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + slug?: Resolver; + subtitle?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; + title?: Resolver; +}; + +export type EntityBreadcrumbResolvers = { + crumb?: Resolver; + depth?: Resolver; + id?: Resolver; + kind?: Resolver; + label?: Resolver; + slug?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EntityContextualPermissionsResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + allowedActions?: Resolver, ParentType, ContextType>; + applicableRoles?: Resolver, ParentType, ContextType>; + assignableRoles?: Resolver, ParentType, ContextType>; + permissions?: Resolver, ParentType, ContextType>; +}; + +export type EntityDescendantResolvers = { + descendant?: Resolver; + relativeDepth?: Resolver; + scope?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EntityDescendantConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EntityDescendantEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ControlledVocabularyResolvers = { +export type EntityLayoutsResolvers = { + hero?: Resolver, ParentType, ContextType>; + listItem?: Resolver, ParentType, ContextType>; + main?: Resolver, ParentType, ContextType>; + metadata?: Resolver, ParentType, ContextType>; + navigation?: Resolver, ParentType, ContextType>; + renderedInline?: Resolver; + supplementary?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type EntityLinkResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - description?: Resolver, ParentType, ContextType>; + createdOn?: Resolver; id?: Resolver; - identifier?: Resolver; - itemSet?: Resolver; - items?: Resolver, ParentType, ContextType>; - name?: Resolver; - namespace?: Resolver; - provides?: Resolver; + operator?: Resolver; + scope?: Resolver; slug?: Resolver; + source?: Resolver; + sourceCollection?: Resolver, ParentType, ContextType>; + sourceCommunity?: Resolver, ParentType, ContextType>; + sourceItem?: Resolver, ParentType, ContextType>; + target?: Resolver; + targetCollection?: Resolver, ParentType, ContextType>; + targetCommunity?: Resolver, ParentType, ContextType>; + targetItem?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; - version?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ControlledVocabularyConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type EntityLinkConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ControlledVocabularyDestroyPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ControlledVocabularyEdgeResolvers = { +export type EntityLinkEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ControlledVocabularyItemResolvers = { - children?: Resolver, ParentType, ContextType>; - createdAt?: Resolver; - description?: Resolver, ParentType, ContextType>; - id?: Resolver; - identifier?: Resolver; - label?: Resolver; - priority?: Resolver, ParentType, ContextType>; - slug?: Resolver; - tags?: Resolver, ParentType, ContextType>; - unselectable?: Resolver; - updatedAt?: Resolver; - url?: Resolver, ParentType, ContextType>; +export type EntityPermissionGridResolvers = { + allowedActions?: Resolver, ParentType, ContextType>; + assets?: Resolver; + create?: Resolver; + delete?: Resolver; + manageAccess?: Resolver; + permissions?: Resolver, ParentType, ContextType>; + read?: Resolver; + update?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export interface ControlledVocabularyItemSetScalarConfig extends GraphQLScalarTypeConfig { - name: 'ControlledVocabularyItemSet'; -} +export type EntityPermissionsResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + canAlterSchemaVersion?: Resolver; + canCreateAssets?: Resolver; + canCreateCollections?: Resolver; + canCreateItems?: Resolver; + canDeposit?: Resolver; + canManageAccess?: Resolver; + canPurge?: Resolver; + canReparent?: Resolver; + canRevalidate?: Resolver; + canReview?: Resolver; + submissionStatus?: Resolver; + submissionTarget?: Resolver, ParentType, ContextType>; +}; -export type ControlledVocabularyPropertyResolvers = { +export type EntityPropertyResolvers = { array?: Resolver; - controlledVocabulary?: Resolver, ParentType, ContextType>; - controlledVocabularyItem?: Resolver, ParentType, ContextType>; + availableEntities?: Resolver, ParentType, ContextType>; description?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; orderable?: Resolver; path?: Resolver; required?: Resolver; + submittable?: Resolver; type?: Resolver; - wants?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ControlledVocabularySourceResolvers = { - controlledVocabulary?: Resolver, ParentType, ContextType>; - createdAt?: Resolver; - id?: Resolver; - provides?: Resolver; - slug?: Resolver; - updatedAt?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ControlledVocabularySourceConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ControlledVocabularySourceEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ControlledVocabularySourceUpdatePayloadResolvers = { +export type EntityPurgePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - controlledVocabularySource?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; + jobEnqueued?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ControlledVocabularyUpsertPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - controlledVocabulary?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type EntitySelectOptionResolvers = { + breadcrumbs?: Resolver, ParentType, ContextType>; + entity?: Resolver; + kind?: Resolver; + label?: Resolver; + schemaVersion?: Resolver; + slug?: Resolver; + value?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type CreateAnnouncementPayloadResolvers = { - announcement?: Resolver, ParentType, ContextType>; - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type ExposesPermissionsResolvers = { + __resolveType: TypeResolveFn<'AccessControlList' | 'AdminPermissionGrid' | 'AssetPermissionGrid' | 'Collection' | 'Community' | 'ContextualPermission' | 'ContributorPermissionGrid' | 'EntityPermissionGrid' | 'GlobalAccessControlList' | 'Item' | 'RolePermissionGrid' | 'SettingsPermissionGrid' | 'User' | 'UserPermissionGrid', ParentType, ContextType>; + allowedActions?: Resolver, ParentType, ContextType>; + permissions?: Resolver, ParentType, ContextType>; }; -export type CreateAssetPayloadResolvers = { - asset?: Resolver, ParentType, ContextType>; - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type FailureReasonsResolvers = { + details?: Resolver; + fullMessages?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CreateCollectionPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - collection?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type FloatPropertyResolvers = { + array?: Resolver; + defaultFloat?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + floatValue?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; + submittable?: Resolver; + type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type CreateCommunityPayloadResolvers = { +export type FrontendCacheRevalidateEntityPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - community?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; + revalidated?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CreateItemPayloadResolvers = { +export type FrontendCacheRevalidateInstancePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; - item?: Resolver, ParentType, ContextType>; + revalidated?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CreateOrderingPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - ordering?: Resolver, ParentType, ContextType>; +export type FullTextResolvers = { + content?: Resolver, ParentType, ContextType>; + kind?: Resolver, ParentType, ContextType>; + lang?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type CreateOrganizationContributorPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - contributor?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type FullTextPropertyResolvers = { + array?: Resolver; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + fullText?: Resolver, ParentType, ContextType>; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; + submittable?: Resolver; + type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type CreatePagePayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - page?: Resolver, ParentType, ContextType>; +export type GlobalAccessControlListResolvers = { + admin?: Resolver; + allowedActions?: Resolver, ParentType, ContextType>; + communities?: Resolver; + contributors?: Resolver; + permissions?: Resolver, ParentType, ContextType>; + roles?: Resolver; + settings?: Resolver; + users?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type CreatePersonContributorPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - contributor?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type GlobalConfigurationResolvers = { + contributionRoles?: Resolver; + contributors?: Resolver; + depositing?: Resolver; + entities?: Resolver; + id?: Resolver; + institution?: Resolver; + logo?: Resolver; + logoMetadata?: Resolver, ParentType, ContextType>; + site?: Resolver; + theme?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type CreateRolePayloadResolvers = { +export type GrantAccessPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; + granted?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; - role?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type DoiDataResolvers = { - doi?: Resolver, ParentType, ContextType>; - host?: Resolver, ParentType, ContextType>; - ok?: Resolver; - url?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type DatePropertyResolvers = { +export type GroupPropertyResolvers = { array?: Resolver; - date?: Resolver, ParentType, ContextType>; - default?: Resolver, ParentType, ContextType>; description?: Resolver, ParentType, ContextType>; fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; kind?: Resolver; - label?: Resolver; + legend?: Resolver, ParentType, ContextType>; orderable?: Resolver; path?: Resolver; + properties?: Resolver, ParentType, ContextType>; required?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DescendantListTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; - browseStyle?: Resolver, ParentType, ContextType>; +export type HarvestAttemptResolvers = { + beganAt?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - dynamicOrderingDefinition?: Resolver, ParentType, ContextType>; - entityContext?: Resolver, ParentType, ContextType>; + createdOn?: Resolver; + currentState?: Resolver; + endedAt?: Resolver, ParentType, ContextType>; + entityStatus?: Resolver, ParentType, ContextType>; + extractionMappingTemplate?: Resolver; + harvestErrors?: Resolver, ParentType, ContextType>; + harvestMapping?: Resolver, ParentType, ContextType>; + harvestMessages?: Resolver>; + harvestRecords?: Resolver>; + harvestSet?: Resolver, ParentType, ContextType>; + harvestSource?: Resolver; id?: Resolver; - layoutKind?: Resolver; - manualListName?: Resolver, ParentType, ContextType>; - orderingIdentifier?: Resolver, ParentType, ContextType>; - seeAllButtonLabel?: Resolver, ParentType, ContextType>; - seeAllOrderingIdentifier?: Resolver, ParentType, ContextType>; - selectionFallbackMode?: Resolver, ParentType, ContextType>; - selectionLimit?: Resolver, ParentType, ContextType>; - selectionMode?: Resolver, ParentType, ContextType>; - selectionPropertyPath?: Resolver, ParentType, ContextType>; - selectionSource?: Resolver, ParentType, ContextType>; - selectionSourceAncestorName?: Resolver, ParentType, ContextType>; - selectionSourceMode?: Resolver, ParentType, ContextType>; - selectionUnbounded?: Resolver, ParentType, ContextType>; - showContributors?: Resolver, ParentType, ContextType>; - showEntityContext?: Resolver, ParentType, ContextType>; - showHeroImage?: Resolver, ParentType, ContextType>; - showNestedEntities?: Resolver, ParentType, ContextType>; - showSeeAllButton?: Resolver, ParentType, ContextType>; - slots?: Resolver; + metadataFormat?: Resolver; + mode?: Resolver; + note?: Resolver, ParentType, ContextType>; + recordCount?: Resolver, ParentType, ContextType>; + recordStatus?: Resolver, ParentType, ContextType>; + scheduledAt?: Resolver, ParentType, ContextType>; slug?: Resolver; - templateKind?: Resolver; - title?: Resolver, ParentType, ContextType>; + targetEntity?: Resolver; updatedAt?: Resolver; - useSelectionFallback?: Resolver, ParentType, ContextType>; - variant?: Resolver, ParentType, ContextType>; - width?: Resolver, ParentType, ContextType>; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DescendantListTemplateDefinitionSlotsResolvers = { - blockHeader?: Resolver, ParentType, ContextType>; - blockHeaderFallback?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - headerAside?: Resolver, ParentType, ContextType>; - headerFallback?: Resolver, ParentType, ContextType>; - listContext?: Resolver, ParentType, ContextType>; - metadata?: Resolver, ParentType, ContextType>; - subtitle?: Resolver, ParentType, ContextType>; +export type HarvestAttemptConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DescendantListTemplateInstanceResolvers = { - allSlotsEmpty?: Resolver; +export type HarvestAttemptEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HarvestAttemptEntityStatusResolvers = { + assetsDurationAverage?: Resolver, ParentType, ContextType>; + assetsEta?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; + completion?: Resolver, ParentType, ContextType>; createdAt?: Resolver; - definition?: Resolver; - entity?: Resolver; - entityList?: Resolver; - hidden?: Resolver; + createdOn?: Resolver; id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutKind?: Resolver; - nextSiblings?: Resolver, ParentType, ContextType>; - prevSiblings?: Resolver, ParentType, ContextType>; - seeAllOrdering?: Resolver, ParentType, ContextType>; - slots?: Resolver; slug?: Resolver; - templateKind?: Resolver; + totalEntities?: Resolver, ParentType, ContextType>; + totalEntitiesSuccess?: Resolver, ParentType, ContextType>; + totalEntitiesWaitingForAssets?: Resolver, ParentType, ContextType>; + totalEntitiesWaitingForUpsert?: Resolver, ParentType, ContextType>; + totalEntitiesWithAssets?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; + upsertDurationAverage?: Resolver, ParentType, ContextType>; + upsertEta?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type DescendantListTemplateInstanceSlotsResolvers = { - blockHeader?: Resolver, ParentType, ContextType>; - blockHeaderFallback?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - headerAside?: Resolver, ParentType, ContextType>; - headerFallback?: Resolver, ParentType, ContextType>; - listContext?: Resolver, ParentType, ContextType>; - metadata?: Resolver, ParentType, ContextType>; - subtitle?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type DescribesSchemaResolvers = { - __resolveType: TypeResolveFn<'HierarchicalSchemaRank' | 'HierarchicalSchemaVersionRank' | 'SchemaDefinition' | 'SchemaVersion', ParentType, ContextType>; - declaration?: Resolver; - identifier?: Resolver; - kind?: Resolver; - name?: Resolver; - namespace?: Resolver; -}; - -export type DestroyAnnouncementPayloadResolvers = { +export type HarvestAttemptFromMappingPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; + harvestAttempt?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type DestroyAssetPayloadResolvers = { +export type HarvestAttemptFromSourcePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; + harvestAttempt?: Resolver, ParentType, ContextType>; + harvestSource?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type DestroyCollectionPayloadResolvers = { +export type HarvestAttemptPruneEntitiesPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; + harvestAttempt?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type DestroyCommunityPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type HarvestAttemptRecordStatusResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + completion?: Resolver, ParentType, ContextType>; + createdAt?: Resolver; + createdOn?: Resolver; + extractionDurationAverage?: Resolver, ParentType, ContextType>; + id?: Resolver; + slug?: Resolver; + totalRecords?: Resolver, ParentType, ContextType>; + totalRecordsSuccess?: Resolver, ParentType, ContextType>; + totalRecordsWaitingForExtraction?: Resolver, ParentType, ContextType>; + totalRecordsWaitingForUpsert?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DestroyContributionPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type HarvestAttemptableResolvers = { + __resolveType: TypeResolveFn<'HarvestMapping' | 'HarvestSource', ParentType, ContextType>; + harvestAttempts?: Resolver>; +}; + +export type HarvestEntityResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + entity?: Resolver, ParentType, ContextType>; + harvestMessages?: Resolver>; + id?: Resolver; + identifier?: Resolver; + leaf?: Resolver; + parent?: Resolver, ParentType, ContextType>; + relativeDepth?: Resolver; + root?: Resolver; + schemaVersion?: Resolver, ParentType, ContextType>; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DestroyContributorPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type HarvestErrorResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + code?: Resolver, ParentType, ContextType>; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + message?: Resolver, ParentType, ContextType>; + metadata?: Resolver; + slug?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HarvestExampleResolvers = { + default?: Resolver; + description?: Resolver, ParentType, ContextType>; + extractionMappingTemplate?: Resolver; + generic?: Resolver; + id?: Resolver; + metadataFormatName?: Resolver, ParentType, ContextType>; + name?: Resolver; + protocolName?: Resolver, ParentType, ContextType>; + schemaDeclarations?: Resolver, ParentType, ContextType>; + schemaVersions?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HarvestMappingResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + extractionMappingTemplate?: Resolver; + frequencyExpression?: Resolver, ParentType, ContextType>; + harvestAttempts?: Resolver>; + harvestMessages?: Resolver>; + harvestRecords?: Resolver>; + harvestSet?: Resolver, ParentType, ContextType>; + harvestSource?: Resolver; + id?: Resolver; + lastScheduledAt?: Resolver, ParentType, ContextType>; + mappingOptions?: Resolver; + metadataFormat?: Resolver; + mode?: Resolver; + readOptions?: Resolver; + scheduleChangedAt?: Resolver, ParentType, ContextType>; + scheduleData?: Resolver; + slug?: Resolver; + targetEntity?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HarvestMappingConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DestroyEntityLinkPayloadResolvers = { +export type HarvestMappingCreatePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; + harvestMapping?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type DestroyItemPayloadResolvers = { +export type HarvestMappingDestroyPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; destroyed?: Resolver, ParentType, ContextType>; @@ -24503,1208 +33439,1110 @@ export type DestroyItemPayloadResolvers; }; -export type DestroyMutationPayloadResolvers = { - __resolveType: TypeResolveFn<'ControlledVocabularyDestroyPayload' | 'DestroyAnnouncementPayload' | 'DestroyAssetPayload' | 'DestroyCollectionPayload' | 'DestroyCommunityPayload' | 'DestroyContributionPayload' | 'DestroyContributorPayload' | 'DestroyEntityLinkPayload' | 'DestroyItemPayload' | 'DestroyOrderingPayload' | 'DestroyPagePayload' | 'EntityPurgePayload' | 'HarvestMappingDestroyPayload' | 'HarvestMetadataMappingDestroyPayload' | 'HarvestSourceDestroyPayload' | 'PermalinkDestroyPayload', ParentType, ContextType>; - attributeErrors?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; -}; - -export type DestroyOrderingPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - disabled?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type HarvestMappingEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DestroyPagePayloadResolvers = { +export type HarvestMappingUpdatePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; + harvestMapping?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type DetailTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; +export type HarvestMessageResolvers = { + at?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + harvestAttempt?: Resolver, ParentType, ContextType>; + harvestEntity?: Resolver, ParentType, ContextType>; + harvestMapping?: Resolver, ParentType, ContextType>; + harvestRecord?: Resolver, ParentType, ContextType>; + harvestSource?: Resolver, ParentType, ContextType>; id?: Resolver; - layoutKind?: Resolver; - showAnnouncements?: Resolver, ParentType, ContextType>; - showBody?: Resolver, ParentType, ContextType>; - showHeroImage?: Resolver, ParentType, ContextType>; - slots?: Resolver; + level?: Resolver; + message?: Resolver; slug?: Resolver; - templateKind?: Resolver; + tags?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; - variant?: Resolver, ParentType, ContextType>; - width?: Resolver, ParentType, ContextType>; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DetailTemplateDefinitionSlotsResolvers = { - body?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - itemsA?: Resolver, ParentType, ContextType>; - itemsB?: Resolver, ParentType, ContextType>; - itemsC?: Resolver, ParentType, ContextType>; - itemsD?: Resolver, ParentType, ContextType>; - subheader?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; +export type HarvestMessageConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DetailTemplateInstanceResolvers = { - allSlotsEmpty?: Resolver; +export type HarvestMessageEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HarvestMetadataMappingResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - definition?: Resolver; - entity?: Resolver; - hidden?: Resolver; + createdOn?: Resolver; + field?: Resolver; id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutKind?: Resolver; - nextSiblings?: Resolver, ParentType, ContextType>; - prevSiblings?: Resolver, ParentType, ContextType>; - slots?: Resolver; + pattern?: Resolver; slug?: Resolver; - templateKind?: Resolver; + targetEntity?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type DetailTemplateInstanceSlotsResolvers = { - body?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - itemsA?: Resolver, ParentType, ContextType>; - itemsB?: Resolver, ParentType, ContextType>; - itemsC?: Resolver, ParentType, ContextType>; - itemsD?: Resolver, ParentType, ContextType>; - subheader?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; +export type HarvestMetadataMappingConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EffectiveAccessResolvers = { - allowedActions?: Resolver, ParentType, ContextType>; - availableActions?: Resolver, ParentType, ContextType>; - permissions?: Resolver, ParentType, ContextType>; +export type HarvestMetadataMappingCreatePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + harvestMetadataMapping?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type EmailPropertyResolvers = { - address?: Resolver, ParentType, ContextType>; - array?: Resolver; - defaultAddress?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - type?: Resolver; +export type HarvestMetadataMappingDestroyPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntitiesPropertyResolvers = { - array?: Resolver; - availableEntities?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - entities?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - type?: Resolver; +export type HarvestMetadataMappingEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntitiesSettingsResolvers = { - suppressExternalLinks?: Resolver; +export type HarvestOptionsMappingResolvers = { + autoCreateVolumesAndIssues?: Resolver; + linkIdentifiersGlobally?: Resolver; + useMetadataMappings?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; - accessControlList?: Resolver, ParentType, ContextType>; - allAccessGrants?: Resolver>; - allowedActions?: Resolver, ParentType, ContextType>; - announcement?: Resolver, ParentType, ContextType, RequireFields>; - announcements?: Resolver>; - applicableRoles?: Resolver, ParentType, ContextType>; - assignableRoles?: Resolver, ParentType, ContextType>; - assignedUsers?: Resolver>; - breadcrumbs?: Resolver, ParentType, ContextType>; - descendants?: Resolver>; - heroImage?: Resolver; - heroImageMetadata?: Resolver, ParentType, ContextType>; - hierarchicalDepth?: Resolver; - layouts?: Resolver; - linkTargetCandidates?: Resolver>; - links?: Resolver>; - markedForPurge?: Resolver; - ordering?: Resolver, ParentType, ContextType, RequireFields>; - orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; - orderings?: Resolver>; - page?: Resolver, ParentType, ContextType, RequireFields>; - pages?: Resolver>; - permissions?: Resolver, ParentType, ContextType>; - schemaDefinition?: Resolver; - schemaProperties?: Resolver, ParentType, ContextType>; - schemaRanks?: Resolver, ParentType, ContextType>; - schemaVersion?: Resolver; - search?: Resolver>; - slug?: Resolver; - subtitle?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; - thumbnail?: Resolver; - thumbnailMetadata?: Resolver, ParentType, ContextType>; - title?: Resolver; -}; - -export type EntityBaseResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; - slug?: Resolver; - subtitle?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; - title?: Resolver; -}; - -export type EntityBreadcrumbResolvers = { - crumb?: Resolver; - depth?: Resolver; - id?: Resolver; - kind?: Resolver; - label?: Resolver; - slug?: Resolver; +export type HarvestOptionsReadResolvers = { + maxRecords?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityDescendantResolvers = { - descendant?: Resolver; - relativeDepth?: Resolver; - scope?: Resolver; +export type HarvestRecordResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + entityCount?: Resolver, ParentType, ContextType>; + harvestEntities?: Resolver, ParentType, ContextType>; + harvestErrors?: Resolver, ParentType, ContextType>; + harvestMessages?: Resolver>; + harvestSource?: Resolver; + id?: Resolver; + identifier?: Resolver; + jsonMetadataSource?: Resolver, ParentType, ContextType>; + metadataFormat?: Resolver; + rawMetadataSource?: Resolver, ParentType, ContextType>; + rawSource?: Resolver, ParentType, ContextType>; + slug?: Resolver; + status?: Resolver; + underlyingDataFormat?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityDescendantConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type HarvestRecordConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityDescendantEdgeResolvers = { +export type HarvestRecordEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityLayoutsResolvers = { - hero?: Resolver, ParentType, ContextType>; - listItem?: Resolver, ParentType, ContextType>; - main?: Resolver, ParentType, ContextType>; - metadata?: Resolver, ParentType, ContextType>; - navigation?: Resolver, ParentType, ContextType>; - renderedInline?: Resolver; - supplementary?: Resolver, ParentType, ContextType>; +export type HarvestScheduleDataResolvers = { + cronExpression?: Resolver, ParentType, ContextType>; + frequencyMax?: Resolver, ParentType, ContextType>; + frequencyMin?: Resolver, ParentType, ContextType>; + timeZone?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityLinkResolvers = { +export type HarvestSetResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + description?: Resolver, ParentType, ContextType>; + harvestSource?: Resolver; id?: Resolver; - operator?: Resolver; - scope?: Resolver; + identifier?: Resolver; + name?: Resolver; slug?: Resolver; - source?: Resolver; - sourceCollection?: Resolver, ParentType, ContextType>; - sourceCommunity?: Resolver, ParentType, ContextType>; - sourceItem?: Resolver, ParentType, ContextType>; - target?: Resolver; - targetCollection?: Resolver, ParentType, ContextType>; - targetCommunity?: Resolver, ParentType, ContextType>; - targetItem?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityLinkConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type HarvestSetConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityLinkEdgeResolvers = { +export type HarvestSetEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityPermissionGridResolvers = { - allowedActions?: Resolver, ParentType, ContextType>; - assets?: Resolver; - create?: Resolver; - delete?: Resolver; - manageAccess?: Resolver; - permissions?: Resolver, ParentType, ContextType>; - read?: Resolver; - update?: Resolver; +export type HarvestSourceResolvers = { + baseURL?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + description?: Resolver, ParentType, ContextType>; + extractionMappingTemplate?: Resolver; + harvestAttempts?: Resolver>; + harvestMappings?: Resolver>; + harvestMessages?: Resolver>; + harvestMetadataMappings?: Resolver>; + harvestRecords?: Resolver>; + harvestSets?: Resolver>; + id?: Resolver; + identifier?: Resolver; + mappingOptions?: Resolver; + metadataFormat?: Resolver; + name?: Resolver; + protocol?: Resolver; + readOptions?: Resolver; + slug?: Resolver; + status?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityPropertyResolvers = { - array?: Resolver; - availableEntities?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - entity?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - type?: Resolver; +export type HarvestSourceConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntityPurgePayloadResolvers = { +export type HarvestSourceCreatePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - entity?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; - jobEnqueued?: Resolver, ParentType, ContextType>; + harvestSource?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type EntitySelectOptionResolvers = { - breadcrumbs?: Resolver, ParentType, ContextType>; - entity?: Resolver; - kind?: Resolver; - label?: Resolver; - schemaVersion?: Resolver; - slug?: Resolver; - value?: Resolver; +export type HarvestSourceDestroyPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ExposesEffectiveAccessResolvers = { - __resolveType: TypeResolveFn<'Role', ParentType, ContextType>; - effectiveAccess?: Resolver; -}; - -export type ExposesPermissionsResolvers = { - __resolveType: TypeResolveFn<'AccessControlList' | 'AssetPermissionGrid' | 'Collection' | 'Community' | 'ContextualPermission' | 'EffectiveAccess' | 'EntityPermissionGrid' | 'GlobalAccessControlList' | 'Item' | 'User', ParentType, ContextType>; - allowedActions?: Resolver, ParentType, ContextType>; - permissions?: Resolver, ParentType, ContextType>; -}; - -export type FloatPropertyResolvers = { - array?: Resolver; - defaultFloat?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - floatValue?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; - type?: Resolver; +export type HarvestSourceEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type FrontendCacheRevalidateEntityPayloadResolvers = { +export type HarvestSourcePruneEntitiesPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; - revalidated?: Resolver, ParentType, ContextType>; + harvestSource?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type FrontendCacheRevalidateInstancePayloadResolvers = { +export type HarvestSourceUpdatePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; - revalidated?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type FullTextResolvers = { - content?: Resolver, ParentType, ContextType>; - kind?: Resolver, ParentType, ContextType>; - lang?: Resolver, ParentType, ContextType>; + harvestSource?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type FullTextPropertyResolvers = { - array?: Resolver; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - fullText?: Resolver, ParentType, ContextType>; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; - type?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type HarvestTargetResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community', ParentType, ContextType>; + harvestTargetKind?: Resolver; + slug?: Resolver; + subtitle?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; + title?: Resolver; }; -export type GlobalAccessControlListResolvers = { - allowedActions?: Resolver, ParentType, ContextType>; - permissions?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type HasAttachmentStorageResolvers = { + __resolveType: TypeResolveFn<'ImageAttachment' | 'ImageOriginal' | 'SiteLogoAttachment', ParentType, ContextType>; + storage?: Resolver, ParentType, ContextType>; }; -export type GlobalConfigurationResolvers = { - contributionRoles?: Resolver; - entities?: Resolver; - id?: Resolver; - institution?: Resolver; - logo?: Resolver; - logoMetadata?: Resolver, ParentType, ContextType>; - site?: Resolver; - theme?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type HasAvailableEntitiesResolvers = { + __resolveType: TypeResolveFn<'EntitiesProperty' | 'EntityProperty', ParentType, ContextType>; + availableEntities?: Resolver, ParentType, ContextType>; }; -export type GrantAccessPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - entity?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - granted?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type HasControlledVocabularyResolvers = { + __resolveType: TypeResolveFn<'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty', ParentType, ContextType>; + controlledVocabulary?: Resolver, ParentType, ContextType>; + wants?: Resolver, ParentType, ContextType>; }; -export type GroupPropertyResolvers = { - array?: Resolver; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - kind?: Resolver; - legend?: Resolver, ParentType, ContextType>; - orderable?: Resolver; - path?: Resolver; - properties?: Resolver, ParentType, ContextType>; - required?: Resolver; - type?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type HasDoiResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; + doi?: Resolver, ParentType, ContextType>; + doiData?: Resolver; + hasWeirdDOI?: Resolver; + rawDOI?: Resolver, ParentType, ContextType>; }; -export type HarvestAttemptResolvers = { - beganAt?: Resolver, ParentType, ContextType>; +export type HasDefaultTimestampsResolvers = { + __resolveType: TypeResolveFn<'Announcement' | 'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo' | 'BlurbTemplateDefinition' | 'BlurbTemplateInstance' | 'Collection' | 'CollectionAttribution' | 'CollectionContribution' | 'Community' | 'ContextualPermission' | 'ContributionRoleConfiguration' | 'ContributorCollectionAttribution' | 'ContributorItemAttribution' | 'ContributorListTemplateDefinition' | 'ContributorListTemplateInstance' | 'ContributorUserLink' | 'ControlledVocabulary' | 'ControlledVocabularyItem' | 'ControlledVocabularySource' | 'DepositorAgreement' | 'DepositorAgreementTransition' | 'DepositorRequest' | 'DepositorRequestTransition' | 'DescendantListTemplateDefinition' | 'DescendantListTemplateInstance' | 'DetailTemplateDefinition' | 'DetailTemplateInstance' | 'EntityLink' | 'HarvestAttempt' | 'HarvestAttemptEntityStatus' | 'HarvestAttemptRecordStatus' | 'HarvestEntity' | 'HarvestError' | 'HarvestMapping' | 'HarvestMessage' | 'HarvestMetadataMapping' | 'HarvestRecord' | 'HarvestSet' | 'HarvestSource' | 'HeroLayoutDefinition' | 'HeroLayoutInstance' | 'HeroTemplateDefinition' | 'HeroTemplateInstance' | 'Item' | 'ItemAttribution' | 'ItemContribution' | 'LinkListTemplateDefinition' | 'LinkListTemplateInstance' | 'ListItemLayoutDefinition' | 'ListItemLayoutInstance' | 'ListItemTemplateDefinition' | 'ListItemTemplateInstance' | 'MainLayoutDefinition' | 'MainLayoutInstance' | 'MetadataLayoutDefinition' | 'MetadataLayoutInstance' | 'MetadataTemplateDefinition' | 'MetadataTemplateInstance' | 'NavigationLayoutDefinition' | 'NavigationLayoutInstance' | 'NavigationTemplateDefinition' | 'NavigationTemplateInstance' | 'Ordering' | 'OrderingEntry' | 'OrderingTemplateDefinition' | 'OrderingTemplateInstance' | 'OrganizationContributor' | 'PageListTemplateDefinition' | 'PageListTemplateInstance' | 'Permalink' | 'PersonContributor' | 'Role' | 'SchemaDefinition' | 'SchemaVersion' | 'Submission' | 'SubmissionBatchPublication' | 'SubmissionBatchPublicationTransition' | 'SubmissionComment' | 'SubmissionDepositTarget' | 'SubmissionPublication' | 'SubmissionPublicationTransition' | 'SubmissionReview' | 'SubmissionReviewTransition' | 'SubmissionTarget' | 'SubmissionTargetReviewer' | 'SubmissionTargetTransition' | 'SubmissionTransition' | 'SupplementaryLayoutDefinition' | 'SupplementaryLayoutInstance' | 'SupplementaryTemplateDefinition' | 'SupplementaryTemplateInstance' | 'TemplateInstanceSibling' | 'User' | 'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroup' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; createdAt?: Resolver; - currentState?: Resolver; - endedAt?: Resolver, ParentType, ContextType>; - entityStatus?: Resolver, ParentType, ContextType>; - extractionMappingTemplate?: Resolver; - harvestErrors?: Resolver, ParentType, ContextType>; - harvestMapping?: Resolver, ParentType, ContextType>; - harvestMessages?: Resolver>; - harvestRecords?: Resolver>; - harvestSet?: Resolver, ParentType, ContextType>; - harvestSource?: Resolver; - id?: Resolver; - metadataFormat?: Resolver; - mode?: Resolver; - note?: Resolver, ParentType, ContextType>; - recordCount?: Resolver, ParentType, ContextType>; - recordStatus?: Resolver, ParentType, ContextType>; - scheduledAt?: Resolver, ParentType, ContextType>; - slug?: Resolver; - targetEntity?: Resolver; + createdOn?: Resolver; updatedAt?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; + updatedOn?: Resolver; }; -export type HarvestAttemptConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type HasEntityAnalyticsResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + entityViews?: Resolver>; + entityViewsByRegion?: Resolver>; +}; + +export type HasEntityBreadcrumbsResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'EntitySelectOption' | 'Item', ParentType, ContextType>; + breadcrumbs?: Resolver, ParentType, ContextType>; +}; + +export type HasHarvestErrorsResolvers = { + __resolveType: TypeResolveFn<'HarvestAttempt' | 'HarvestRecord', ParentType, ContextType>; + harvestErrors?: Resolver, ParentType, ContextType>; }; -export type HarvestAttemptEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type HasHarvestExtractionMappingTemplateResolvers = { + __resolveType: TypeResolveFn<'HarvestAttempt' | 'HarvestMapping' | 'HarvestSource', ParentType, ContextType>; + extractionMappingTemplate?: Resolver; }; -export type HarvestAttemptEntityStatusResolvers = { - assetsDurationAverage?: Resolver, ParentType, ContextType>; - assetsEta?: Resolver, ParentType, ContextType>; - completion?: Resolver, ParentType, ContextType>; - createdAt?: Resolver; - id?: Resolver; - slug?: Resolver; - totalEntities?: Resolver, ParentType, ContextType>; - totalEntitiesSuccess?: Resolver, ParentType, ContextType>; - totalEntitiesWaitingForAssets?: Resolver, ParentType, ContextType>; - totalEntitiesWaitingForUpsert?: Resolver, ParentType, ContextType>; - totalEntitiesWithAssets?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; - upsertDurationAverage?: Resolver, ParentType, ContextType>; - upsertEta?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type HasHarvestMetadataFormatResolvers = { + __resolveType: TypeResolveFn<'HarvestAttempt' | 'HarvestMapping' | 'HarvestRecord' | 'HarvestSource', ParentType, ContextType>; + metadataFormat?: Resolver; }; -export type HarvestAttemptFromMappingPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - harvestAttempt?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type HasHarvestModificationStatusResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Item' | 'OrganizationContributor' | 'PersonContributor', ParentType, ContextType>; + harvestModificationStatus?: Resolver; }; -export type HarvestAttemptFromSourcePayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - harvestAttempt?: Resolver, ParentType, ContextType>; - harvestSource?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type HasHarvestOptionsResolvers = { + __resolveType: TypeResolveFn<'HarvestMapping' | 'HarvestSource', ParentType, ContextType>; + mappingOptions?: Resolver; + readOptions?: Resolver; }; -export type HarvestAttemptPruneEntitiesPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - harvestAttempt?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type HasSchemaPropertiesResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item' | 'SchemaVersion', ParentType, ContextType>; + schemaProperties?: Resolver, ParentType, ContextType>; }; -export type HarvestAttemptRecordStatusResolvers = { - completion?: Resolver, ParentType, ContextType>; +export type HeroLayoutDefinitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - extractionDurationAverage?: Resolver, ParentType, ContextType>; + createdOn?: Resolver; id?: Resolver; + layoutKind?: Resolver; slug?: Resolver; - totalRecords?: Resolver, ParentType, ContextType>; - totalRecordsSuccess?: Resolver, ParentType, ContextType>; - totalRecordsWaitingForExtraction?: Resolver, ParentType, ContextType>; - totalRecordsWaitingForUpsert?: Resolver, ParentType, ContextType>; + template?: Resolver, ParentType, ContextType>; + templates?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestAttemptableResolvers = { - __resolveType: TypeResolveFn<'HarvestMapping' | 'HarvestSource', ParentType, ContextType>; - harvestAttempts?: Resolver>; -}; - -export type HarvestEntityResolvers = { +export type HeroLayoutInstanceResolvers = { + allHidden?: Resolver; + allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - entity?: Resolver, ParentType, ContextType>; - harvestMessages?: Resolver>; + createdOn?: Resolver; + entity?: Resolver; id?: Resolver; - identifier?: Resolver; - leaf?: Resolver; - parent?: Resolver, ParentType, ContextType>; - relativeDepth?: Resolver; - root?: Resolver; - schemaVersion?: Resolver, ParentType, ContextType>; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutDefinition?: Resolver; + layoutKind?: Resolver; slug?: Resolver; + template?: Resolver, ParentType, ContextType>; + templates?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestErrorResolvers = { - code?: Resolver, ParentType, ContextType>; +export type HeroTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + descendantSearchPrompt?: Resolver, ParentType, ContextType>; + enableDescendantBrowsing?: Resolver, ParentType, ContextType>; + enableDescendantSearch?: Resolver, ParentType, ContextType>; id?: Resolver; - message?: Resolver, ParentType, ContextType>; - metadata?: Resolver; + layoutKind?: Resolver; + listContributors?: Resolver, ParentType, ContextType>; + showBasicViewMetrics?: Resolver, ParentType, ContextType>; + showBigSearchPrompt?: Resolver, ParentType, ContextType>; + showBreadcrumbs?: Resolver, ParentType, ContextType>; + showDOI?: Resolver, ParentType, ContextType>; + showHeroImage?: Resolver, ParentType, ContextType>; + showSharingLink?: Resolver, ParentType, ContextType>; + showSplitDisplay?: Resolver, ParentType, ContextType>; + showThumbnailImage?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestExampleResolvers = { - default?: Resolver; - description?: Resolver, ParentType, ContextType>; - extractionMappingTemplate?: Resolver; - generic?: Resolver; - id?: Resolver; - metadataFormatName?: Resolver, ParentType, ContextType>; - name?: Resolver; - protocolName?: Resolver, ParentType, ContextType>; - schemaDeclarations?: Resolver, ParentType, ContextType>; - schemaVersions?: Resolver, ParentType, ContextType>; +export type HeroTemplateDefinitionSlotsResolvers = { + bigSearchPrompt?: Resolver, ParentType, ContextType>; + callToAction?: Resolver, ParentType, ContextType>; + descendantSearchPrompt?: Resolver, ParentType, ContextType>; + header?: Resolver, ParentType, ContextType>; + headerAside?: Resolver, ParentType, ContextType>; + headerParent?: Resolver, ParentType, ContextType>; + headerSidebar?: Resolver, ParentType, ContextType>; + headerSubtitle?: Resolver, ParentType, ContextType>; + headerSummary?: Resolver, ParentType, ContextType>; + metadata?: Resolver, ParentType, ContextType>; + sidebar?: Resolver, ParentType, ContextType>; + subheader?: Resolver, ParentType, ContextType>; + subheaderAside?: Resolver, ParentType, ContextType>; + subheaderSubtitle?: Resolver, ParentType, ContextType>; + subheaderSummary?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestMappingResolvers = { +export type HeroTemplateInstanceResolvers = { + allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - extractionMappingTemplate?: Resolver; - frequencyExpression?: Resolver, ParentType, ContextType>; - harvestAttempts?: Resolver>; - harvestMessages?: Resolver>; - harvestRecords?: Resolver>; - harvestSet?: Resolver, ParentType, ContextType>; - harvestSource?: Resolver; + createdOn?: Resolver; + definition?: Resolver; + entity?: Resolver; + hidden?: Resolver; id?: Resolver; - lastScheduledAt?: Resolver, ParentType, ContextType>; - mappingOptions?: Resolver; - metadataFormat?: Resolver; - mode?: Resolver; - readOptions?: Resolver; - scheduleChangedAt?: Resolver, ParentType, ContextType>; - scheduleData?: Resolver; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutKind?: Resolver; + nextSiblings?: Resolver, ParentType, ContextType>; + prevSiblings?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; - targetEntity?: Resolver; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestMappingConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type HarvestMappingCreatePayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - harvestMapping?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type HarvestMappingDestroyPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type HarvestMappingEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type HeroTemplateInstanceSlotsResolvers = { + bigSearchPrompt?: Resolver, ParentType, ContextType>; + callToAction?: Resolver, ParentType, ContextType>; + descendantSearchPrompt?: Resolver, ParentType, ContextType>; + header?: Resolver, ParentType, ContextType>; + headerAside?: Resolver, ParentType, ContextType>; + headerParent?: Resolver, ParentType, ContextType>; + headerSidebar?: Resolver, ParentType, ContextType>; + headerSubtitle?: Resolver, ParentType, ContextType>; + headerSummary?: Resolver, ParentType, ContextType>; + metadata?: Resolver, ParentType, ContextType>; + sidebar?: Resolver, ParentType, ContextType>; + subheader?: Resolver, ParentType, ContextType>; + subheaderAside?: Resolver, ParentType, ContextType>; + subheaderSubtitle?: Resolver, ParentType, ContextType>; + subheaderSummary?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestMappingUpdatePayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - harvestMapping?: Resolver, ParentType, ContextType>; +export type HierarchicalSchemaRankResolvers = { + count?: Resolver; + declaration?: Resolver; + distinctVersionCount?: Resolver; + id?: Resolver; + identifier?: Resolver; + kind?: Resolver; + name?: Resolver; + namespace?: Resolver; + rank?: Resolver; + schemaDefinition?: Resolver; + slug?: Resolver; + versionRanks?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestMessageResolvers = { - at?: Resolver; - createdAt?: Resolver; - harvestAttempt?: Resolver, ParentType, ContextType>; - harvestEntity?: Resolver, ParentType, ContextType>; - harvestMapping?: Resolver, ParentType, ContextType>; - harvestRecord?: Resolver, ParentType, ContextType>; - harvestSource?: Resolver, ParentType, ContextType>; - id?: Resolver; - level?: Resolver; - message?: Resolver; - slug?: Resolver; - tags?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; +export type HierarchicalSchemaVersionRankResolvers = { + count?: Resolver; + declaration?: Resolver; + id?: Resolver; + identifier?: Resolver; + kind?: Resolver; + name?: Resolver; + namespace?: Resolver; + rank?: Resolver; + schemaDefinition?: Resolver; + schemaVersion?: Resolver; + slug?: Resolver; + versionNumber?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestMessageConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export interface Iso8601DateScalarConfig extends GraphQLScalarTypeConfig { + name: 'ISO8601Date'; +} + +export interface Iso8601DateTimeScalarConfig extends GraphQLScalarTypeConfig { + name: 'ISO8601DateTime'; +} + +export interface Iso8601DurationScalarConfig extends GraphQLScalarTypeConfig { + name: 'ISO8601Duration'; +} + +export type ImageResolvers = { + __resolveType: TypeResolveFn<'ImageDerivative' | 'ImageOriginal', ParentType, ContextType>; + alt?: Resolver, ParentType, ContextType>; + contentType?: Resolver, ParentType, ContextType>; + dimensions?: Resolver>, ParentType, ContextType>; + height?: Resolver, ParentType, ContextType>; + originalFilename?: Resolver, ParentType, ContextType>; + purpose?: Resolver; + storage?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + width?: Resolver, ParentType, ContextType>; }; -export type HarvestMessageEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type ImageAttachmentResolvers = { + alt?: Resolver, ParentType, ContextType>; + hero?: Resolver; + large?: Resolver; + medium?: Resolver; + metadata?: Resolver, ParentType, ContextType>; + original?: Resolver; + originalFilename?: Resolver, ParentType, ContextType>; + purpose?: Resolver; + small?: Resolver; + storage?: Resolver, ParentType, ContextType>; + thumb?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestMetadataMappingResolvers = { - createdAt?: Resolver; - field?: Resolver; - id?: Resolver; - pattern?: Resolver; - slug?: Resolver; - targetEntity?: Resolver; - updatedAt?: Resolver; +export type ImageDerivativeResolvers = { + alt?: Resolver, ParentType, ContextType>; + contentType?: Resolver, ParentType, ContextType>; + dimensions?: Resolver>, ParentType, ContextType>; + format?: Resolver; + height?: Resolver, ParentType, ContextType>; + maxHeight?: Resolver, ParentType, ContextType>; + maxWidth?: Resolver, ParentType, ContextType>; + originalFilename?: Resolver, ParentType, ContextType>; + purpose?: Resolver; + size?: Resolver; + storage?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestMetadataMappingConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type ImageIdentificationResolvers = { + __resolveType: TypeResolveFn<'ImageAttachment' | 'ImageDerivative' | 'ImageOriginal' | 'ImageSize' | 'SiteLogoAttachment', ParentType, ContextType>; + originalFilename?: Resolver, ParentType, ContextType>; + purpose?: Resolver; }; -export type HarvestMetadataMappingCreatePayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - harvestMetadataMapping?: Resolver, ParentType, ContextType>; +export type ImageMetadataResolvers = { + alt?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestMetadataMappingDestroyPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type ImageOriginalResolvers = { + alt?: Resolver, ParentType, ContextType>; + contentType?: Resolver, ParentType, ContextType>; + dimensions?: Resolver>, ParentType, ContextType>; + height?: Resolver, ParentType, ContextType>; + originalFilename?: Resolver, ParentType, ContextType>; + purpose?: Resolver; + storage?: Resolver, ParentType, ContextType>; + url?: Resolver, ParentType, ContextType>; + width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestMetadataMappingEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type ImageSizeResolvers = { + alt?: Resolver, ParentType, ContextType>; + height?: Resolver, ParentType, ContextType>; + originalFilename?: Resolver, ParentType, ContextType>; + png?: Resolver; + purpose?: Resolver; + size?: Resolver; + webp?: Resolver; + width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestOptionsMappingResolvers = { - autoCreateVolumesAndIssues?: Resolver; - linkIdentifiersGlobally?: Resolver; - useMetadataMappings?: Resolver; +export type InstitutionSettingsResolvers = { + name?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestOptionsReadResolvers = { - maxRecords?: Resolver; +export type IntegerPropertyResolvers = { + array?: Resolver; + defaultInteger?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + integerValue?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; + submittable?: Resolver; + type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestRecordResolvers = { +export type ItemResolvers = { + accessGrants?: Resolver>; + allAccessGrants?: Resolver>; + allowedActions?: Resolver, ParentType, ContextType>; + ancestorByName?: Resolver, ParentType, ContextType, RequireFields>; + ancestorOfType?: Resolver, ParentType, ContextType, RequireFields>; + announcement?: Resolver, ParentType, ContextType, RequireFields>; + announcements?: Resolver>; + applicableRoles?: Resolver, ParentType, ContextType>; + assetDownloads?: Resolver>; + assetDownloadsByRegion?: Resolver>; + assets?: Resolver>; + assignableRoles?: Resolver, ParentType, ContextType>; + assignedUsers?: Resolver>; + attributions?: Resolver, ParentType, ContextType>; + availableEntitiesFor?: Resolver, ParentType, ContextType, RequireFields>; + breadcrumbs?: Resolver, ParentType, ContextType>; + canAlterSchemaVersion?: Resolver; + canCreateAssets?: Resolver; + canCreateCollections?: Resolver; + canCreateItems?: Resolver; + canDeposit?: Resolver; + canDestroy?: Resolver; + canManageAccess?: Resolver; + canPurge?: Resolver; + canReparent?: Resolver; + canRevalidate?: Resolver; + canReview?: Resolver; + canUpdate?: Resolver; + canonicalPermalink?: Resolver, ParentType, ContextType>; + children?: Resolver>; + collection?: Resolver; + community?: Resolver; + contributionRoles?: Resolver; + contributions?: Resolver>; + contributors?: Resolver>; createdAt?: Resolver; - entityCount?: Resolver, ParentType, ContextType>; - harvestEntities?: Resolver, ParentType, ContextType>; - harvestErrors?: Resolver, ParentType, ContextType>; - harvestMessages?: Resolver>; - harvestSource?: Resolver; + createdOn?: Resolver; + currentlyHidden?: Resolver; + currentlyVisible?: Resolver; + descendants?: Resolver>; + doi?: Resolver, ParentType, ContextType>; + doiData?: Resolver; + entityViews?: Resolver>; + entityViewsByRegion?: Resolver>; + firstItem?: Resolver, ParentType, ContextType, RequireFields>; + harvestModificationStatus?: Resolver; + harvestRecords?: Resolver, ParentType, ContextType>; + hasItems?: Resolver; + hasWeirdDOI?: Resolver; + heroImage?: Resolver; + heroImageMetadata?: Resolver, ParentType, ContextType>; + hidden?: Resolver; + hiddenAsOf?: Resolver>; + hiddenAt?: Resolver, ParentType, ContextType>; + hierarchicalDepth?: Resolver; id?: Resolver; identifier?: Resolver; - jsonMetadataSource?: Resolver, ParentType, ContextType>; - metadataFormat?: Resolver; - rawMetadataSource?: Resolver, ParentType, ContextType>; - rawSource?: Resolver, ParentType, ContextType>; + items?: Resolver>; + layouts?: Resolver; + leaf?: Resolver; + linkTargetCandidates?: Resolver>; + links?: Resolver>; + markedForPurge?: Resolver; + namedAncestors?: Resolver, ParentType, ContextType>; + ordering?: Resolver, ParentType, ContextType, RequireFields>; + orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; + orderings?: Resolver>; + page?: Resolver, ParentType, ContextType, RequireFields>; + pages?: Resolver>; + parent?: Resolver, ParentType, ContextType>; + permalinks?: Resolver, ParentType, ContextType>; + permissions?: Resolver, ParentType, ContextType>; + published?: Resolver; + rawDOI?: Resolver, ParentType, ContextType>; + relatedItems?: Resolver>; + root?: Resolver; + schemaDefinition?: Resolver; + schemaInstanceContext?: Resolver; + schemaProperties?: Resolver, ParentType, ContextType>; + schemaProperty?: Resolver, ParentType, ContextType, RequireFields>; + schemaRanks?: Resolver, ParentType, ContextType>; + schemaVersion?: Resolver; + search?: Resolver>; slug?: Resolver; - status?: Resolver; - underlyingDataFormat?: Resolver; + submissionStatus?: Resolver; + submissionTarget?: Resolver, ParentType, ContextType>; + subtitle?: Resolver, ParentType, ContextType>; + summary?: Resolver, ParentType, ContextType>; + thumbnail?: Resolver; + thumbnailMetadata?: Resolver, ParentType, ContextType>; + title?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + userAccessGrants?: Resolver>; + userGroupAccessGrants?: Resolver>; + visibility?: Resolver; + visible?: Resolver; + visibleAfterAt?: Resolver, ParentType, ContextType>; + visibleAsOf?: Resolver>; + visibleUntilAt?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestRecordConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type HarvestRecordEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type HarvestScheduleDataResolvers = { - cronExpression?: Resolver, ParentType, ContextType>; - frequencyMax?: Resolver, ParentType, ContextType>; - frequencyMin?: Resolver, ParentType, ContextType>; - timeZone?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type HarvestSetResolvers = { +export type ItemAttributionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + contributor?: Resolver; createdAt?: Resolver; - description?: Resolver, ParentType, ContextType>; - harvestSource?: Resolver; + createdOn?: Resolver; id?: Resolver; - identifier?: Resolver; - name?: Resolver; + roles?: Resolver, ParentType, ContextType>; slug?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestSetConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type ItemConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestSetEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type HarvestSourceResolvers = { - baseURL?: Resolver; +export type ItemContributionResolvers = { + affiliation?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; + contributionRole?: Resolver; + contributor?: Resolver; + contributorKind?: Resolver; createdAt?: Resolver; - description?: Resolver, ParentType, ContextType>; - extractionMappingTemplate?: Resolver; - harvestAttempts?: Resolver>; - harvestMappings?: Resolver>; - harvestMessages?: Resolver>; - harvestMetadataMappings?: Resolver>; - harvestRecords?: Resolver>; - harvestSets?: Resolver>; + createdOn?: Resolver; + displayName?: Resolver; id?: Resolver; - identifier?: Resolver; - mappingOptions?: Resolver; - metadataFormat?: Resolver; - name?: Resolver; - protocol?: Resolver; - readOptions?: Resolver; + innerPosition?: Resolver, ParentType, ContextType>; + item?: Resolver; + location?: Resolver, ParentType, ContextType>; + metadata?: Resolver; + outerPosition?: Resolver, ParentType, ContextType>; + role?: Resolver, ParentType, ContextType>; + roleLabel?: Resolver, ParentType, ContextType>; slug?: Resolver; - status?: Resolver; + title?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestSourceConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type ItemContributionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestSourceCreatePayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - harvestSource?: Resolver, ParentType, ContextType>; +export type ItemContributionEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestSourceDestroyPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type ItemEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestSourceEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type ItemParentResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; }; -export type HarvestSourcePruneEntitiesPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - harvestSource?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export interface JsonScalarConfig extends GraphQLScalarTypeConfig { + name: 'JSON'; +} + +export type LayoutDefinitionResolvers = { + __resolveType: TypeResolveFn<'HeroLayoutDefinition' | 'ListItemLayoutDefinition' | 'MainLayoutDefinition' | 'MetadataLayoutDefinition' | 'NavigationLayoutDefinition' | 'SupplementaryLayoutDefinition', ParentType, ContextType>; + layoutKind?: Resolver; }; -export type HarvestSourceUpdatePayloadResolvers = { +export type LayoutInstanceResolvers = { + __resolveType: TypeResolveFn<'HeroLayoutInstance' | 'ListItemLayoutInstance' | 'MainLayoutInstance' | 'MetadataLayoutInstance' | 'NavigationLayoutInstance' | 'SupplementaryLayoutInstance', ParentType, ContextType>; + allHidden?: Resolver; + allSlotsEmpty?: Resolver; + entity?: Resolver; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutKind?: Resolver; +}; + +export type LinkEntityPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; - harvestSource?: Resolver, ParentType, ContextType>; + link?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HarvestTargetResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community', ParentType, ContextType>; - harvestTargetKind?: Resolver; +export type LinkListTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + browseStyle?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + dynamicOrderingDefinition?: Resolver, ParentType, ContextType>; + entityContext?: Resolver, ParentType, ContextType>; + id?: Resolver; + layoutKind?: Resolver; + manualListName?: Resolver, ParentType, ContextType>; + seeAllButtonLabel?: Resolver, ParentType, ContextType>; + seeAllOrderingIdentifier?: Resolver, ParentType, ContextType>; + selectionFallbackMode?: Resolver, ParentType, ContextType>; + selectionLimit?: Resolver, ParentType, ContextType>; + selectionMode?: Resolver, ParentType, ContextType>; + selectionSource?: Resolver, ParentType, ContextType>; + selectionSourceAncestorName?: Resolver, ParentType, ContextType>; + selectionSourceMode?: Resolver, ParentType, ContextType>; + selectionUnbounded?: Resolver, ParentType, ContextType>; + showContributors?: Resolver, ParentType, ContextType>; + showEntityContext?: Resolver, ParentType, ContextType>; + showHeroImage?: Resolver, ParentType, ContextType>; + showNestedEntities?: Resolver, ParentType, ContextType>; + showSeeAllButton?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; - subtitle?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; - title?: Resolver; -}; - -export type HasAttachmentStorageResolvers = { - __resolveType: TypeResolveFn<'ImageAttachment' | 'ImageOriginal' | 'SiteLogoAttachment', ParentType, ContextType>; - storage?: Resolver, ParentType, ContextType>; -}; - -export type HasAvailableEntitiesResolvers = { - __resolveType: TypeResolveFn<'EntitiesProperty' | 'EntityProperty', ParentType, ContextType>; - availableEntities?: Resolver, ParentType, ContextType>; -}; - -export type HasControlledVocabularyResolvers = { - __resolveType: TypeResolveFn<'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty', ParentType, ContextType>; - controlledVocabulary?: Resolver, ParentType, ContextType>; - wants?: Resolver, ParentType, ContextType>; + templateKind?: Resolver; + title?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; + useSelectionFallback?: Resolver, ParentType, ContextType>; + variant?: Resolver, ParentType, ContextType>; + width?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type HasDoiResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; - doi?: Resolver, ParentType, ContextType>; - doiData?: Resolver; - hasWeirdDOI?: Resolver; - rawDOI?: Resolver, ParentType, ContextType>; +export type LinkListTemplateDefinitionSlotsResolvers = { + blockHeader?: Resolver, ParentType, ContextType>; + blockHeaderFallback?: Resolver, ParentType, ContextType>; + header?: Resolver, ParentType, ContextType>; + headerAside?: Resolver, ParentType, ContextType>; + headerFallback?: Resolver, ParentType, ContextType>; + listContext?: Resolver, ParentType, ContextType>; + metadata?: Resolver, ParentType, ContextType>; + subtitle?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type HasDefaultTimestampsResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; +export type LinkListTemplateInstanceResolvers = { + allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + definition?: Resolver; + entity?: Resolver; + entityList?: Resolver; + hidden?: Resolver; + id?: Resolver; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutKind?: Resolver; + nextSiblings?: Resolver, ParentType, ContextType>; + prevSiblings?: Resolver, ParentType, ContextType>; + seeAllOrdering?: Resolver, ParentType, ContextType>; + slots?: Resolver; + slug?: Resolver; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type HasEntityAnalyticsResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - entityViews?: Resolver>; - entityViewsByRegion?: Resolver>; -}; - -export type HasEntityBreadcrumbsResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'EntitySelectOption' | 'Item', ParentType, ContextType>; - breadcrumbs?: Resolver, ParentType, ContextType>; -}; - -export type HasHarvestErrorsResolvers = { - __resolveType: TypeResolveFn<'HarvestAttempt' | 'HarvestRecord', ParentType, ContextType>; - harvestErrors?: Resolver, ParentType, ContextType>; -}; - -export type HasHarvestExtractionMappingTemplateResolvers = { - __resolveType: TypeResolveFn<'HarvestAttempt' | 'HarvestMapping' | 'HarvestSource', ParentType, ContextType>; - extractionMappingTemplate?: Resolver; -}; - -export type HasHarvestMetadataFormatResolvers = { - __resolveType: TypeResolveFn<'HarvestAttempt' | 'HarvestMapping' | 'HarvestRecord' | 'HarvestSource', ParentType, ContextType>; - metadataFormat?: Resolver; +export type LinkListTemplateInstanceSlotsResolvers = { + blockHeader?: Resolver, ParentType, ContextType>; + blockHeaderFallback?: Resolver, ParentType, ContextType>; + header?: Resolver, ParentType, ContextType>; + headerAside?: Resolver, ParentType, ContextType>; + headerFallback?: Resolver, ParentType, ContextType>; + listContext?: Resolver, ParentType, ContextType>; + metadata?: Resolver, ParentType, ContextType>; + subtitle?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type HasHarvestModificationStatusResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Item' | 'OrganizationContributor' | 'PersonContributor', ParentType, ContextType>; - harvestModificationStatus?: Resolver; +export type LinkTargetCandidateResolvers = { + createdAt?: Resolver; + depth?: Resolver; + id?: Resolver; + kind?: Resolver; + target?: Resolver; + targetId?: Resolver; + title?: Resolver; + updatedAt?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type HasHarvestOptionsResolvers = { - __resolveType: TypeResolveFn<'HarvestMapping' | 'HarvestSource', ParentType, ContextType>; - mappingOptions?: Resolver; - readOptions?: Resolver; +export type LinkTargetCandidateConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type HasSchemaPropertiesResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item' | 'SchemaVersion', ParentType, ContextType>; - schemaProperties?: Resolver, ParentType, ContextType>; +export type LinkTargetCandidateEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type HeroLayoutDefinitionResolvers = { +export type ListItemLayoutDefinitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; id?: Resolver; layoutKind?: Resolver; slug?: Resolver; - template?: Resolver, ParentType, ContextType>; - templates?: Resolver, ParentType, ContextType>; + template?: Resolver, ParentType, ContextType>; + templates?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HeroLayoutInstanceResolvers = { +export type ListItemLayoutInstanceResolvers = { allHidden?: Resolver; allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; entity?: Resolver; id?: Resolver; lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutDefinition?: Resolver; + layoutDefinition?: Resolver; layoutKind?: Resolver; slug?: Resolver; - template?: Resolver, ParentType, ContextType>; - templates?: Resolver, ParentType, ContextType>; + template?: Resolver, ParentType, ContextType>; + templates?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HeroTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; +export type ListItemTemplateDefinitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - descendantSearchPrompt?: Resolver, ParentType, ContextType>; - enableDescendantBrowsing?: Resolver, ParentType, ContextType>; - enableDescendantSearch?: Resolver, ParentType, ContextType>; + createdOn?: Resolver; + dynamicOrderingDefinition?: Resolver, ParentType, ContextType>; id?: Resolver; layoutKind?: Resolver; - listContributors?: Resolver, ParentType, ContextType>; - showBasicViewMetrics?: Resolver, ParentType, ContextType>; - showBigSearchPrompt?: Resolver, ParentType, ContextType>; - showBreadcrumbs?: Resolver, ParentType, ContextType>; - showDOI?: Resolver, ParentType, ContextType>; - showHeroImage?: Resolver, ParentType, ContextType>; - showSharingLink?: Resolver, ParentType, ContextType>; - showSplitDisplay?: Resolver, ParentType, ContextType>; - showThumbnailImage?: Resolver, ParentType, ContextType>; - slots?: Resolver; + manualListName?: Resolver, ParentType, ContextType>; + orderingIdentifier?: Resolver, ParentType, ContextType>; + seeAllOrderingIdentifier?: Resolver, ParentType, ContextType>; + selectionFallbackMode?: Resolver, ParentType, ContextType>; + selectionLimit?: Resolver, ParentType, ContextType>; + selectionMode?: Resolver, ParentType, ContextType>; + selectionPropertyPath?: Resolver, ParentType, ContextType>; + selectionSource?: Resolver, ParentType, ContextType>; + selectionSourceAncestorName?: Resolver, ParentType, ContextType>; + selectionSourceMode?: Resolver, ParentType, ContextType>; + selectionUnbounded?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + useSelectionFallback?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HeroTemplateDefinitionSlotsResolvers = { - bigSearchPrompt?: Resolver, ParentType, ContextType>; - callToAction?: Resolver, ParentType, ContextType>; - descendantSearchPrompt?: Resolver, ParentType, ContextType>; +export type ListItemTemplateDefinitionSlotsResolvers = { + contextA?: Resolver, ParentType, ContextType>; + contextAbbr?: Resolver, ParentType, ContextType>; + contextB?: Resolver, ParentType, ContextType>; + contextC?: Resolver, ParentType, ContextType>; + contextFull?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; header?: Resolver, ParentType, ContextType>; - headerAside?: Resolver, ParentType, ContextType>; - headerParent?: Resolver, ParentType, ContextType>; - headerSidebar?: Resolver, ParentType, ContextType>; - headerSubtitle?: Resolver, ParentType, ContextType>; - headerSummary?: Resolver, ParentType, ContextType>; - metadata?: Resolver, ParentType, ContextType>; - sidebar?: Resolver, ParentType, ContextType>; + metaA?: Resolver, ParentType, ContextType>; + metaB?: Resolver, ParentType, ContextType>; + nestedContext?: Resolver, ParentType, ContextType>; + nestedHeader?: Resolver, ParentType, ContextType>; + nestedMetadata?: Resolver, ParentType, ContextType>; + nestedSubheader?: Resolver, ParentType, ContextType>; subheader?: Resolver, ParentType, ContextType>; - subheaderAside?: Resolver, ParentType, ContextType>; - subheaderSubtitle?: Resolver, ParentType, ContextType>; - subheaderSummary?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HeroTemplateInstanceResolvers = { +export type ListItemTemplateInstanceResolvers = { allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - definition?: Resolver; + createdOn?: Resolver; + definition?: Resolver; entity?: Resolver; + entityList?: Resolver; hidden?: Resolver; id?: Resolver; lastRenderedAt?: Resolver, ParentType, ContextType>; layoutKind?: Resolver; nextSiblings?: Resolver, ParentType, ContextType>; prevSiblings?: Resolver, ParentType, ContextType>; - slots?: Resolver; + seeAllOrdering?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HeroTemplateInstanceSlotsResolvers = { - bigSearchPrompt?: Resolver, ParentType, ContextType>; - callToAction?: Resolver, ParentType, ContextType>; - descendantSearchPrompt?: Resolver, ParentType, ContextType>; +export type ListItemTemplateInstanceSlotsResolvers = { + contextA?: Resolver, ParentType, ContextType>; + contextAbbr?: Resolver, ParentType, ContextType>; + contextB?: Resolver, ParentType, ContextType>; + contextC?: Resolver, ParentType, ContextType>; + contextFull?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; header?: Resolver, ParentType, ContextType>; - headerAside?: Resolver, ParentType, ContextType>; - headerParent?: Resolver, ParentType, ContextType>; - headerSidebar?: Resolver, ParentType, ContextType>; - headerSubtitle?: Resolver, ParentType, ContextType>; - headerSummary?: Resolver, ParentType, ContextType>; - metadata?: Resolver, ParentType, ContextType>; - sidebar?: Resolver, ParentType, ContextType>; + metaA?: Resolver, ParentType, ContextType>; + metaB?: Resolver, ParentType, ContextType>; + nestedContext?: Resolver, ParentType, ContextType>; + nestedHeader?: Resolver, ParentType, ContextType>; + nestedMetadata?: Resolver, ParentType, ContextType>; + nestedSubheader?: Resolver, ParentType, ContextType>; subheader?: Resolver, ParentType, ContextType>; - subheaderAside?: Resolver, ParentType, ContextType>; - subheaderSubtitle?: Resolver, ParentType, ContextType>; - subheaderSummary?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type HierarchicalSchemaRankResolvers = { - count?: Resolver; - declaration?: Resolver; - distinctVersionCount?: Resolver; +export type MainLayoutDefinitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; id?: Resolver; - identifier?: Resolver; - kind?: Resolver; - name?: Resolver; - namespace?: Resolver; - rank?: Resolver; - schemaDefinition?: Resolver; - slug?: Resolver; - versionRanks?: Resolver, ParentType, ContextType>; + layoutKind?: Resolver; + slug?: Resolver; + templates?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type HierarchicalSchemaVersionRankResolvers = { - count?: Resolver; - declaration?: Resolver; +export type MainLayoutInstanceResolvers = { + allHidden?: Resolver; + allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + entity?: Resolver; id?: Resolver; - identifier?: Resolver; - kind?: Resolver; - name?: Resolver; - namespace?: Resolver; - rank?: Resolver; - schemaDefinition?: Resolver; - schemaVersion?: Resolver; - slug?: Resolver; - versionNumber?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export interface Iso8601DateScalarConfig extends GraphQLScalarTypeConfig { - name: 'ISO8601Date'; -} - -export interface Iso8601DateTimeScalarConfig extends GraphQLScalarTypeConfig { - name: 'ISO8601DateTime'; -} - -export interface Iso8601DurationScalarConfig extends GraphQLScalarTypeConfig { - name: 'ISO8601Duration'; -} - -export type ImageResolvers = { - __resolveType: TypeResolveFn<'ImageDerivative' | 'ImageOriginal', ParentType, ContextType>; - alt?: Resolver, ParentType, ContextType>; - contentType?: Resolver, ParentType, ContextType>; - dimensions?: Resolver>, ParentType, ContextType>; - height?: Resolver, ParentType, ContextType>; - originalFilename?: Resolver, ParentType, ContextType>; - purpose?: Resolver; - storage?: Resolver, ParentType, ContextType>; - url?: Resolver, ParentType, ContextType>; - width?: Resolver, ParentType, ContextType>; -}; - -export type ImageAttachmentResolvers = { - alt?: Resolver, ParentType, ContextType>; - hero?: Resolver; - large?: Resolver; - medium?: Resolver; - metadata?: Resolver, ParentType, ContextType>; - original?: Resolver; - originalFilename?: Resolver, ParentType, ContextType>; - purpose?: Resolver; - small?: Resolver; - storage?: Resolver, ParentType, ContextType>; - thumb?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ImageDerivativeResolvers = { - alt?: Resolver, ParentType, ContextType>; - contentType?: Resolver, ParentType, ContextType>; - dimensions?: Resolver>, ParentType, ContextType>; - format?: Resolver; - height?: Resolver, ParentType, ContextType>; - maxHeight?: Resolver, ParentType, ContextType>; - maxWidth?: Resolver, ParentType, ContextType>; - originalFilename?: Resolver, ParentType, ContextType>; - purpose?: Resolver; - size?: Resolver; - storage?: Resolver, ParentType, ContextType>; - url?: Resolver, ParentType, ContextType>; - width?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ImageIdentificationResolvers = { - __resolveType: TypeResolveFn<'ImageAttachment' | 'ImageDerivative' | 'ImageOriginal' | 'ImageSize' | 'SiteLogoAttachment', ParentType, ContextType>; - originalFilename?: Resolver, ParentType, ContextType>; - purpose?: Resolver; -}; - -export type ImageMetadataResolvers = { - alt?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ImageOriginalResolvers = { - alt?: Resolver, ParentType, ContextType>; - contentType?: Resolver, ParentType, ContextType>; - dimensions?: Resolver>, ParentType, ContextType>; - height?: Resolver, ParentType, ContextType>; - originalFilename?: Resolver, ParentType, ContextType>; - purpose?: Resolver; - storage?: Resolver, ParentType, ContextType>; - url?: Resolver, ParentType, ContextType>; - width?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ImageSizeResolvers = { - alt?: Resolver, ParentType, ContextType>; - height?: Resolver, ParentType, ContextType>; - originalFilename?: Resolver, ParentType, ContextType>; - png?: Resolver; - purpose?: Resolver; - size?: Resolver; - webp?: Resolver; - width?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type InstitutionSettingsResolvers = { - name?: Resolver; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutDefinition?: Resolver; + layoutKind?: Resolver; + slug?: Resolver; + templates?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type IntegerPropertyResolvers = { +export type MarkdownPropertyResolvers = { array?: Resolver; - defaultInteger?: Resolver, ParentType, ContextType>; + content?: Resolver, ParentType, ContextType>; + default?: Resolver, ParentType, ContextType>; description?: Resolver, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; - integerValue?: Resolver, ParentType, ContextType>; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; @@ -25713,1721 +34551,2037 @@ export type IntegerPropertyResolvers; searchOperators?: Resolver, ParentType, ContextType>; searchPath?: Resolver; + submittable?: Resolver; type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ItemResolvers = { - accessControlList?: Resolver, ParentType, ContextType>; - accessGrants?: Resolver>; - allAccessGrants?: Resolver>; - allowedActions?: Resolver, ParentType, ContextType>; - ancestorByName?: Resolver, ParentType, ContextType, RequireFields>; - ancestorOfType?: Resolver, ParentType, ContextType, RequireFields>; - announcement?: Resolver, ParentType, ContextType, RequireFields>; - announcements?: Resolver>; - applicableRoles?: Resolver, ParentType, ContextType>; - assetDownloads?: Resolver>; - assetDownloadsByRegion?: Resolver>; - assets?: Resolver>; - assignableRoles?: Resolver, ParentType, ContextType>; - assignedUsers?: Resolver>; - attributions?: Resolver, ParentType, ContextType>; - availableEntitiesFor?: Resolver, ParentType, ContextType, RequireFields>; - breadcrumbs?: Resolver, ParentType, ContextType>; - canonicalPermalink?: Resolver, ParentType, ContextType>; - children?: Resolver>; - collection?: Resolver; - community?: Resolver; - contributionRoles?: Resolver; - contributions?: Resolver>; - contributors?: Resolver>; +export type MetadataLayoutDefinitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - currentlyHidden?: Resolver; - currentlyVisible?: Resolver; - descendants?: Resolver>; - doi?: Resolver, ParentType, ContextType>; - doiData?: Resolver; - entityViews?: Resolver>; - entityViewsByRegion?: Resolver>; - firstItem?: Resolver, ParentType, ContextType, RequireFields>; - harvestModificationStatus?: Resolver; - harvestRecords?: Resolver, ParentType, ContextType>; - hasItems?: Resolver; - hasWeirdDOI?: Resolver; - heroImage?: Resolver; - heroImageMetadata?: Resolver, ParentType, ContextType>; - hidden?: Resolver; - hiddenAsOf?: Resolver>; - hiddenAt?: Resolver, ParentType, ContextType>; - hierarchicalDepth?: Resolver; + createdOn?: Resolver; id?: Resolver; - identifier?: Resolver; - items?: Resolver>; - layouts?: Resolver; - leaf?: Resolver; - linkTargetCandidates?: Resolver>; - links?: Resolver>; - markedForPurge?: Resolver; - namedAncestors?: Resolver, ParentType, ContextType>; - ordering?: Resolver, ParentType, ContextType, RequireFields>; - orderingForSchema?: Resolver, ParentType, ContextType, RequireFields>; - orderings?: Resolver>; - page?: Resolver, ParentType, ContextType, RequireFields>; - pages?: Resolver>; - parent?: Resolver, ParentType, ContextType>; - permalinks?: Resolver, ParentType, ContextType>; - permissions?: Resolver, ParentType, ContextType>; - published?: Resolver; - rawDOI?: Resolver, ParentType, ContextType>; - relatedItems?: Resolver>; - root?: Resolver; - schemaDefinition?: Resolver; - schemaInstanceContext?: Resolver; - schemaProperties?: Resolver, ParentType, ContextType>; - schemaProperty?: Resolver, ParentType, ContextType, RequireFields>; - schemaRanks?: Resolver, ParentType, ContextType>; - schemaVersion?: Resolver; - search?: Resolver>; + layoutKind?: Resolver; slug?: Resolver; - subtitle?: Resolver, ParentType, ContextType>; - summary?: Resolver, ParentType, ContextType>; - thumbnail?: Resolver; - thumbnailMetadata?: Resolver, ParentType, ContextType>; - title?: Resolver; + template?: Resolver, ParentType, ContextType>; + templates?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; - userAccessGrants?: Resolver>; - userGroupAccessGrants?: Resolver>; - visibility?: Resolver; - visible?: Resolver; - visibleAfterAt?: Resolver, ParentType, ContextType>; - visibleAsOf?: Resolver>; - visibleUntilAt?: Resolver, ParentType, ContextType>; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ItemAttributionResolvers = { - contributor?: Resolver; +export type MetadataLayoutInstanceResolvers = { + allHidden?: Resolver; + allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + entity?: Resolver; id?: Resolver; - roles?: Resolver, ParentType, ContextType>; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutDefinition?: Resolver; + layoutKind?: Resolver; slug?: Resolver; + template?: Resolver, ParentType, ContextType>; + templates?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ItemConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; +export type MetadataTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + layoutKind?: Resolver; + slots?: Resolver; + slug?: Resolver; + templateKind?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ItemContributionResolvers = { - affiliation?: Resolver, ParentType, ContextType>; - contributionRole?: Resolver; - contributor?: Resolver; - contributorKind?: Resolver; +export type MetadataTemplateDefinitionSlotsResolvers = { + header?: Resolver, ParentType, ContextType>; + itemsA?: Resolver, ParentType, ContextType>; + itemsB?: Resolver, ParentType, ContextType>; + itemsC?: Resolver, ParentType, ContextType>; + itemsD?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type MetadataTemplateInstanceResolvers = { + allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - displayName?: Resolver; + createdOn?: Resolver; + definition?: Resolver; + entity?: Resolver; + hidden?: Resolver; id?: Resolver; - innerPosition?: Resolver, ParentType, ContextType>; - item?: Resolver; - location?: Resolver, ParentType, ContextType>; - metadata?: Resolver; - outerPosition?: Resolver, ParentType, ContextType>; - role?: Resolver, ParentType, ContextType>; - roleLabel?: Resolver, ParentType, ContextType>; + lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutKind?: Resolver; + nextSiblings?: Resolver, ParentType, ContextType>; + prevSiblings?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; - title?: Resolver, ParentType, ContextType>; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ItemContributionConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; +export type MetadataTemplateInstanceSlotsResolvers = { + header?: Resolver, ParentType, ContextType>; + itemsA?: Resolver, ParentType, ContextType>; + itemsB?: Resolver, ParentType, ContextType>; + itemsC?: Resolver, ParentType, ContextType>; + itemsD?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ItemContributionEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type MultiselectPropertyResolvers = { + array?: Resolver; + defaultSelections?: Resolver>, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + options?: Resolver, ParentType, ContextType>; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; + selections?: Resolver>, ParentType, ContextType>; + submittable?: Resolver; + type?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type MutationResolvers = { + alterSchemaVersion?: Resolver, ParentType, ContextType, RequireFields>; + applySchemaProperties?: Resolver, ParentType, ContextType, RequireFields>; + contributorClaim?: Resolver, ParentType, ContextType, RequireFields>; + contributorMerge?: Resolver, ParentType, ContextType, RequireFields>; + contributorUserLinkDestroy?: Resolver, ParentType, ContextType, RequireFields>; + contributorUserLinkUpsert?: Resolver, ParentType, ContextType, RequireFields>; + controlledVocabularyDestroy?: Resolver, ParentType, ContextType, RequireFields>; + controlledVocabularySourceUpdate?: Resolver, ParentType, ContextType, RequireFields>; + controlledVocabularyUpsert?: Resolver, ParentType, ContextType, RequireFields>; + createAnnouncement?: Resolver, ParentType, ContextType, RequireFields>; + createAsset?: Resolver, ParentType, ContextType, RequireFields>; + createCollection?: Resolver, ParentType, ContextType, RequireFields>; + createCommunity?: Resolver, ParentType, ContextType, RequireFields>; + createItem?: Resolver, ParentType, ContextType, RequireFields>; + createOrdering?: Resolver, ParentType, ContextType, RequireFields>; + createOrganizationContributor?: Resolver, ParentType, ContextType, RequireFields>; + createPage?: Resolver, ParentType, ContextType, RequireFields>; + createPersonContributor?: Resolver, ParentType, ContextType, RequireFields>; + createRole?: Resolver, ParentType, ContextType, RequireFields>; + depositorAgreementAccept?: Resolver, ParentType, ContextType, RequireFields>; + depositorAgreementReset?: Resolver, ParentType, ContextType, RequireFields>; + depositorAgreementResetAll?: Resolver, ParentType, ContextType, RequireFields>; + depositorRequestChangeState?: Resolver, ParentType, ContextType, RequireFields>; + depositorRequestCreate?: Resolver, ParentType, ContextType, RequireFields>; + destroyAnnouncement?: Resolver, ParentType, ContextType, RequireFields>; + destroyAsset?: Resolver, ParentType, ContextType, RequireFields>; + destroyCollection?: Resolver, ParentType, ContextType, RequireFields>; + destroyCommunity?: Resolver, ParentType, ContextType, RequireFields>; + destroyContribution?: Resolver, ParentType, ContextType, RequireFields>; + destroyContributor?: Resolver, ParentType, ContextType, RequireFields>; + destroyEntityLink?: Resolver, ParentType, ContextType, RequireFields>; + destroyItem?: Resolver, ParentType, ContextType, RequireFields>; + destroyOrdering?: Resolver, ParentType, ContextType, RequireFields>; + destroyPage?: Resolver, ParentType, ContextType, RequireFields>; + entityPurge?: Resolver, ParentType, ContextType, RequireFields>; + frontendCacheRevalidateEntity?: Resolver, ParentType, ContextType, RequireFields>; + frontendCacheRevalidateInstance?: Resolver, ParentType, ContextType, RequireFields>; + grantAccess?: Resolver, ParentType, ContextType, RequireFields>; + harvestAttemptFromMapping?: Resolver, ParentType, ContextType, RequireFields>; + harvestAttemptFromSource?: Resolver, ParentType, ContextType, RequireFields>; + harvestAttemptPruneEntities?: Resolver, ParentType, ContextType, RequireFields>; + harvestMappingCreate?: Resolver, ParentType, ContextType, RequireFields>; + harvestMappingDestroy?: Resolver, ParentType, ContextType, RequireFields>; + harvestMappingUpdate?: Resolver, ParentType, ContextType, RequireFields>; + harvestMetadataMappingCreate?: Resolver, ParentType, ContextType, RequireFields>; + harvestMetadataMappingDestroy?: Resolver, ParentType, ContextType, RequireFields>; + harvestSourceCreate?: Resolver, ParentType, ContextType, RequireFields>; + harvestSourceDestroy?: Resolver, ParentType, ContextType, RequireFields>; + harvestSourcePruneEntities?: Resolver, ParentType, ContextType, RequireFields>; + harvestSourceUpdate?: Resolver, ParentType, ContextType, RequireFields>; + linkEntity?: Resolver, ParentType, ContextType, RequireFields>; + permalinkCreate?: Resolver, ParentType, ContextType, RequireFields>; + permalinkDestroy?: Resolver, ParentType, ContextType, RequireFields>; + permalinkUpdate?: Resolver, ParentType, ContextType, RequireFields>; + previewSlot?: Resolver, ParentType, ContextType, RequireFields>; + renderLayouts?: Resolver, ParentType, ContextType, RequireFields>; + reparentEntity?: Resolver, ParentType, ContextType, RequireFields>; + resetOrdering?: Resolver, ParentType, ContextType, RequireFields>; + revokeAccess?: Resolver, ParentType, ContextType, RequireFields>; + submissionBatchPublish?: Resolver, ParentType, ContextType, RequireFields>; + submissionChangeState?: Resolver, ParentType, ContextType, RequireFields>; + submissionCommentCreate?: Resolver, ParentType, ContextType, RequireFields>; + submissionCommentDestroy?: Resolver, ParentType, ContextType, RequireFields>; + submissionCommentUpdate?: Resolver, ParentType, ContextType, RequireFields>; + submissionCreate?: Resolver, ParentType, ContextType, RequireFields>; + submissionLeaveReview?: Resolver, ParentType, ContextType, RequireFields>; + submissionPublish?: Resolver, ParentType, ContextType, RequireFields>; + submissionRequestReview?: Resolver, ParentType, ContextType, RequireFields>; + submissionTargetClose?: Resolver, ParentType, ContextType, RequireFields>; + submissionTargetConfigure?: Resolver, ParentType, ContextType, RequireFields>; + submissionTargetOpen?: Resolver, ParentType, ContextType, RequireFields>; + submissionTargetReviewerCreate?: Resolver, ParentType, ContextType, RequireFields>; + submissionTargetReviewerDestroy?: Resolver, ParentType, ContextType, RequireFields>; + updateAnnouncement?: Resolver, ParentType, ContextType, RequireFields>; + updateAsset?: Resolver, ParentType, ContextType, RequireFields>; + updateAssetAttachment?: Resolver, ParentType, ContextType, RequireFields>; + updateCollection?: Resolver, ParentType, ContextType, RequireFields>; + updateCommunity?: Resolver, ParentType, ContextType, RequireFields>; + updateContribution?: Resolver, ParentType, ContextType, RequireFields>; + updateGlobalConfiguration?: Resolver, ParentType, ContextType, RequireFields>; + updateItem?: Resolver, ParentType, ContextType, RequireFields>; + updateOrdering?: Resolver, ParentType, ContextType, RequireFields>; + updateOrganizationContributor?: Resolver, ParentType, ContextType, RequireFields>; + updatePage?: Resolver, ParentType, ContextType, RequireFields>; + updatePersonContributor?: Resolver, ParentType, ContextType, RequireFields>; + updateRole?: Resolver, ParentType, ContextType, RequireFields>; + updateUser?: Resolver, ParentType, ContextType, RequireFields>; + updateViewerSettings?: Resolver, ParentType, ContextType, RequireFields>; + upsertContribution?: Resolver, ParentType, ContextType, RequireFields>; + userResetPassword?: Resolver, ParentType, ContextType, RequireFields>; +}; + +export type MutationAttributeErrorResolvers = { + messages?: Resolver, ParentType, ContextType>; + path?: Resolver; + type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ItemEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type MutationGlobalErrorResolvers = { + message?: Resolver; + type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ItemParentResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; +export type NamedAncestorResolvers = { + ancestor?: Resolver; + ancestorDepth?: Resolver; + name?: Resolver; + originDepth?: Resolver; + relativeDepth?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export interface JsonScalarConfig extends GraphQLScalarTypeConfig { - name: 'JSON'; -} - -export type LayoutDefinitionResolvers = { - __resolveType: TypeResolveFn<'HeroLayoutDefinition' | 'ListItemLayoutDefinition' | 'MainLayoutDefinition' | 'MetadataLayoutDefinition' | 'NavigationLayoutDefinition' | 'SupplementaryLayoutDefinition', ParentType, ContextType>; +export type NavigationLayoutDefinitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; layoutKind?: Resolver; + slug?: Resolver; + template?: Resolver, ParentType, ContextType>; + templates?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type LayoutInstanceResolvers = { - __resolveType: TypeResolveFn<'HeroLayoutInstance' | 'ListItemLayoutInstance' | 'MainLayoutInstance' | 'MetadataLayoutInstance' | 'NavigationLayoutInstance' | 'SupplementaryLayoutInstance', ParentType, ContextType>; +export type NavigationLayoutInstanceResolvers = { allHidden?: Resolver; allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; entity?: Resolver; + id?: Resolver; lastRenderedAt?: Resolver, ParentType, ContextType>; + layoutDefinition?: Resolver; layoutKind?: Resolver; -}; - -export type LinkEntityPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - link?: Resolver, ParentType, ContextType>; + slug?: Resolver; + template?: Resolver, ParentType, ContextType>; + templates?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type LinkListTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; - browseStyle?: Resolver, ParentType, ContextType>; +export type NavigationTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - dynamicOrderingDefinition?: Resolver, ParentType, ContextType>; - entityContext?: Resolver, ParentType, ContextType>; + createdOn?: Resolver; + hideMetadata?: Resolver, ParentType, ContextType>; id?: Resolver; layoutKind?: Resolver; - manualListName?: Resolver, ParentType, ContextType>; - seeAllButtonLabel?: Resolver, ParentType, ContextType>; - seeAllOrderingIdentifier?: Resolver, ParentType, ContextType>; - selectionFallbackMode?: Resolver, ParentType, ContextType>; - selectionLimit?: Resolver, ParentType, ContextType>; - selectionMode?: Resolver, ParentType, ContextType>; - selectionSource?: Resolver, ParentType, ContextType>; - selectionSourceAncestorName?: Resolver, ParentType, ContextType>; - selectionSourceMode?: Resolver, ParentType, ContextType>; - selectionUnbounded?: Resolver, ParentType, ContextType>; - showContributors?: Resolver, ParentType, ContextType>; - showEntityContext?: Resolver, ParentType, ContextType>; - showHeroImage?: Resolver, ParentType, ContextType>; - showNestedEntities?: Resolver, ParentType, ContextType>; - showSeeAllButton?: Resolver, ParentType, ContextType>; - slots?: Resolver; + slots?: Resolver; slug?: Resolver; templateKind?: Resolver; - title?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; - useSelectionFallback?: Resolver, ParentType, ContextType>; - variant?: Resolver, ParentType, ContextType>; - width?: Resolver, ParentType, ContextType>; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type LinkListTemplateDefinitionSlotsResolvers = { - blockHeader?: Resolver, ParentType, ContextType>; - blockHeaderFallback?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - headerAside?: Resolver, ParentType, ContextType>; - headerFallback?: Resolver, ParentType, ContextType>; - listContext?: Resolver, ParentType, ContextType>; - metadata?: Resolver, ParentType, ContextType>; - subtitle?: Resolver, ParentType, ContextType>; +export type NavigationTemplateDefinitionSlotsResolvers = { + entityLabel?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type LinkListTemplateInstanceResolvers = { +export type NavigationTemplateInstanceResolvers = { allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - definition?: Resolver; + createdOn?: Resolver; + definition?: Resolver; entity?: Resolver; - entityList?: Resolver; hidden?: Resolver; id?: Resolver; lastRenderedAt?: Resolver, ParentType, ContextType>; layoutKind?: Resolver; nextSiblings?: Resolver, ParentType, ContextType>; prevSiblings?: Resolver, ParentType, ContextType>; - seeAllOrdering?: Resolver, ParentType, ContextType>; - slots?: Resolver; + slots?: Resolver; slug?: Resolver; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type LinkListTemplateInstanceSlotsResolvers = { - blockHeader?: Resolver, ParentType, ContextType>; - blockHeaderFallback?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - headerAside?: Resolver, ParentType, ContextType>; - headerFallback?: Resolver, ParentType, ContextType>; - listContext?: Resolver, ParentType, ContextType>; - metadata?: Resolver, ParentType, ContextType>; - subtitle?: Resolver, ParentType, ContextType>; +export type NavigationTemplateInstanceSlotsResolvers = { + entityLabel?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type LinkTargetCandidateResolvers = { - createdAt?: Resolver; - depth?: Resolver; +export type NodeResolvers = { + __resolveType: TypeResolveFn<'Announcement' | 'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo' | 'BlurbTemplateDefinition' | 'BlurbTemplateInstance' | 'Collection' | 'CollectionAttribution' | 'CollectionContribution' | 'Community' | 'ContextualPermission' | 'ContributionRoleConfiguration' | 'ContributorCollectionAttribution' | 'ContributorItemAttribution' | 'ContributorListTemplateDefinition' | 'ContributorListTemplateInstance' | 'ContributorUserLink' | 'ControlledVocabulary' | 'ControlledVocabularyItem' | 'ControlledVocabularySource' | 'DepositorAgreement' | 'DepositorAgreementTransition' | 'DepositorRequest' | 'DepositorRequestTransition' | 'DescendantListTemplateDefinition' | 'DescendantListTemplateInstance' | 'DetailTemplateDefinition' | 'DetailTemplateInstance' | 'EntityBreadcrumb' | 'EntityLink' | 'GlobalConfiguration' | 'HarvestAttempt' | 'HarvestAttemptEntityStatus' | 'HarvestAttemptRecordStatus' | 'HarvestEntity' | 'HarvestError' | 'HarvestMapping' | 'HarvestMessage' | 'HarvestMetadataMapping' | 'HarvestRecord' | 'HarvestSet' | 'HarvestSource' | 'HeroLayoutDefinition' | 'HeroLayoutInstance' | 'HeroTemplateDefinition' | 'HeroTemplateInstance' | 'HierarchicalSchemaRank' | 'HierarchicalSchemaVersionRank' | 'Item' | 'ItemAttribution' | 'ItemContribution' | 'LinkListTemplateDefinition' | 'LinkListTemplateInstance' | 'LinkTargetCandidate' | 'ListItemLayoutDefinition' | 'ListItemLayoutInstance' | 'ListItemTemplateDefinition' | 'ListItemTemplateInstance' | 'MainLayoutDefinition' | 'MainLayoutInstance' | 'MetadataLayoutDefinition' | 'MetadataLayoutInstance' | 'MetadataTemplateDefinition' | 'MetadataTemplateInstance' | 'NavigationLayoutDefinition' | 'NavigationLayoutInstance' | 'NavigationTemplateDefinition' | 'NavigationTemplateInstance' | 'Ordering' | 'OrderingEntry' | 'OrderingTemplateDefinition' | 'OrderingTemplateInstance' | 'OrganizationContributor' | 'Page' | 'PageListTemplateDefinition' | 'PageListTemplateInstance' | 'Permalink' | 'PersonContributor' | 'Role' | 'SchemaDefinition' | 'SchemaVersion' | 'SearchResult' | 'Submission' | 'SubmissionBatchPublication' | 'SubmissionBatchPublicationTransition' | 'SubmissionComment' | 'SubmissionDepositTarget' | 'SubmissionPublication' | 'SubmissionPublicationTransition' | 'SubmissionReview' | 'SubmissionReviewTransition' | 'SubmissionTarget' | 'SubmissionTargetReviewer' | 'SubmissionTargetTransition' | 'SubmissionTransition' | 'SupplementaryLayoutDefinition' | 'SupplementaryLayoutInstance' | 'SupplementaryTemplateDefinition' | 'SupplementaryTemplateInstance' | 'TemplateInstanceSibling' | 'User' | 'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroup' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; id?: Resolver; - kind?: Resolver; - target?: Resolver; - targetId?: Resolver; - title?: Resolver; - updatedAt?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type LinkTargetCandidateConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; }; -export type LinkTargetCandidateEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type OptionablePropertyResolvers = { + __resolveType: TypeResolveFn<'MultiselectProperty' | 'SelectProperty', ParentType, ContextType>; + options?: Resolver, ParentType, ContextType>; }; -export type ListItemLayoutDefinitionResolvers = { - createdAt?: Resolver; - id?: Resolver; - layoutKind?: Resolver; - slug?: Resolver; - template?: Resolver, ParentType, ContextType>; - templates?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; +export type OrderDefinitionResolvers = { + direction?: Resolver; + nulls?: Resolver; + path?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ListItemLayoutInstanceResolvers = { - allHidden?: Resolver; - allSlotsEmpty?: Resolver; +export type OrderingResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + children?: Resolver>; + constant?: Resolver; + count?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + disabled?: Resolver; + disabledAt?: Resolver, ParentType, ContextType>; entity?: Resolver; + filter?: Resolver; + footer?: Resolver, ParentType, ContextType>; + header?: Resolver, ParentType, ContextType>; + hidden?: Resolver; id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutDefinition?: Resolver; - layoutKind?: Resolver; - slug?: Resolver; - template?: Resolver, ParentType, ContextType>; - templates?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type ListItemTemplateDefinitionResolvers = { - createdAt?: Resolver; - dynamicOrderingDefinition?: Resolver, ParentType, ContextType>; - id?: Resolver; - layoutKind?: Resolver; - manualListName?: Resolver, ParentType, ContextType>; - orderingIdentifier?: Resolver, ParentType, ContextType>; - seeAllOrderingIdentifier?: Resolver, ParentType, ContextType>; - selectionFallbackMode?: Resolver, ParentType, ContextType>; - selectionLimit?: Resolver, ParentType, ContextType>; - selectionMode?: Resolver, ParentType, ContextType>; - selectionPropertyPath?: Resolver, ParentType, ContextType>; - selectionSource?: Resolver, ParentType, ContextType>; - selectionSourceAncestorName?: Resolver, ParentType, ContextType>; - selectionSourceMode?: Resolver, ParentType, ContextType>; - selectionUnbounded?: Resolver, ParentType, ContextType>; - slots?: Resolver; + identifier?: Resolver; + inheritedFromSchema?: Resolver; + name?: Resolver, ParentType, ContextType>; + order?: Resolver, ParentType, ContextType>; + pristine?: Resolver; + render?: Resolver; + search?: Resolver>; + select?: Resolver; slug?: Resolver; - templateKind?: Resolver; + tree?: Resolver; updatedAt?: Resolver; - useSelectionFallback?: Resolver, ParentType, ContextType>; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ListItemTemplateDefinitionSlotsResolvers = { - contextA?: Resolver, ParentType, ContextType>; - contextAbbr?: Resolver, ParentType, ContextType>; - contextB?: Resolver, ParentType, ContextType>; - contextC?: Resolver, ParentType, ContextType>; - contextFull?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - metaA?: Resolver, ParentType, ContextType>; - metaB?: Resolver, ParentType, ContextType>; - nestedContext?: Resolver, ParentType, ContextType>; - nestedHeader?: Resolver, ParentType, ContextType>; - nestedMetadata?: Resolver, ParentType, ContextType>; - nestedSubheader?: Resolver, ParentType, ContextType>; - subheader?: Resolver, ParentType, ContextType>; +export type OrderingConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ListItemTemplateInstanceResolvers = { - allSlotsEmpty?: Resolver; - createdAt?: Resolver; - definition?: Resolver; - entity?: Resolver; - entityList?: Resolver; +export type OrderingDefinitionResolvers = { + constant?: Resolver; + filter?: Resolver; hidden?: Resolver; - id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutKind?: Resolver; - nextSiblings?: Resolver, ParentType, ContextType>; - prevSiblings?: Resolver, ParentType, ContextType>; - seeAllOrdering?: Resolver, ParentType, ContextType>; - slots?: Resolver; - slug?: Resolver; - templateKind?: Resolver; - updatedAt?: Resolver; + identifier?: Resolver; + name?: Resolver, ParentType, ContextType>; + order?: Resolver, ParentType, ContextType>; + render?: Resolver; + select?: Resolver; + tree?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type ListItemTemplateInstanceSlotsResolvers = { - contextA?: Resolver, ParentType, ContextType>; - contextAbbr?: Resolver, ParentType, ContextType>; - contextB?: Resolver, ParentType, ContextType>; - contextC?: Resolver, ParentType, ContextType>; - contextFull?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - metaA?: Resolver, ParentType, ContextType>; - metaB?: Resolver, ParentType, ContextType>; - nestedContext?: Resolver, ParentType, ContextType>; - nestedHeader?: Resolver, ParentType, ContextType>; - nestedMetadata?: Resolver, ParentType, ContextType>; - nestedSubheader?: Resolver, ParentType, ContextType>; - subheader?: Resolver, ParentType, ContextType>; +export type OrderingEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type MainLayoutDefinitionResolvers = { +export type OrderingEntryResolvers = { + ancestors?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + entry?: Resolver; + entrySlug?: Resolver, ParentType, ContextType>; + entryTitle?: Resolver, ParentType, ContextType>; id?: Resolver; - layoutKind?: Resolver; + nextSibling?: Resolver, ParentType, ContextType>; + ordering?: Resolver; + position?: Resolver, ParentType, ContextType>; + prevSibling?: Resolver, ParentType, ContextType>; + relativeDepth?: Resolver; slug?: Resolver; - templates?: Resolver, ParentType, ContextType>; + treeDepth?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type MainLayoutInstanceResolvers = { - allHidden?: Resolver; - allSlotsEmpty?: Resolver; - createdAt?: Resolver; - entity?: Resolver; +export type OrderingEntryConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OrderingEntryEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OrderingEntryableResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'EntityLink' | 'Item', ParentType, ContextType>; id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutDefinition?: Resolver; - layoutKind?: Resolver; - slug?: Resolver; - templates?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; +}; + +export type OrderingFilterDefinitionResolvers = { + schemas?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type MarkdownPropertyResolvers = { - array?: Resolver; - content?: Resolver, ParentType, ContextType>; - default?: Resolver, ParentType, ContextType>; +export type OrderingPathResolvers = { + __resolveType: TypeResolveFn<'AncestorSchemaOrderingPath' | 'AncestorStaticOrderingPath' | 'SchemaOrderingPath' | 'StaticOrderingPath', ParentType, ContextType>; description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; + grouping?: Resolver; label?: Resolver; - orderable?: Resolver; + labelPrefix?: Resolver, ParentType, ContextType>; path?: Resolver; - required?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; type?: Resolver; +}; + +export type OrderingRenderDefinitionResolvers = { + mode?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type MetadataLayoutDefinitionResolvers = { - createdAt?: Resolver; - id?: Resolver; - layoutKind?: Resolver; - slug?: Resolver; - template?: Resolver, ParentType, ContextType>; - templates?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; +export type OrderingSchemaFilterResolvers = { + identifier?: Resolver; + namespace?: Resolver; + version?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type MetadataLayoutInstanceResolvers = { - allHidden?: Resolver; - allSlotsEmpty?: Resolver; - createdAt?: Resolver; - entity?: Resolver; - id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutDefinition?: Resolver; - layoutKind?: Resolver; - slug?: Resolver; - template?: Resolver, ParentType, ContextType>; - templates?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; +export type OrderingSelectDefinitionResolvers = { + direct?: Resolver; + links?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type MetadataTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; +export type OrderingSelectLinkDefinitionResolvers = { + contains?: Resolver; + references?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type OrderingTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; id?: Resolver; layoutKind?: Resolver; - slots?: Resolver; + orderingIdentifier?: Resolver, ParentType, ContextType>; + orderingSource?: Resolver, ParentType, ContextType>; + orderingSourceAncestorName?: Resolver, ParentType, ContextType>; + orderingSourceMode?: Resolver, ParentType, ContextType>; + selectionSource?: Resolver, ParentType, ContextType>; + selectionSourceAncestorName?: Resolver, ParentType, ContextType>; + selectionSourceMode?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type MetadataTemplateDefinitionSlotsResolvers = { - header?: Resolver, ParentType, ContextType>; - itemsA?: Resolver, ParentType, ContextType>; - itemsB?: Resolver, ParentType, ContextType>; - itemsC?: Resolver, ParentType, ContextType>; - itemsD?: Resolver, ParentType, ContextType>; +export type OrderingTemplateDefinitionSlotsResolvers = { + nextLabel?: Resolver, ParentType, ContextType>; + previousLabel?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type MetadataTemplateInstanceResolvers = { +export type OrderingTemplateInstanceResolvers = { allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - definition?: Resolver; + createdOn?: Resolver; + definition?: Resolver; entity?: Resolver; hidden?: Resolver; id?: Resolver; lastRenderedAt?: Resolver, ParentType, ContextType>; layoutKind?: Resolver; nextSiblings?: Resolver, ParentType, ContextType>; + orderingPair?: Resolver; prevSiblings?: Resolver, ParentType, ContextType>; - slots?: Resolver; + slots?: Resolver; slug?: Resolver; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type MetadataTemplateInstanceSlotsResolvers = { - header?: Resolver, ParentType, ContextType>; - itemsA?: Resolver, ParentType, ContextType>; - itemsB?: Resolver, ParentType, ContextType>; - itemsC?: Resolver, ParentType, ContextType>; - itemsD?: Resolver, ParentType, ContextType>; +export type OrderingTemplateInstanceSlotsResolvers = { + nextLabel?: Resolver, ParentType, ContextType>; + previousLabel?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type MultiselectPropertyResolvers = { - array?: Resolver; - defaultSelections?: Resolver>, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - options?: Resolver, ParentType, ContextType>; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; - selections?: Resolver>, ParentType, ContextType>; - type?: Resolver; +export type OrganizationContributorResolvers = { + affiliation?: Resolver, ParentType, ContextType>; + attributions?: Resolver>; + bio?: Resolver, ParentType, ContextType>; + canClaim?: Resolver; + canDestroy?: Resolver; + canLinkUser?: Resolver; + canMergeSource?: Resolver; + canMergeTarget?: Resolver; + canUpdate?: Resolver; + claimed?: Resolver; + collectionContributionCount?: Resolver; + collectionContributions?: Resolver>; + contributionCount?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + email?: Resolver, ParentType, ContextType>; + familyName?: Resolver, ParentType, ContextType>; + givenName?: Resolver, ParentType, ContextType>; + harvestModificationStatus?: Resolver; + id?: Resolver; + identifier?: Resolver; + image?: Resolver; + imageMetadata?: Resolver, ParentType, ContextType>; + itemContributionCount?: Resolver; + itemContributions?: Resolver>; + kind?: Resolver; + legalName?: Resolver, ParentType, ContextType>; + links?: Resolver, ParentType, ContextType>; + location?: Resolver, ParentType, ContextType>; + mergeBusy?: Resolver; + mergeSourceStatus?: Resolver; + mergeTarget?: Resolver, ParentType, ContextType>; + mergeTargetStatus?: Resolver; + name?: Resolver; + orcid?: Resolver, ParentType, ContextType>; + prefix?: Resolver, ParentType, ContextType>; + slug?: Resolver; + suffix?: Resolver, ParentType, ContextType>; + title?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; + url?: Resolver, ParentType, ContextType>; + userLink?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type MutationResolvers = { - alterSchemaVersion?: Resolver, ParentType, ContextType, RequireFields>; - applySchemaProperties?: Resolver, ParentType, ContextType, RequireFields>; - controlledVocabularyDestroy?: Resolver, ParentType, ContextType, RequireFields>; - controlledVocabularySourceUpdate?: Resolver, ParentType, ContextType, RequireFields>; - controlledVocabularyUpsert?: Resolver, ParentType, ContextType, RequireFields>; - createAnnouncement?: Resolver, ParentType, ContextType, RequireFields>; - createAsset?: Resolver, ParentType, ContextType, RequireFields>; - createCollection?: Resolver, ParentType, ContextType, RequireFields>; - createCommunity?: Resolver, ParentType, ContextType, RequireFields>; - createItem?: Resolver, ParentType, ContextType, RequireFields>; - createOrdering?: Resolver, ParentType, ContextType, RequireFields>; - createOrganizationContributor?: Resolver, ParentType, ContextType, RequireFields>; - createPage?: Resolver, ParentType, ContextType, RequireFields>; - createPersonContributor?: Resolver, ParentType, ContextType, RequireFields>; - createRole?: Resolver, ParentType, ContextType, RequireFields>; - destroyAnnouncement?: Resolver, ParentType, ContextType, RequireFields>; - destroyAsset?: Resolver, ParentType, ContextType, RequireFields>; - destroyCollection?: Resolver, ParentType, ContextType, RequireFields>; - destroyCommunity?: Resolver, ParentType, ContextType, RequireFields>; - destroyContribution?: Resolver, ParentType, ContextType, RequireFields>; - destroyContributor?: Resolver, ParentType, ContextType, RequireFields>; - destroyEntityLink?: Resolver, ParentType, ContextType, RequireFields>; - destroyItem?: Resolver, ParentType, ContextType, RequireFields>; - destroyOrdering?: Resolver, ParentType, ContextType, RequireFields>; - destroyPage?: Resolver, ParentType, ContextType, RequireFields>; - entityPurge?: Resolver, ParentType, ContextType, RequireFields>; - frontendCacheRevalidateEntity?: Resolver, ParentType, ContextType, RequireFields>; - frontendCacheRevalidateInstance?: Resolver, ParentType, ContextType, RequireFields>; - grantAccess?: Resolver, ParentType, ContextType, RequireFields>; - harvestAttemptFromMapping?: Resolver, ParentType, ContextType, RequireFields>; - harvestAttemptFromSource?: Resolver, ParentType, ContextType, RequireFields>; - harvestAttemptPruneEntities?: Resolver, ParentType, ContextType, RequireFields>; - harvestMappingCreate?: Resolver, ParentType, ContextType, RequireFields>; - harvestMappingDestroy?: Resolver, ParentType, ContextType, RequireFields>; - harvestMappingUpdate?: Resolver, ParentType, ContextType, RequireFields>; - harvestMetadataMappingCreate?: Resolver, ParentType, ContextType, RequireFields>; - harvestMetadataMappingDestroy?: Resolver, ParentType, ContextType, RequireFields>; - harvestSourceCreate?: Resolver, ParentType, ContextType, RequireFields>; - harvestSourceDestroy?: Resolver, ParentType, ContextType, RequireFields>; - harvestSourcePruneEntities?: Resolver, ParentType, ContextType, RequireFields>; - harvestSourceUpdate?: Resolver, ParentType, ContextType, RequireFields>; - linkEntity?: Resolver, ParentType, ContextType, RequireFields>; - permalinkCreate?: Resolver, ParentType, ContextType, RequireFields>; - permalinkDestroy?: Resolver, ParentType, ContextType, RequireFields>; - permalinkUpdate?: Resolver, ParentType, ContextType, RequireFields>; - previewSlot?: Resolver, ParentType, ContextType, RequireFields>; - renderLayouts?: Resolver, ParentType, ContextType, RequireFields>; - reparentEntity?: Resolver, ParentType, ContextType, RequireFields>; - resetOrdering?: Resolver, ParentType, ContextType, RequireFields>; - revokeAccess?: Resolver, ParentType, ContextType, RequireFields>; - updateAnnouncement?: Resolver, ParentType, ContextType, RequireFields>; - updateAsset?: Resolver, ParentType, ContextType, RequireFields>; - updateAssetAttachment?: Resolver, ParentType, ContextType, RequireFields>; - updateCollection?: Resolver, ParentType, ContextType, RequireFields>; - updateCommunity?: Resolver, ParentType, ContextType, RequireFields>; - updateContribution?: Resolver, ParentType, ContextType, RequireFields>; - updateGlobalConfiguration?: Resolver, ParentType, ContextType, RequireFields>; - updateItem?: Resolver, ParentType, ContextType, RequireFields>; - updateOrdering?: Resolver, ParentType, ContextType, RequireFields>; - updateOrganizationContributor?: Resolver, ParentType, ContextType, RequireFields>; - updatePage?: Resolver, ParentType, ContextType, RequireFields>; - updatePersonContributor?: Resolver, ParentType, ContextType, RequireFields>; - updateRole?: Resolver, ParentType, ContextType, RequireFields>; - updateUser?: Resolver, ParentType, ContextType, RequireFields>; - updateViewerSettings?: Resolver, ParentType, ContextType, RequireFields>; - upsertContribution?: Resolver, ParentType, ContextType, RequireFields>; - userResetPassword?: Resolver, ParentType, ContextType, RequireFields>; -}; - -export type MutationAttributeErrorResolvers = { - messages?: Resolver, ParentType, ContextType>; - path?: Resolver; - type?: Resolver; +export type PageResolvers = { + body?: Resolver; + createdAt?: Resolver; + entity?: Resolver; + heroImage?: Resolver; + heroImageMetadata?: Resolver, ParentType, ContextType>; + id?: Resolver; + position?: Resolver, ParentType, ContextType>; + slug?: Resolver; + title?: Resolver; + updatedAt?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type MutationGlobalErrorResolvers = { - message?: Resolver; - type?: Resolver; +export type PageConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type NamedAncestorResolvers = { - ancestor?: Resolver; - ancestorDepth?: Resolver; - name?: Resolver; - originDepth?: Resolver; - relativeDepth?: Resolver; +export type PageEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type NavigationLayoutDefinitionResolvers = { +export type PageInfoResolvers = { + endCursor?: Resolver, ParentType, ContextType>; + hasNextPage?: Resolver; + hasPreviousPage?: Resolver; + page?: Resolver, ParentType, ContextType>; + pageCount?: Resolver, ParentType, ContextType>; + perPage?: Resolver, ParentType, ContextType>; + startCursor?: Resolver, ParentType, ContextType>; + totalCount?: Resolver; + totalUnfilteredCount?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PageListTemplateDefinitionResolvers = { + background?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; id?: Resolver; layoutKind?: Resolver; + slots?: Resolver; slug?: Resolver; - template?: Resolver, ParentType, ContextType>; - templates?: Resolver, ParentType, ContextType>; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type NavigationLayoutInstanceResolvers = { - allHidden?: Resolver; +export type PageListTemplateDefinitionSlotsResolvers = { + header?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PageListTemplateInstanceResolvers = { allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + definition?: Resolver; entity?: Resolver; + hidden?: Resolver; id?: Resolver; lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutDefinition?: Resolver; layoutKind?: Resolver; + nextSiblings?: Resolver, ParentType, ContextType>; + prevSiblings?: Resolver, ParentType, ContextType>; + slots?: Resolver; slug?: Resolver; - template?: Resolver, ParentType, ContextType>; - templates?: Resolver, ParentType, ContextType>; + templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type NavigationTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; +export type PageListTemplateInstanceSlotsResolvers = { + header?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PaginatedResolvers = { + __resolveType: TypeResolveFn<'AnnouncementConnection' | 'AnyAccessGrantConnection' | 'AnyCollectionAccessGrantConnection' | 'AnyCommunityAccessGrantConnection' | 'AnyContributorConnection' | 'AnyUserAccessGrantConnection' | 'AnyUserGroupAccessGrantConnection' | 'AssetConnection' | 'CollectionConnection' | 'CollectionContributionConnection' | 'CommunityConnection' | 'ContextualPermissionConnection' | 'ContributorAttributionConnection' | 'ControlledVocabularyConnection' | 'ControlledVocabularySourceConnection' | 'DepositorAgreementTransitionConnection' | 'DepositorRequestConnection' | 'DepositorRequestTransitionConnection' | 'EntityDescendantConnection' | 'EntityLinkConnection' | 'HarvestAttemptConnection' | 'HarvestMappingConnection' | 'HarvestMessageConnection' | 'HarvestMetadataMappingConnection' | 'HarvestRecordConnection' | 'HarvestSetConnection' | 'HarvestSourceConnection' | 'ItemConnection' | 'ItemContributionConnection' | 'LinkTargetCandidateConnection' | 'OrderingConnection' | 'OrderingEntryConnection' | 'PageConnection' | 'PermalinkConnection' | 'RoleConnection' | 'SchemaDefinitionConnection' | 'SchemaVersionConnection' | 'SearchResultConnection' | 'SubmissionBatchPublicationTransitionConnection' | 'SubmissionCommentConnection' | 'SubmissionConnection' | 'SubmissionPublicationTransitionConnection' | 'SubmissionReviewConnection' | 'SubmissionReviewTransitionConnection' | 'SubmissionTargetConnection' | 'SubmissionTargetReviewerConnection' | 'SubmissionTargetTransitionConnection' | 'SubmissionTransitionConnection' | 'UserCollectionAccessGrantConnection' | 'UserCommunityAccessGrantConnection' | 'UserConnection' | 'UserGroupCollectionAccessGrantConnection' | 'UserGroupCommunityAccessGrantConnection' | 'UserGroupItemAccessGrantConnection' | 'UserItemAccessGrantConnection', ParentType, ContextType>; + pageInfo?: Resolver; +}; + +export type PermalinkResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + canonical?: Resolver; createdAt?: Resolver; - hideMetadata?: Resolver, ParentType, ContextType>; + createdOn?: Resolver; id?: Resolver; - layoutKind?: Resolver; - slots?: Resolver; + kind?: Resolver; + permalinkable?: Resolver; + permalinkableSlug?: Resolver; slug?: Resolver; - templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + uri?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PermalinkConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PermalinkCreatePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + permalink?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PermalinkDestroyPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PermalinkEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PermalinkUpdatePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + permalink?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PermalinkableResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + canonicalPermalink?: Resolver, ParentType, ContextType>; + permalinks?: Resolver, ParentType, ContextType>; +}; + +export type PermissionGrantResolvers = { + allowed?: Resolver; + name?: Resolver; + path?: Resolver; + scope?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PermissionGridResolvers = { + __resolveType: TypeResolveFn<'AdminPermissionGrid' | 'AssetPermissionGrid' | 'ContributorPermissionGrid' | 'EntityPermissionGrid' | 'RolePermissionGrid' | 'SettingsPermissionGrid' | 'UserPermissionGrid', ParentType, ContextType>; + allowedActions?: Resolver, ParentType, ContextType>; + permissions?: Resolver, ParentType, ContextType>; +}; + +export type PersonContributorResolvers = { + affiliation?: Resolver, ParentType, ContextType>; + attributions?: Resolver>; + bio?: Resolver, ParentType, ContextType>; + canClaim?: Resolver; + canDestroy?: Resolver; + canLinkUser?: Resolver; + canMergeSource?: Resolver; + canMergeTarget?: Resolver; + canUpdate?: Resolver; + claimed?: Resolver; + collectionContributionCount?: Resolver; + collectionContributions?: Resolver>; + contributionCount?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + email?: Resolver, ParentType, ContextType>; + familyName?: Resolver, ParentType, ContextType>; + givenName?: Resolver, ParentType, ContextType>; + harvestModificationStatus?: Resolver; + id?: Resolver; + identifier?: Resolver; + image?: Resolver; + imageMetadata?: Resolver, ParentType, ContextType>; + itemContributionCount?: Resolver; + itemContributions?: Resolver>; + kind?: Resolver; + legalName?: Resolver, ParentType, ContextType>; + links?: Resolver, ParentType, ContextType>; + location?: Resolver, ParentType, ContextType>; + mergeBusy?: Resolver; + mergeSourceStatus?: Resolver; + mergeTarget?: Resolver, ParentType, ContextType>; + mergeTargetStatus?: Resolver; + name?: Resolver; + orcid?: Resolver, ParentType, ContextType>; + prefix?: Resolver, ParentType, ContextType>; + slug?: Resolver; + suffix?: Resolver, ParentType, ContextType>; + title?: Resolver, ParentType, ContextType>; + updatedAt?: Resolver; + updatedOn?: Resolver; + url?: Resolver, ParentType, ContextType>; + userLink?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type PreviewSlotPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + slot?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type NavigationTemplateDefinitionSlotsResolvers = { - entityLabel?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesAccessAndRolesResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + accessGrants?: Resolver>; + roles?: Resolver>; +}; + +export type QueriesContribResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + collectionContribution?: Resolver, ParentType, ContextType, RequireFields>; + contributionRoles?: Resolver>; + contributor?: Resolver, ParentType, ContextType, RequireFields>; + contributorLookup?: Resolver, ParentType, ContextType, RequireFields>; + contributors?: Resolver>; + itemContribution?: Resolver, ParentType, ContextType, RequireFields>; +}; + +export type QueriesControlledVocabularyResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + controlledVocabularies?: Resolver>; + controlledVocabulary?: Resolver, ParentType, ContextType, RequireFields>; +}; + +export type QueriesControlledVocabularySourceResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + controlledVocabularySource?: Resolver, ParentType, ContextType, RequireFields>; + controlledVocabularySources?: Resolver>; +}; + +export type QueriesDepositorRequestResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + depositorRequest?: Resolver, ParentType, ContextType, RequireFields>; + depositorRequests?: Resolver>; +}; + +export type QueriesEntitiesResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + asset?: Resolver, ParentType, ContextType, RequireFields>; + collection?: Resolver, ParentType, ContextType, RequireFields>; + communities?: Resolver>; + community?: Resolver, ParentType, ContextType, RequireFields>; + communityByTitle?: Resolver, ParentType, ContextType, RequireFields>; + item?: Resolver, ParentType, ContextType, RequireFields>; +}; + +export type QueriesHarvestAttemptResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + harvestAttempt?: Resolver, ParentType, ContextType, RequireFields>; + harvestAttempts?: Resolver>; +}; + +export type QueriesHarvestExampleResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + harvestExamples?: Resolver, ParentType, ContextType, RequireFields>; +}; + +export type QueriesHarvestMappingResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + harvestMapping?: Resolver, ParentType, ContextType, RequireFields>; + harvestMappings?: Resolver>; +}; + +export type QueriesHarvestMessageResolvers = { + __resolveType: TypeResolveFn<'HarvestAttempt' | 'HarvestEntity' | 'HarvestMapping' | 'HarvestRecord' | 'HarvestSource' | 'Query', ParentType, ContextType>; + harvestMessages?: Resolver>; +}; + +export type QueriesHarvestRecordResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + harvestRecord?: Resolver, ParentType, ContextType, RequireFields>; + harvestRecords?: Resolver>; }; -export type NavigationTemplateInstanceResolvers = { - allSlotsEmpty?: Resolver; - createdAt?: Resolver; - definition?: Resolver; - entity?: Resolver; - hidden?: Resolver; - id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutKind?: Resolver; - nextSiblings?: Resolver, ParentType, ContextType>; - prevSiblings?: Resolver, ParentType, ContextType>; - slots?: Resolver; - slug?: Resolver; - templateKind?: Resolver; - updatedAt?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesHarvestSetResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + harvestSet?: Resolver, ParentType, ContextType, RequireFields>; }; -export type NavigationTemplateInstanceSlotsResolvers = { - entityLabel?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesHarvestSourceResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + harvestSource?: Resolver, ParentType, ContextType, RequireFields>; + harvestSources?: Resolver>; }; -export type NodeResolvers = { - __resolveType: TypeResolveFn<'Announcement' | 'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo' | 'BlurbTemplateDefinition' | 'BlurbTemplateInstance' | 'Collection' | 'CollectionAttribution' | 'CollectionContribution' | 'Community' | 'ContextualPermission' | 'ContributionRoleConfiguration' | 'ContributorCollectionAttribution' | 'ContributorItemAttribution' | 'ContributorListTemplateDefinition' | 'ContributorListTemplateInstance' | 'ControlledVocabulary' | 'ControlledVocabularyItem' | 'ControlledVocabularySource' | 'DescendantListTemplateDefinition' | 'DescendantListTemplateInstance' | 'DetailTemplateDefinition' | 'DetailTemplateInstance' | 'EntityBreadcrumb' | 'EntityLink' | 'GlobalConfiguration' | 'HarvestAttempt' | 'HarvestAttemptEntityStatus' | 'HarvestAttemptRecordStatus' | 'HarvestEntity' | 'HarvestError' | 'HarvestMapping' | 'HarvestMessage' | 'HarvestMetadataMapping' | 'HarvestRecord' | 'HarvestSet' | 'HarvestSource' | 'HeroLayoutDefinition' | 'HeroLayoutInstance' | 'HeroTemplateDefinition' | 'HeroTemplateInstance' | 'HierarchicalSchemaRank' | 'HierarchicalSchemaVersionRank' | 'Item' | 'ItemAttribution' | 'ItemContribution' | 'LinkListTemplateDefinition' | 'LinkListTemplateInstance' | 'LinkTargetCandidate' | 'ListItemLayoutDefinition' | 'ListItemLayoutInstance' | 'ListItemTemplateDefinition' | 'ListItemTemplateInstance' | 'MainLayoutDefinition' | 'MainLayoutInstance' | 'MetadataLayoutDefinition' | 'MetadataLayoutInstance' | 'MetadataTemplateDefinition' | 'MetadataTemplateInstance' | 'NavigationLayoutDefinition' | 'NavigationLayoutInstance' | 'NavigationTemplateDefinition' | 'NavigationTemplateInstance' | 'Ordering' | 'OrderingEntry' | 'OrderingTemplateDefinition' | 'OrderingTemplateInstance' | 'OrganizationContributor' | 'Page' | 'PageListTemplateDefinition' | 'PageListTemplateInstance' | 'Permalink' | 'PersonContributor' | 'Role' | 'SchemaDefinition' | 'SchemaVersion' | 'SearchResult' | 'SupplementaryLayoutDefinition' | 'SupplementaryLayoutInstance' | 'SupplementaryTemplateDefinition' | 'SupplementaryTemplateInstance' | 'TemplateInstanceSibling' | 'User' | 'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroup' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; - id?: Resolver; +export type QueriesPermalinkResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + permalink?: Resolver, ParentType, ContextType, RequireFields>; + permalinkByUri?: Resolver, ParentType, ContextType, RequireFields>; + permalinks?: Resolver>; }; -export type OptionablePropertyResolvers = { - __resolveType: TypeResolveFn<'MultiselectProperty' | 'SelectProperty', ParentType, ContextType>; - options?: Resolver, ParentType, ContextType>; +export type QueriesSchemasResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + orderingPaths?: Resolver, ParentType, ContextType, Partial>; + schemaDefinition?: Resolver, ParentType, ContextType, RequireFields>; + schemaDefinitions?: Resolver>; + schemaVersion?: Resolver, ParentType, ContextType, RequireFields>; + schemaVersionOptions?: Resolver, ParentType, ContextType, RequireFields>; + schemaVersions?: Resolver>; }; -export type OrderDefinitionResolvers = { - direction?: Resolver; - nulls?: Resolver; - path?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesSubmissionResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + submission?: Resolver, ParentType, ContextType, RequireFields>; + submissions?: Resolver>; }; -export type OrderingResolvers = { - children?: Resolver>; - constant?: Resolver; - count?: Resolver; - createdAt?: Resolver; - disabled?: Resolver; - disabledAt?: Resolver, ParentType, ContextType>; - entity?: Resolver; - filter?: Resolver; - footer?: Resolver, ParentType, ContextType>; - header?: Resolver, ParentType, ContextType>; - hidden?: Resolver; - id?: Resolver; - identifier?: Resolver; - inheritedFromSchema?: Resolver; - name?: Resolver, ParentType, ContextType>; - order?: Resolver, ParentType, ContextType>; - pristine?: Resolver; - render?: Resolver; - search?: Resolver>; - select?: Resolver; - slug?: Resolver; - tree?: Resolver; - updatedAt?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesSubmissionCommentResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + submissionComment?: Resolver, ParentType, ContextType, RequireFields>; + submissionComments?: Resolver>; }; -export type OrderingConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesSubmissionReviewResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + submissionReview?: Resolver, ParentType, ContextType, RequireFields>; + submissionReviews?: Resolver>; }; -export type OrderingDefinitionResolvers = { - constant?: Resolver; - filter?: Resolver; - hidden?: Resolver; - identifier?: Resolver; - name?: Resolver, ParentType, ContextType>; - order?: Resolver, ParentType, ContextType>; - render?: Resolver; - select?: Resolver; - tree?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesSubmissionTargetResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + submissionTarget?: Resolver, ParentType, ContextType, RequireFields>; + submissionTargets?: Resolver>; }; -export type OrderingEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesSubmissionTargetReviewerResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + submissionTargetReviewer?: Resolver, ParentType, ContextType, RequireFields>; + submissionTargetReviewers?: Resolver>; }; -export type OrderingEntryResolvers = { - ancestors?: Resolver, ParentType, ContextType>; - createdAt?: Resolver; - entry?: Resolver; - entrySlug?: Resolver, ParentType, ContextType>; - entryTitle?: Resolver, ParentType, ContextType>; - id?: Resolver; - nextSibling?: Resolver, ParentType, ContextType>; - ordering?: Resolver; - position?: Resolver, ParentType, ContextType>; - prevSibling?: Resolver, ParentType, ContextType>; - relativeDepth?: Resolver; - slug?: Resolver; - treeDepth?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesSystemResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + analytics?: Resolver; + globalConfiguration?: Resolver; + systemInfo?: Resolver; + user?: Resolver, ParentType, ContextType, RequireFields>; + users?: Resolver>; + viewer?: Resolver; }; -export type OrderingEntryConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type QueriesUserResolvers = { + __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; + user?: Resolver, ParentType, ContextType, RequireFields>; + users?: Resolver>; + viewer?: Resolver; }; -export type OrderingEntryEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type QueryResolvers = { + accessGrants?: Resolver>; + analytics?: Resolver; + asset?: Resolver, ParentType, ContextType, RequireFields>; + collection?: Resolver, ParentType, ContextType, RequireFields>; + collectionContribution?: Resolver, ParentType, ContextType, RequireFields>; + communities?: Resolver>; + community?: Resolver, ParentType, ContextType, RequireFields>; + communityByTitle?: Resolver, ParentType, ContextType, RequireFields>; + contributionRoles?: Resolver>; + contributor?: Resolver, ParentType, ContextType, RequireFields>; + contributorLookup?: Resolver, ParentType, ContextType, RequireFields>; + contributors?: Resolver>; + controlledVocabularies?: Resolver>; + controlledVocabulary?: Resolver, ParentType, ContextType, RequireFields>; + controlledVocabularySource?: Resolver, ParentType, ContextType, RequireFields>; + controlledVocabularySources?: Resolver>; + depositorRequest?: Resolver, ParentType, ContextType, RequireFields>; + depositorRequests?: Resolver>; + globalConfiguration?: Resolver; + harvestAttempt?: Resolver, ParentType, ContextType, RequireFields>; + harvestAttempts?: Resolver>; + harvestExamples?: Resolver, ParentType, ContextType, RequireFields>; + harvestMapping?: Resolver, ParentType, ContextType, RequireFields>; + harvestMappings?: Resolver>; + harvestMessages?: Resolver>; + harvestRecord?: Resolver, ParentType, ContextType, RequireFields>; + harvestRecords?: Resolver>; + harvestSet?: Resolver, ParentType, ContextType, RequireFields>; + harvestSource?: Resolver, ParentType, ContextType, RequireFields>; + harvestSources?: Resolver>; + item?: Resolver, ParentType, ContextType, RequireFields>; + itemContribution?: Resolver, ParentType, ContextType, RequireFields>; + node?: Resolver, ParentType, ContextType, RequireFields>; + nodes?: Resolver>, ParentType, ContextType, RequireFields>; + orderingPaths?: Resolver, ParentType, ContextType, Partial>; + permalink?: Resolver, ParentType, ContextType, RequireFields>; + permalinkByUri?: Resolver, ParentType, ContextType, RequireFields>; + permalinks?: Resolver>; + roles?: Resolver>; + schemaDefinition?: Resolver, ParentType, ContextType, RequireFields>; + schemaDefinitions?: Resolver>; + schemaVersion?: Resolver, ParentType, ContextType, RequireFields>; + schemaVersionOptions?: Resolver, ParentType, ContextType, RequireFields>; + schemaVersions?: Resolver>; + search?: Resolver>; + submission?: Resolver, ParentType, ContextType, RequireFields>; + submissionComment?: Resolver, ParentType, ContextType, RequireFields>; + submissionComments?: Resolver>; + submissionReview?: Resolver, ParentType, ContextType, RequireFields>; + submissionReviews?: Resolver>; + submissionTarget?: Resolver, ParentType, ContextType, RequireFields>; + submissionTargetReviewer?: Resolver, ParentType, ContextType, RequireFields>; + submissionTargetReviewers?: Resolver>; + submissionTargets?: Resolver>; + submissions?: Resolver>; + systemInfo?: Resolver; + user?: Resolver, ParentType, ContextType, RequireFields>; + users?: Resolver>; + viewer?: Resolver; }; -export type OrderingEntryableResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'EntityLink' | 'Item', ParentType, ContextType>; - id?: Resolver; +export type ReferencesEntityVisibilityResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; + currentlyHidden?: Resolver; + currentlyVisible?: Resolver; + hidden?: Resolver; + hiddenAsOf?: Resolver>; + hiddenAt?: Resolver, ParentType, ContextType>; + visibility?: Resolver; + visible?: Resolver; + visibleAfterAt?: Resolver, ParentType, ContextType>; + visibleAsOf?: Resolver>; + visibleUntilAt?: Resolver, ParentType, ContextType>; }; -export type OrderingFilterDefinitionResolvers = { - schemas?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type ReferencesGlobalEntityDatesResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; + published?: Resolver; }; -export type OrderingPathResolvers = { - __resolveType: TypeResolveFn<'AncestorSchemaOrderingPath' | 'AncestorStaticOrderingPath' | 'SchemaOrderingPath' | 'StaticOrderingPath', ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - grouping?: Resolver; - label?: Resolver; - labelPrefix?: Resolver, ParentType, ContextType>; - path?: Resolver; - type?: Resolver; +export type RenderLayoutsPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type OrderingRenderDefinitionResolvers = { - mode?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type RenderableResolvers = { + __resolveType: TypeResolveFn<'BlurbTemplateInstance' | 'ContributorListTemplateInstance' | 'DescendantListTemplateInstance' | 'DetailTemplateInstance' | 'HeroLayoutInstance' | 'HeroTemplateInstance' | 'LinkListTemplateInstance' | 'ListItemLayoutInstance' | 'ListItemTemplateInstance' | 'MainLayoutInstance' | 'MetadataLayoutInstance' | 'MetadataTemplateInstance' | 'NavigationLayoutInstance' | 'NavigationTemplateInstance' | 'OrderingTemplateInstance' | 'PageListTemplateInstance' | 'SupplementaryLayoutInstance' | 'SupplementaryTemplateInstance', ParentType, ContextType>; + lastRenderedAt?: Resolver, ParentType, ContextType>; }; -export type OrderingSchemaFilterResolvers = { - identifier?: Resolver; - namespace?: Resolver; - version?: Resolver, ParentType, ContextType>; +export type ReparentEntityPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + child?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type OrderingSelectDefinitionResolvers = { - direct?: Resolver; - links?: Resolver; +export type ResetOrderingPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + ordering?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type OrderingSelectLinkDefinitionResolvers = { - contains?: Resolver; - references?: Resolver; +export type RevokeAccessPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + revoked?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type OrderingTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; +export type RoleResolvers = { + accessControlList?: Resolver; + allowedActions?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + customPriority?: Resolver, ParentType, ContextType>; + globalAccessControlList?: Resolver; + globalAllowedActions?: Resolver, ParentType, ContextType>; id?: Resolver; - layoutKind?: Resolver; - orderingIdentifier?: Resolver, ParentType, ContextType>; - orderingSource?: Resolver, ParentType, ContextType>; - orderingSourceAncestorName?: Resolver, ParentType, ContextType>; - orderingSourceMode?: Resolver, ParentType, ContextType>; - selectionSource?: Resolver, ParentType, ContextType>; - selectionSourceAncestorName?: Resolver, ParentType, ContextType>; - selectionSourceMode?: Resolver, ParentType, ContextType>; - slots?: Resolver; + identifier?: Resolver, ParentType, ContextType>; + kind?: Resolver; + name?: Resolver; + permissions?: Resolver, ParentType, ContextType>; + primacy?: Resolver; + priority?: Resolver; slug?: Resolver; - templateKind?: Resolver; updatedAt?: Resolver; - width?: Resolver, ParentType, ContextType>; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type OrderingTemplateDefinitionSlotsResolvers = { - nextLabel?: Resolver, ParentType, ContextType>; - previousLabel?: Resolver, ParentType, ContextType>; +export type RoleConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type OrderingTemplateInstanceResolvers = { - allSlotsEmpty?: Resolver; - createdAt?: Resolver; - definition?: Resolver; - entity?: Resolver; - hidden?: Resolver; - id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutKind?: Resolver; - nextSiblings?: Resolver, ParentType, ContextType>; - orderingPair?: Resolver; - prevSiblings?: Resolver, ParentType, ContextType>; - slots?: Resolver; - slug?: Resolver; - templateKind?: Resolver; - updatedAt?: Resolver; +export type RoleEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type OrderingTemplateInstanceSlotsResolvers = { - nextLabel?: Resolver, ParentType, ContextType>; - previousLabel?: Resolver, ParentType, ContextType>; +export type RolePermissionGridResolvers = { + allowedActions?: Resolver, ParentType, ContextType>; + create?: Resolver; + delete?: Resolver; + permissions?: Resolver, ParentType, ContextType>; + read?: Resolver; + update?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type OrganizationContributorResolvers = { - affiliation?: Resolver, ParentType, ContextType>; - attributions?: Resolver>; - bio?: Resolver, ParentType, ContextType>; - collectionContributionCount?: Resolver; - collectionContributions?: Resolver>; - contributionCount?: Resolver; +export type ScalarPropertyResolvers = { + __resolveType: TypeResolveFn<'AssetProperty' | 'AssetsProperty' | 'BooleanProperty' | 'ContributorProperty' | 'ContributorsProperty' | 'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty' | 'DateProperty' | 'EmailProperty' | 'EntitiesProperty' | 'EntityProperty' | 'FloatProperty' | 'FullTextProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SelectProperty' | 'StringProperty' | 'TagsProperty' | 'TimestampProperty' | 'URLProperty' | 'UnknownProperty' | 'VariableDateProperty', ParentType, ContextType>; + array?: Resolver; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + submittable?: Resolver; + type?: Resolver; +}; + +export interface SchemaComponentScalarConfig extends GraphQLScalarTypeConfig { + name: 'SchemaComponent'; +} + +export type SchemaDefinitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - email?: Resolver, ParentType, ContextType>; - familyName?: Resolver, ParentType, ContextType>; - givenName?: Resolver, ParentType, ContextType>; - harvestModificationStatus?: Resolver; + createdOn?: Resolver; + declaration?: Resolver; id?: Resolver; identifier?: Resolver; - image?: Resolver; - imageMetadata?: Resolver, ParentType, ContextType>; - itemContributionCount?: Resolver; - itemContributions?: Resolver>; - kind?: Resolver; - legalName?: Resolver, ParentType, ContextType>; - links?: Resolver, ParentType, ContextType>; - location?: Resolver, ParentType, ContextType>; + kind?: Resolver; name?: Resolver; - orcid?: Resolver, ParentType, ContextType>; - prefix?: Resolver, ParentType, ContextType>; + namespace?: Resolver; slug?: Resolver; - suffix?: Resolver, ParentType, ContextType>; - title?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; - url?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type PageResolvers = { - body?: Resolver; - createdAt?: Resolver; - entity?: Resolver; - heroImage?: Resolver; - heroImageMetadata?: Resolver, ParentType, ContextType>; - id?: Resolver; - position?: Resolver, ParentType, ContextType>; - slug?: Resolver; - title?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PageConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type SchemaDefinitionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PageEdgeResolvers = { +export type SchemaDefinitionEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PageInfoResolvers = { - endCursor?: Resolver, ParentType, ContextType>; - hasNextPage?: Resolver; - hasPreviousPage?: Resolver; - page?: Resolver, ParentType, ContextType>; - pageCount?: Resolver, ParentType, ContextType>; - perPage?: Resolver, ParentType, ContextType>; - startCursor?: Resolver, ParentType, ContextType>; - totalCount?: Resolver; - totalUnfilteredCount?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type SchemaInstanceResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + availableEntitiesFor?: Resolver, ParentType, ContextType, RequireFields>; + schemaInstanceContext?: Resolver; + schemaProperties?: Resolver, ParentType, ContextType>; + schemaProperty?: Resolver, ParentType, ContextType, RequireFields>; }; -export type PageListTemplateDefinitionResolvers = { - background?: Resolver, ParentType, ContextType>; - createdAt?: Resolver; - id?: Resolver; - layoutKind?: Resolver; - slots?: Resolver; - slug?: Resolver; - templateKind?: Resolver; - updatedAt?: Resolver; - width?: Resolver, ParentType, ContextType>; +export type SchemaInstanceContextResolvers = { + assets?: Resolver, ParentType, ContextType>; + contributors?: Resolver, ParentType, ContextType>; + defaultValues?: Resolver; + entityId?: Resolver; + fieldValues?: Resolver; + schemaVersionSlug?: Resolver; + validity?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type PageListTemplateDefinitionSlotsResolvers = { - header?: Resolver, ParentType, ContextType>; +export type SchemaInstanceValidationResolvers = { + errors?: Resolver, ParentType, ContextType>; + valid?: Resolver; + validatedAt?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PageListTemplateInstanceResolvers = { - allSlotsEmpty?: Resolver; - createdAt?: Resolver; - definition?: Resolver; - entity?: Resolver; - hidden?: Resolver; - id?: Resolver; - lastRenderedAt?: Resolver, ParentType, ContextType>; - layoutKind?: Resolver; - nextSiblings?: Resolver, ParentType, ContextType>; - prevSiblings?: Resolver, ParentType, ContextType>; - slots?: Resolver; - slug?: Resolver; - templateKind?: Resolver; - updatedAt?: Resolver; +export type SchemaOrderingPathResolvers = { + description?: Resolver, ParentType, ContextType>; + grouping?: Resolver; + label?: Resolver; + labelPrefix?: Resolver, ParentType, ContextType>; + path?: Resolver; + schemaVersion?: Resolver; + type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PageListTemplateInstanceSlotsResolvers = { - header?: Resolver, ParentType, ContextType>; +export type SchemaPropertyResolvers = { + __resolveType: TypeResolveFn<'AssetProperty' | 'AssetsProperty' | 'BooleanProperty' | 'ContributorProperty' | 'ContributorsProperty' | 'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty' | 'DateProperty' | 'EmailProperty' | 'EntitiesProperty' | 'EntityProperty' | 'FloatProperty' | 'FullTextProperty' | 'GroupProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SelectProperty' | 'StringProperty' | 'TagsProperty' | 'TimestampProperty' | 'URLProperty' | 'UnknownProperty' | 'VariableDateProperty', ParentType, ContextType>; + array?: Resolver; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + kind?: Resolver; + orderable?: Resolver; + path?: Resolver; + type?: Resolver; +}; + +export interface SchemaPropertyPathScalarConfig extends GraphQLScalarTypeConfig { + name: 'SchemaPropertyPath'; +} + +export type SchemaRenderDefinitionResolvers = { + listMode?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PaginatedResolvers = { - __resolveType: TypeResolveFn<'AnnouncementConnection' | 'AnyAccessGrantConnection' | 'AnyCollectionAccessGrantConnection' | 'AnyCommunityAccessGrantConnection' | 'AnyContributorConnection' | 'AnyUserAccessGrantConnection' | 'AnyUserGroupAccessGrantConnection' | 'AssetConnection' | 'CollectionConnection' | 'CollectionContributionConnection' | 'CommunityConnection' | 'ContextualPermissionConnection' | 'ContributorAttributionConnection' | 'ControlledVocabularyConnection' | 'ControlledVocabularySourceConnection' | 'EntityDescendantConnection' | 'EntityLinkConnection' | 'HarvestAttemptConnection' | 'HarvestMappingConnection' | 'HarvestMessageConnection' | 'HarvestMetadataMappingConnection' | 'HarvestRecordConnection' | 'HarvestSetConnection' | 'HarvestSourceConnection' | 'ItemConnection' | 'ItemContributionConnection' | 'LinkTargetCandidateConnection' | 'OrderingConnection' | 'OrderingEntryConnection' | 'PageConnection' | 'PermalinkConnection' | 'RoleConnection' | 'SchemaDefinitionConnection' | 'SchemaVersionConnection' | 'SearchResultConnection' | 'UserCollectionAccessGrantConnection' | 'UserCommunityAccessGrantConnection' | 'UserConnection' | 'UserGroupCollectionAccessGrantConnection' | 'UserGroupCommunityAccessGrantConnection' | 'UserGroupItemAccessGrantConnection' | 'UserItemAccessGrantConnection', ParentType, ContextType>; - pageInfo?: Resolver; +export type SchemaValueErrorResolvers = { + base?: Resolver; + hint?: Resolver; + message?: Resolver; + metadata?: Resolver, ParentType, ContextType>; + path?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type PermalinkResolvers = { - canonical?: Resolver; +export type SchemaVersionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; + declaration?: Resolver; + enforcedChildDeclarations?: Resolver, ParentType, ContextType>; + enforcedChildKinds?: Resolver, ParentType, ContextType>; + enforcedChildVersions?: Resolver, ParentType, ContextType>; + enforcedParentDeclarations?: Resolver, ParentType, ContextType>; + enforcedParentKinds?: Resolver, ParentType, ContextType>; + enforcedParentVersions?: Resolver, ParentType, ContextType>; + enforcesChildren?: Resolver; + enforcesParent?: Resolver; id?: Resolver; - kind?: Resolver; - permalinkable?: Resolver; - permalinkableSlug?: Resolver; + identifier?: Resolver; + kind?: Resolver; + name?: Resolver; + namespace?: Resolver; + number?: Resolver; + render?: Resolver; + schemaDefinition?: Resolver; + schemaProperties?: Resolver, ParentType, ContextType>; + search?: Resolver>; + searchableProperties?: Resolver, ParentType, ContextType>; slug?: Resolver; + submittableVersions?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; - uri?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PermalinkConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type SchemaVersionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PermalinkCreatePayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - permalink?: Resolver, ParentType, ContextType>; +export type SchemaVersionEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PermalinkDestroyPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - destroyed?: Resolver, ParentType, ContextType>; - destroyedId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type SchemaVersionOptionResolvers = { + identifier?: Resolver; + kind?: Resolver; + label?: Resolver; + name?: Resolver; + namespace?: Resolver; + schemaDefinition?: Resolver; + schemaVersion?: Resolver; + value?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PermalinkEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type SearchResultResolvers = { + entity?: Resolver; + id?: Resolver; + kind?: Resolver; + schemaVersion?: Resolver; + slug?: Resolver; + title?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PermalinkUpdatePayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - permalink?: Resolver, ParentType, ContextType>; +export type SearchResultConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PermalinkableResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; - canonicalPermalink?: Resolver, ParentType, ContextType>; - permalinks?: Resolver, ParentType, ContextType>; +export type SearchResultEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type PermissionGrantResolvers = { - allowed?: Resolver; - name?: Resolver; - path?: Resolver; - scope?: Resolver, ParentType, ContextType>; +export type SearchScopeResolvers = { + availableSchemaVersions?: Resolver, ParentType, ContextType>; + coreProperties?: Resolver, ParentType, ContextType>; + originType?: Resolver; + results?: Resolver>; + visibility?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PermissionGridResolvers = { - __resolveType: TypeResolveFn<'AssetPermissionGrid' | 'EntityPermissionGrid', ParentType, ContextType>; - allowedActions?: Resolver, ParentType, ContextType>; - permissions?: Resolver, ParentType, ContextType>; +export type SearchableResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item' | 'Ordering' | 'Query' | 'SchemaVersion', ParentType, ContextType>; + search?: Resolver>; }; -export type PersonContributorResolvers = { - affiliation?: Resolver, ParentType, ContextType>; - attributions?: Resolver>; - bio?: Resolver, ParentType, ContextType>; - collectionContributionCount?: Resolver; - collectionContributions?: Resolver>; - contributionCount?: Resolver; - createdAt?: Resolver; - email?: Resolver, ParentType, ContextType>; - familyName?: Resolver, ParentType, ContextType>; - givenName?: Resolver, ParentType, ContextType>; - harvestModificationStatus?: Resolver; - id?: Resolver; - identifier?: Resolver; - image?: Resolver; - imageMetadata?: Resolver, ParentType, ContextType>; - itemContributionCount?: Resolver; - itemContributions?: Resolver>; - kind?: Resolver; - legalName?: Resolver, ParentType, ContextType>; - links?: Resolver, ParentType, ContextType>; - location?: Resolver, ParentType, ContextType>; - name?: Resolver; - orcid?: Resolver, ParentType, ContextType>; - prefix?: Resolver, ParentType, ContextType>; - slug?: Resolver; - suffix?: Resolver, ParentType, ContextType>; - title?: Resolver, ParentType, ContextType>; - updatedAt?: Resolver; - url?: Resolver, ParentType, ContextType>; +export type SearchableCorePropertyResolvers = { + description?: Resolver, ParentType, ContextType>; + label?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type PreviewSlotPayloadResolvers = { - attributeErrors?: Resolver, ParentType, ContextType>; - clientMutationId?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; - slot?: Resolver, ParentType, ContextType>; - __isTypeOf?: IsTypeOfResolverFn; +export type SearchablePropertyResolvers = { + __resolveType: TypeResolveFn<'BooleanProperty' | 'DateProperty' | 'FloatProperty' | 'FullTextProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SearchableCoreProperty' | 'SelectProperty' | 'StringProperty' | 'TimestampProperty' | 'VariableDateProperty', ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + label?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; }; -export type QueriesAccessAndRolesResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - accessGrants?: Resolver>; - roles?: Resolver>; +export type SelectOptionResolvers = { + label?: Resolver; + value?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesContribResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - collectionContribution?: Resolver, ParentType, ContextType, RequireFields>; - contributionRoles?: Resolver>; - contributor?: Resolver, ParentType, ContextType, RequireFields>; - contributorLookup?: Resolver, ParentType, ContextType, RequireFields>; - contributors?: Resolver>; - itemContribution?: Resolver, ParentType, ContextType, RequireFields>; +export type SelectPropertyResolvers = { + array?: Resolver; + defaultSelection?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + options?: Resolver, ParentType, ContextType>; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; + selection?: Resolver, ParentType, ContextType>; + submittable?: Resolver; + type?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesControlledVocabularyResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - controlledVocabularies?: Resolver>; - controlledVocabulary?: Resolver, ParentType, ContextType, RequireFields>; +export type SettingsPermissionGridResolvers = { + allowedActions?: Resolver, ParentType, ContextType>; + permissions?: Resolver, ParentType, ContextType>; + update?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesControlledVocabularySourceResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - controlledVocabularySource?: Resolver, ParentType, ContextType, RequireFields>; - controlledVocabularySources?: Resolver>; +export type SiteFooterResolvers = { + copyrightStatement?: Resolver; + description?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesEntitiesResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - asset?: Resolver, ParentType, ContextType, RequireFields>; - collection?: Resolver, ParentType, ContextType, RequireFields>; - communities?: Resolver>; - community?: Resolver, ParentType, ContextType, RequireFields>; - communityByTitle?: Resolver, ParentType, ContextType, RequireFields>; - item?: Resolver, ParentType, ContextType, RequireFields>; +export type SiteLogoAttachmentResolvers = { + alt?: Resolver, ParentType, ContextType>; + metadata?: Resolver, ParentType, ContextType>; + original?: Resolver; + originalFilename?: Resolver, ParentType, ContextType>; + purpose?: Resolver; + sansText?: Resolver; + storage?: Resolver, ParentType, ContextType>; + withText?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesHarvestAttemptResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - harvestAttempt?: Resolver, ParentType, ContextType, RequireFields>; - harvestAttempts?: Resolver>; +export type SiteSettingsResolvers = { + footer?: Resolver; + installationHomePageCopy?: Resolver; + installationName?: Resolver; + logoMode?: Resolver; + providerName?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesHarvestExampleResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - harvestExamples?: Resolver, ParentType, ContextType, RequireFields>; +export interface SlugScalarConfig extends GraphQLScalarTypeConfig { + name: 'Slug'; +} + +export type SluggableResolvers = { + __resolveType: TypeResolveFn<'Announcement' | 'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo' | 'BlurbTemplateDefinition' | 'BlurbTemplateInstance' | 'Collection' | 'CollectionAttribution' | 'CollectionContribution' | 'Community' | 'ContextualPermission' | 'ContributionRoleConfiguration' | 'ContributorCollectionAttribution' | 'ContributorItemAttribution' | 'ContributorListTemplateDefinition' | 'ContributorListTemplateInstance' | 'ContributorUserLink' | 'ControlledVocabulary' | 'ControlledVocabularyItem' | 'ControlledVocabularySource' | 'DepositorAgreement' | 'DepositorAgreementTransition' | 'DepositorRequest' | 'DepositorRequestTransition' | 'DescendantListTemplateDefinition' | 'DescendantListTemplateInstance' | 'DetailTemplateDefinition' | 'DetailTemplateInstance' | 'EntityLink' | 'HarvestAttempt' | 'HarvestAttemptEntityStatus' | 'HarvestAttemptRecordStatus' | 'HarvestEntity' | 'HarvestError' | 'HarvestMapping' | 'HarvestMessage' | 'HarvestMetadataMapping' | 'HarvestRecord' | 'HarvestSet' | 'HarvestSource' | 'HeroLayoutDefinition' | 'HeroLayoutInstance' | 'HeroTemplateDefinition' | 'HeroTemplateInstance' | 'Item' | 'ItemAttribution' | 'ItemContribution' | 'LinkListTemplateDefinition' | 'LinkListTemplateInstance' | 'ListItemLayoutDefinition' | 'ListItemLayoutInstance' | 'ListItemTemplateDefinition' | 'ListItemTemplateInstance' | 'MainLayoutDefinition' | 'MainLayoutInstance' | 'MetadataLayoutDefinition' | 'MetadataLayoutInstance' | 'MetadataTemplateDefinition' | 'MetadataTemplateInstance' | 'NavigationLayoutDefinition' | 'NavigationLayoutInstance' | 'NavigationTemplateDefinition' | 'NavigationTemplateInstance' | 'Ordering' | 'OrderingEntry' | 'OrderingTemplateDefinition' | 'OrderingTemplateInstance' | 'OrganizationContributor' | 'PageListTemplateDefinition' | 'PageListTemplateInstance' | 'Permalink' | 'PersonContributor' | 'Role' | 'SchemaDefinition' | 'SchemaVersion' | 'SearchResult' | 'Submission' | 'SubmissionBatchPublication' | 'SubmissionBatchPublicationTransition' | 'SubmissionComment' | 'SubmissionDepositTarget' | 'SubmissionPublication' | 'SubmissionPublicationTransition' | 'SubmissionReview' | 'SubmissionReviewTransition' | 'SubmissionTarget' | 'SubmissionTargetReviewer' | 'SubmissionTargetTransition' | 'SubmissionTransition' | 'SupplementaryLayoutDefinition' | 'SupplementaryLayoutInstance' | 'SupplementaryTemplateDefinition' | 'SupplementaryTemplateInstance' | 'TemplateInstanceSibling' | 'User' | 'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroup' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; + slug?: Resolver; }; -export type QueriesHarvestMappingResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - harvestMapping?: Resolver, ParentType, ContextType, RequireFields>; - harvestMappings?: Resolver>; +export type StandardMutationPayloadResolvers = { + __resolveType: TypeResolveFn<'AlterSchemaVersionPayload' | 'ApplySchemaPropertiesPayload' | 'ContributorClaimPayload' | 'ContributorMergePayload' | 'ContributorUserLinkDestroyPayload' | 'ContributorUserLinkUpsertPayload' | 'ControlledVocabularyDestroyPayload' | 'ControlledVocabularySourceUpdatePayload' | 'ControlledVocabularyUpsertPayload' | 'CreateAnnouncementPayload' | 'CreateAssetPayload' | 'CreateCollectionPayload' | 'CreateCommunityPayload' | 'CreateItemPayload' | 'CreateOrderingPayload' | 'CreateOrganizationContributorPayload' | 'CreatePagePayload' | 'CreatePersonContributorPayload' | 'CreateRolePayload' | 'DepositorAgreementAcceptPayload' | 'DepositorAgreementResetAllPayload' | 'DepositorAgreementResetPayload' | 'DepositorRequestChangeStatePayload' | 'DepositorRequestCreatePayload' | 'DestroyAnnouncementPayload' | 'DestroyAssetPayload' | 'DestroyCollectionPayload' | 'DestroyCommunityPayload' | 'DestroyContributionPayload' | 'DestroyContributorPayload' | 'DestroyEntityLinkPayload' | 'DestroyItemPayload' | 'DestroyOrderingPayload' | 'DestroyPagePayload' | 'EntityPurgePayload' | 'FrontendCacheRevalidateEntityPayload' | 'FrontendCacheRevalidateInstancePayload' | 'GrantAccessPayload' | 'HarvestAttemptFromMappingPayload' | 'HarvestAttemptFromSourcePayload' | 'HarvestAttemptPruneEntitiesPayload' | 'HarvestMappingCreatePayload' | 'HarvestMappingDestroyPayload' | 'HarvestMappingUpdatePayload' | 'HarvestMetadataMappingCreatePayload' | 'HarvestMetadataMappingDestroyPayload' | 'HarvestSourceCreatePayload' | 'HarvestSourceDestroyPayload' | 'HarvestSourcePruneEntitiesPayload' | 'HarvestSourceUpdatePayload' | 'LinkEntityPayload' | 'PermalinkCreatePayload' | 'PermalinkDestroyPayload' | 'PermalinkUpdatePayload' | 'PreviewSlotPayload' | 'RenderLayoutsPayload' | 'ReparentEntityPayload' | 'ResetOrderingPayload' | 'RevokeAccessPayload' | 'SubmissionBatchPublishPayload' | 'SubmissionChangeStatePayload' | 'SubmissionCommentCreatePayload' | 'SubmissionCommentDestroyPayload' | 'SubmissionCommentUpdatePayload' | 'SubmissionCreatePayload' | 'SubmissionLeaveReviewPayload' | 'SubmissionPublishPayload' | 'SubmissionRequestReviewPayload' | 'SubmissionTargetClosePayload' | 'SubmissionTargetConfigurePayload' | 'SubmissionTargetOpenPayload' | 'SubmissionTargetReviewerCreatePayload' | 'SubmissionTargetReviewerDestroyPayload' | 'UpdateAnnouncementPayload' | 'UpdateAssetAttachmentPayload' | 'UpdateAssetPayload' | 'UpdateCollectionPayload' | 'UpdateCommunityPayload' | 'UpdateContributionPayload' | 'UpdateGlobalConfigurationPayload' | 'UpdateItemPayload' | 'UpdateOrderingPayload' | 'UpdateOrganizationContributorPayload' | 'UpdatePagePayload' | 'UpdatePersonContributorPayload' | 'UpdateRolePayload' | 'UpdateUserPayload' | 'UpdateViewerSettingsPayload' | 'UpsertContributionPayload' | 'UserResetPasswordPayload', ParentType, ContextType>; + attributeErrors?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; }; -export type QueriesHarvestMessageResolvers = { - __resolveType: TypeResolveFn<'HarvestAttempt' | 'HarvestEntity' | 'HarvestMapping' | 'HarvestRecord' | 'HarvestSource' | 'Query', ParentType, ContextType>; - harvestMessages?: Resolver>; +export type StaticOrderingPathResolvers = { + description?: Resolver, ParentType, ContextType>; + grouping?: Resolver; + label?: Resolver; + labelPrefix?: Resolver, ParentType, ContextType>; + path?: Resolver; + type?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesHarvestRecordResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - harvestRecord?: Resolver, ParentType, ContextType, RequireFields>; - harvestRecords?: Resolver>; +export type StringPropertyResolvers = { + array?: Resolver; + content?: Resolver, ParentType, ContextType>; + default?: Resolver, ParentType, ContextType>; + description?: Resolver, ParentType, ContextType>; + fullPath?: Resolver; + function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; + isWide?: Resolver; + kind?: Resolver; + label?: Resolver; + orderable?: Resolver; + path?: Resolver; + required?: Resolver; + searchOperators?: Resolver, ParentType, ContextType>; + searchPath?: Resolver; + submittable?: Resolver; + type?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesHarvestSetResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - harvestSet?: Resolver, ParentType, ContextType, RequireFields>; +export type SubmissionResolvers = { + agreementAcceptedAt?: Resolver, ParentType, ContextType>; + availableTransitions?: Resolver, ParentType, ContextType>; + canAlterSchemaVersion?: Resolver; + canComment?: Resolver; + canDestroy?: Resolver; + canMigrate?: Resolver; + canPublish?: Resolver; + canRequestReview?: Resolver; + canReview?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + currentStatus?: Resolver; + entity?: Resolver, ParentType, ContextType>; + id?: Resolver; + slug?: Resolver; + state?: Resolver; + submissionTarget?: Resolver, ParentType, ContextType>; + transitions?: Resolver>; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesHarvestSourceResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - harvestSource?: Resolver, ParentType, ContextType, RequireFields>; - harvestSources?: Resolver>; +export type SubmissionBatchPublicationResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + publications?: Resolver, ParentType, ContextType>; + publicationsCount?: Resolver; + slug?: Resolver; + state?: Resolver; + submissionTarget?: Resolver; + transitions?: Resolver>; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesPermalinkResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - permalink?: Resolver, ParentType, ContextType, RequireFields>; - permalinkByUri?: Resolver, ParentType, ContextType, RequireFields>; - permalinks?: Resolver>; +export type SubmissionBatchPublicationTransitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + fromState?: Resolver, ParentType, ContextType>; + id?: Resolver; + mostRecent?: Resolver; + slug?: Resolver; + toState?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesSchemasResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - orderingPaths?: Resolver, ParentType, ContextType, Partial>; - schemaDefinition?: Resolver, ParentType, ContextType, RequireFields>; - schemaDefinitions?: Resolver>; - schemaVersion?: Resolver, ParentType, ContextType, RequireFields>; - schemaVersionOptions?: Resolver, ParentType, ContextType, RequireFields>; - schemaVersions?: Resolver>; +export type SubmissionBatchPublicationTransitionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesSystemResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - analytics?: Resolver; - globalConfiguration?: Resolver; - systemInfo?: Resolver; - user?: Resolver, ParentType, ContextType, RequireFields>; - users?: Resolver>; - viewer?: Resolver; +export type SubmissionBatchPublicationTransitionEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueriesUserResolvers = { - __resolveType: TypeResolveFn<'Query', ParentType, ContextType>; - user?: Resolver, ParentType, ContextType, RequireFields>; - users?: Resolver>; - viewer?: Resolver; +export type SubmissionBatchPublishPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submissionBatchPublication?: Resolver, ParentType, ContextType>; + submissionTarget?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type QueryResolvers = { - accessGrants?: Resolver>; - analytics?: Resolver; - asset?: Resolver, ParentType, ContextType, RequireFields>; - collection?: Resolver, ParentType, ContextType, RequireFields>; - collectionContribution?: Resolver, ParentType, ContextType, RequireFields>; - communities?: Resolver>; - community?: Resolver, ParentType, ContextType, RequireFields>; - communityByTitle?: Resolver, ParentType, ContextType, RequireFields>; - contributionRoles?: Resolver>; - contributor?: Resolver, ParentType, ContextType, RequireFields>; - contributorLookup?: Resolver, ParentType, ContextType, RequireFields>; - contributors?: Resolver>; - controlledVocabularies?: Resolver>; - controlledVocabulary?: Resolver, ParentType, ContextType, RequireFields>; - controlledVocabularySource?: Resolver, ParentType, ContextType, RequireFields>; - controlledVocabularySources?: Resolver>; - globalConfiguration?: Resolver; - harvestAttempt?: Resolver, ParentType, ContextType, RequireFields>; - harvestAttempts?: Resolver>; - harvestExamples?: Resolver, ParentType, ContextType, RequireFields>; - harvestMapping?: Resolver, ParentType, ContextType, RequireFields>; - harvestMappings?: Resolver>; - harvestMessages?: Resolver>; - harvestRecord?: Resolver, ParentType, ContextType, RequireFields>; - harvestRecords?: Resolver>; - harvestSet?: Resolver, ParentType, ContextType, RequireFields>; - harvestSource?: Resolver, ParentType, ContextType, RequireFields>; - harvestSources?: Resolver>; - item?: Resolver, ParentType, ContextType, RequireFields>; - itemContribution?: Resolver, ParentType, ContextType, RequireFields>; - node?: Resolver, ParentType, ContextType, RequireFields>; - nodes?: Resolver>, ParentType, ContextType, RequireFields>; - orderingPaths?: Resolver, ParentType, ContextType, Partial>; - permalink?: Resolver, ParentType, ContextType, RequireFields>; - permalinkByUri?: Resolver, ParentType, ContextType, RequireFields>; - permalinks?: Resolver>; - roles?: Resolver>; - schemaDefinition?: Resolver, ParentType, ContextType, RequireFields>; - schemaDefinitions?: Resolver>; - schemaVersion?: Resolver, ParentType, ContextType, RequireFields>; - schemaVersionOptions?: Resolver, ParentType, ContextType, RequireFields>; - schemaVersions?: Resolver>; - search?: Resolver>; - systemInfo?: Resolver; - user?: Resolver, ParentType, ContextType, RequireFields>; - users?: Resolver>; - viewer?: Resolver; +export type SubmissionChangeStatePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submission?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type ReferencesEntityVisibilityResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; - currentlyHidden?: Resolver; - currentlyVisible?: Resolver; - hidden?: Resolver; - hiddenAsOf?: Resolver>; - hiddenAt?: Resolver, ParentType, ContextType>; - visibility?: Resolver; - visible?: Resolver; - visibleAfterAt?: Resolver, ParentType, ContextType>; - visibleAsOf?: Resolver>; - visibleUntilAt?: Resolver, ParentType, ContextType>; +export type SubmissionCommentResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + content?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + role?: Resolver; + slug?: Resolver; + submission?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type ReferencesGlobalEntityDatesResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Item', ParentType, ContextType>; - published?: Resolver; +export type SubmissionCommentConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type RenderLayoutsPayloadResolvers = { +export type SubmissionCommentCreatePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - entity?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; + submissionComment?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type RenderableResolvers = { - __resolveType: TypeResolveFn<'BlurbTemplateInstance' | 'ContributorListTemplateInstance' | 'DescendantListTemplateInstance' | 'DetailTemplateInstance' | 'HeroLayoutInstance' | 'HeroTemplateInstance' | 'LinkListTemplateInstance' | 'ListItemLayoutInstance' | 'ListItemTemplateInstance' | 'MainLayoutInstance' | 'MetadataLayoutInstance' | 'MetadataTemplateInstance' | 'NavigationLayoutInstance' | 'NavigationTemplateInstance' | 'OrderingTemplateInstance' | 'PageListTemplateInstance' | 'SupplementaryLayoutInstance' | 'SupplementaryTemplateInstance', ParentType, ContextType>; - lastRenderedAt?: Resolver, ParentType, ContextType>; -}; - -export type ReparentEntityPayloadResolvers = { +export type SubmissionCommentDestroyPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; - child?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ResetOrderingPayloadResolvers = { +export type SubmissionCommentEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type SubmissionCommentUpdatePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; - ordering?: Resolver, ParentType, ContextType>; + submissionComment?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type RevokeAccessPayloadResolvers = { +export type SubmissionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type SubmissionCreatePayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; - entity?: Resolver, ParentType, ContextType>; errors?: Resolver, ParentType, ContextType>; globalErrors?: Resolver, ParentType, ContextType>; haltCode?: Resolver, ParentType, ContextType>; - revoked?: Resolver, ParentType, ContextType>; + submission?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type RoleResolvers = { - accessControlList?: Resolver; - allowedActions?: Resolver, ParentType, ContextType>; +export type SubmissionDepositTargetResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - customPriority?: Resolver, ParentType, ContextType>; - effectiveAccess?: Resolver; - globalAccessControlList?: Resolver; - globalAllowedActions?: Resolver, ParentType, ContextType>; + createdOn?: Resolver; + depositMode?: Resolver; + entity?: Resolver; id?: Resolver; - identifier?: Resolver, ParentType, ContextType>; - kind?: Resolver; - name?: Resolver; - permissions?: Resolver, ParentType, ContextType>; - primacy?: Resolver; - priority?: Resolver; slug?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type RoleConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; - pageInfo?: Resolver; +export type SubmissionEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type RoleEdgeResolvers = { - cursor?: Resolver; - node?: Resolver; +export type SubmissionLeaveReviewPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submission?: Resolver, ParentType, ContextType>; + submissionReview?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type ScalarPropertyResolvers = { - __resolveType: TypeResolveFn<'AssetProperty' | 'AssetsProperty' | 'BooleanProperty' | 'ContributorProperty' | 'ContributorsProperty' | 'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty' | 'DateProperty' | 'EmailProperty' | 'EntitiesProperty' | 'EntityProperty' | 'FloatProperty' | 'FullTextProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SelectProperty' | 'StringProperty' | 'TagsProperty' | 'TimestampProperty' | 'URLProperty' | 'UnknownProperty' | 'VariableDateProperty', ParentType, ContextType>; - array?: Resolver; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - type?: Resolver; +export type SubmissionPublicationResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + slug?: Resolver; + state?: Resolver; + submission?: Resolver; + transitions?: Resolver>; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export interface SchemaComponentScalarConfig extends GraphQLScalarTypeConfig { - name: 'SchemaComponent'; -} - -export type SchemaDefinitionResolvers = { +export type SubmissionPublicationTransitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - declaration?: Resolver; + createdOn?: Resolver; + fromState?: Resolver, ParentType, ContextType>; id?: Resolver; - identifier?: Resolver; - kind?: Resolver; - name?: Resolver; - namespace?: Resolver; + mostRecent?: Resolver; slug?: Resolver; + toState?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaDefinitionConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type SubmissionPublicationTransitionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaDefinitionEdgeResolvers = { +export type SubmissionPublicationTransitionEdgeResolvers = { cursor?: Resolver; - node?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; -}; - -export type SchemaInstanceResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; - availableEntitiesFor?: Resolver, ParentType, ContextType, RequireFields>; - schemaInstanceContext?: Resolver; - schemaProperties?: Resolver, ParentType, ContextType>; - schemaProperty?: Resolver, ParentType, ContextType, RequireFields>; -}; - -export type SchemaInstanceContextResolvers = { - assets?: Resolver, ParentType, ContextType>; - contributors?: Resolver, ParentType, ContextType>; - defaultValues?: Resolver; - entityId?: Resolver; - fieldValues?: Resolver; - schemaVersionSlug?: Resolver; - validity?: Resolver, ParentType, ContextType>; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaInstanceValidationResolvers = { - errors?: Resolver, ParentType, ContextType>; - valid?: Resolver; - validatedAt?: Resolver; +export type SubmissionPublishPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + entity?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submission?: Resolver, ParentType, ContextType>; + submissionPublication?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaOrderingPathResolvers = { - description?: Resolver, ParentType, ContextType>; - grouping?: Resolver; - label?: Resolver; - labelPrefix?: Resolver, ParentType, ContextType>; - path?: Resolver; - schemaVersion?: Resolver; - type?: Resolver; +export type SubmissionRequestReviewPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submission?: Resolver, ParentType, ContextType>; + submissionReview?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaPropertyResolvers = { - __resolveType: TypeResolveFn<'AssetProperty' | 'AssetsProperty' | 'BooleanProperty' | 'ContributorProperty' | 'ContributorsProperty' | 'ControlledVocabulariesProperty' | 'ControlledVocabularyProperty' | 'DateProperty' | 'EmailProperty' | 'EntitiesProperty' | 'EntityProperty' | 'FloatProperty' | 'FullTextProperty' | 'GroupProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SelectProperty' | 'StringProperty' | 'TagsProperty' | 'TimestampProperty' | 'URLProperty' | 'UnknownProperty' | 'VariableDateProperty', ParentType, ContextType>; - array?: Resolver; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - kind?: Resolver; - orderable?: Resolver; - path?: Resolver; - type?: Resolver; +export type SubmissionReviewResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + comment?: Resolver, ParentType, ContextType>; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + requestedAt?: Resolver, ParentType, ContextType>; + slug?: Resolver; + state?: Resolver; + submission?: Resolver; + transitions?: Resolver>; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export interface SchemaPropertyPathScalarConfig extends GraphQLScalarTypeConfig { - name: 'SchemaPropertyPath'; -} - -export type SchemaRenderDefinitionResolvers = { - listMode?: Resolver; +export type SubmissionReviewConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaValueErrorResolvers = { - base?: Resolver; - hint?: Resolver; - message?: Resolver; - metadata?: Resolver, ParentType, ContextType>; - path?: Resolver; +export type SubmissionReviewEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaVersionResolvers = { +export type SubmissionReviewTransitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; - declaration?: Resolver; - enforcedChildDeclarations?: Resolver, ParentType, ContextType>; - enforcedChildKinds?: Resolver, ParentType, ContextType>; - enforcedChildVersions?: Resolver, ParentType, ContextType>; - enforcedParentDeclarations?: Resolver, ParentType, ContextType>; - enforcedParentKinds?: Resolver, ParentType, ContextType>; - enforcedParentVersions?: Resolver, ParentType, ContextType>; - enforcesChildren?: Resolver; - enforcesParent?: Resolver; + createdOn?: Resolver; + fromState?: Resolver, ParentType, ContextType>; id?: Resolver; - identifier?: Resolver; - kind?: Resolver; - name?: Resolver; - namespace?: Resolver; - number?: Resolver; - render?: Resolver; - schemaDefinition?: Resolver; - schemaProperties?: Resolver, ParentType, ContextType>; - search?: Resolver>; - searchableProperties?: Resolver, ParentType, ContextType>; + mostRecent?: Resolver; slug?: Resolver; + toState?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaVersionConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type SubmissionReviewTransitionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaVersionEdgeResolvers = { +export type SubmissionReviewTransitionEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type SubmissionStatusResolvers = { + canTransition?: Resolver; + current?: Resolver; + fromState?: Resolver; + lockedState?: Resolver; + mutableState?: Resolver; + toState?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type SubmissionTargetResolvers = { + agreementContent?: Resolver, ParentType, ContextType>; + agreementContentWithFallback?: Resolver, ParentType, ContextType>; + agreementRequired?: Resolver; + allowedChildKinds?: Resolver, ParentType, ContextType>; + autoApproveDepositors?: Resolver; + canDeposit?: Resolver; + canDestroy?: Resolver; + canManageReviewers?: Resolver; + canPublish?: Resolver; + canRequestDepositAccess?: Resolver; + canResetAllAgreements?: Resolver; + canReview?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + depositMode?: Resolver; + depositTargets?: Resolver, ParentType, ContextType>; + depositorAgreement?: Resolver, ParentType, ContextType>; + description?: Resolver; + entity?: Resolver; + id?: Resolver; + reviewers?: Resolver>; + schemaVersions?: Resolver, ParentType, ContextType>; + slug?: Resolver; + state?: Resolver; + transitions?: Resolver>; + updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SchemaVersionOptionResolvers = { - identifier?: Resolver; - kind?: Resolver; - label?: Resolver; - name?: Resolver; - namespace?: Resolver; - schemaDefinition?: Resolver; - schemaVersion?: Resolver; - value?: Resolver; +export type SubmissionTargetClosePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submissionTarget?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type SearchResultResolvers = { - entity?: Resolver; - id?: Resolver; - kind?: Resolver; - schemaVersion?: Resolver; - slug?: Resolver; - title?: Resolver; +export type SubmissionTargetConfigurePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submissionTarget?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type SearchResultConnectionResolvers = { - edges?: Resolver, ParentType, ContextType>; - nodes?: Resolver, ParentType, ContextType>; +export type SubmissionTargetConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SearchResultEdgeResolvers = { +export type SubmissionTargetDescriptionResolvers = { + instructions?: Resolver; + internal?: Resolver; + sections?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type SubmissionTargetEdgeResolvers = { cursor?: Resolver; - node?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SearchScopeResolvers = { - availableSchemaVersions?: Resolver, ParentType, ContextType>; - coreProperties?: Resolver, ParentType, ContextType>; - originType?: Resolver; - results?: Resolver>; - visibility?: Resolver; +export type SubmissionTargetOpenPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submissionTarget?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type SearchableResolvers = { - __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item' | 'Ordering' | 'Query' | 'SchemaVersion', ParentType, ContextType>; - search?: Resolver>; +export type SubmissionTargetReviewerResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + id?: Resolver; + slug?: Resolver; + submissionTarget?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type SearchableCorePropertyResolvers = { - description?: Resolver, ParentType, ContextType>; - label?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; +export type SubmissionTargetReviewerConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SearchablePropertyResolvers = { - __resolveType: TypeResolveFn<'BooleanProperty' | 'DateProperty' | 'FloatProperty' | 'FullTextProperty' | 'IntegerProperty' | 'MarkdownProperty' | 'MultiselectProperty' | 'SearchableCoreProperty' | 'SelectProperty' | 'StringProperty' | 'TimestampProperty' | 'VariableDateProperty', ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - label?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; +export type SubmissionTargetReviewerCreatePayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; + submissionTargetReviewer?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type SelectOptionResolvers = { - label?: Resolver; - value?: Resolver; +export type SubmissionTargetReviewerDestroyPayloadResolvers = { + attributeErrors?: Resolver, ParentType, ContextType>; + clientMutationId?: Resolver, ParentType, ContextType>; + destroyed?: Resolver, ParentType, ContextType>; + destroyedId?: Resolver, ParentType, ContextType>; + errors?: Resolver, ParentType, ContextType>; + globalErrors?: Resolver, ParentType, ContextType>; + haltCode?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type SelectPropertyResolvers = { - array?: Resolver; - defaultSelection?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - options?: Resolver, ParentType, ContextType>; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; - selection?: Resolver, ParentType, ContextType>; - type?: Resolver; +export type SubmissionTargetReviewerEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SiteFooterResolvers = { - copyrightStatement?: Resolver; - description?: Resolver; +export type SubmissionTargetSectionResolvers = { + content?: Resolver; + identifier?: Resolver; + name?: Resolver; + position?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SiteLogoAttachmentResolvers = { - alt?: Resolver, ParentType, ContextType>; - metadata?: Resolver, ParentType, ContextType>; - original?: Resolver; - originalFilename?: Resolver, ParentType, ContextType>; - purpose?: Resolver; - sansText?: Resolver; - storage?: Resolver, ParentType, ContextType>; - withText?: Resolver; +export type SubmissionTargetTransitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + fromState?: Resolver, ParentType, ContextType>; + id?: Resolver; + mostRecent?: Resolver; + slug?: Resolver; + toState?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type SiteSettingsResolvers = { - footer?: Resolver; - installationHomePageCopy?: Resolver; - installationName?: Resolver; - logoMode?: Resolver; - providerName?: Resolver; +export type SubmissionTargetTransitionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export interface SlugScalarConfig extends GraphQLScalarTypeConfig { - name: 'Slug'; -} +export type SubmissionTargetTransitionEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; -export type SluggableResolvers = { - __resolveType: TypeResolveFn<'Announcement' | 'AssetAudio' | 'AssetDocument' | 'AssetImage' | 'AssetPDF' | 'AssetUnknown' | 'AssetVideo' | 'BlurbTemplateDefinition' | 'BlurbTemplateInstance' | 'Collection' | 'CollectionAttribution' | 'CollectionContribution' | 'Community' | 'ContextualPermission' | 'ContributionRoleConfiguration' | 'ContributorCollectionAttribution' | 'ContributorItemAttribution' | 'ContributorListTemplateDefinition' | 'ContributorListTemplateInstance' | 'ControlledVocabulary' | 'ControlledVocabularyItem' | 'ControlledVocabularySource' | 'DescendantListTemplateDefinition' | 'DescendantListTemplateInstance' | 'DetailTemplateDefinition' | 'DetailTemplateInstance' | 'EntityLink' | 'HarvestAttempt' | 'HarvestAttemptEntityStatus' | 'HarvestAttemptRecordStatus' | 'HarvestEntity' | 'HarvestError' | 'HarvestMapping' | 'HarvestMessage' | 'HarvestMetadataMapping' | 'HarvestRecord' | 'HarvestSet' | 'HarvestSource' | 'HeroLayoutDefinition' | 'HeroLayoutInstance' | 'HeroTemplateDefinition' | 'HeroTemplateInstance' | 'Item' | 'ItemAttribution' | 'ItemContribution' | 'LinkListTemplateDefinition' | 'LinkListTemplateInstance' | 'ListItemLayoutDefinition' | 'ListItemLayoutInstance' | 'ListItemTemplateDefinition' | 'ListItemTemplateInstance' | 'MainLayoutDefinition' | 'MainLayoutInstance' | 'MetadataLayoutDefinition' | 'MetadataLayoutInstance' | 'MetadataTemplateDefinition' | 'MetadataTemplateInstance' | 'NavigationLayoutDefinition' | 'NavigationLayoutInstance' | 'NavigationTemplateDefinition' | 'NavigationTemplateInstance' | 'Ordering' | 'OrderingEntry' | 'OrderingTemplateDefinition' | 'OrderingTemplateInstance' | 'OrganizationContributor' | 'PageListTemplateDefinition' | 'PageListTemplateInstance' | 'Permalink' | 'PersonContributor' | 'Role' | 'SchemaDefinition' | 'SchemaVersion' | 'SearchResult' | 'SupplementaryLayoutDefinition' | 'SupplementaryLayoutInstance' | 'SupplementaryTemplateDefinition' | 'SupplementaryTemplateInstance' | 'TemplateInstanceSibling' | 'User' | 'UserCollectionAccessGrant' | 'UserCommunityAccessGrant' | 'UserGroup' | 'UserGroupCollectionAccessGrant' | 'UserGroupCommunityAccessGrant' | 'UserGroupItemAccessGrant' | 'UserItemAccessGrant', ParentType, ContextType>; +export type SubmissionTransitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; + createdAt?: Resolver; + createdOn?: Resolver; + fromState?: Resolver, ParentType, ContextType>; + id?: Resolver; + mostRecent?: Resolver; slug?: Resolver; + toState?: Resolver; + updatedAt?: Resolver; + updatedOn?: Resolver; + user?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; }; -export type StandardMutationPayloadResolvers = { - __resolveType: TypeResolveFn<'AlterSchemaVersionPayload' | 'ApplySchemaPropertiesPayload' | 'ControlledVocabularyDestroyPayload' | 'ControlledVocabularySourceUpdatePayload' | 'ControlledVocabularyUpsertPayload' | 'CreateAnnouncementPayload' | 'CreateAssetPayload' | 'CreateCollectionPayload' | 'CreateCommunityPayload' | 'CreateItemPayload' | 'CreateOrderingPayload' | 'CreateOrganizationContributorPayload' | 'CreatePagePayload' | 'CreatePersonContributorPayload' | 'CreateRolePayload' | 'DestroyAnnouncementPayload' | 'DestroyAssetPayload' | 'DestroyCollectionPayload' | 'DestroyCommunityPayload' | 'DestroyContributionPayload' | 'DestroyContributorPayload' | 'DestroyEntityLinkPayload' | 'DestroyItemPayload' | 'DestroyOrderingPayload' | 'DestroyPagePayload' | 'EntityPurgePayload' | 'FrontendCacheRevalidateEntityPayload' | 'FrontendCacheRevalidateInstancePayload' | 'GrantAccessPayload' | 'HarvestAttemptFromMappingPayload' | 'HarvestAttemptFromSourcePayload' | 'HarvestAttemptPruneEntitiesPayload' | 'HarvestMappingCreatePayload' | 'HarvestMappingDestroyPayload' | 'HarvestMappingUpdatePayload' | 'HarvestMetadataMappingCreatePayload' | 'HarvestMetadataMappingDestroyPayload' | 'HarvestSourceCreatePayload' | 'HarvestSourceDestroyPayload' | 'HarvestSourcePruneEntitiesPayload' | 'HarvestSourceUpdatePayload' | 'LinkEntityPayload' | 'PermalinkCreatePayload' | 'PermalinkDestroyPayload' | 'PermalinkUpdatePayload' | 'PreviewSlotPayload' | 'RenderLayoutsPayload' | 'ReparentEntityPayload' | 'ResetOrderingPayload' | 'RevokeAccessPayload' | 'UpdateAnnouncementPayload' | 'UpdateAssetAttachmentPayload' | 'UpdateAssetPayload' | 'UpdateCollectionPayload' | 'UpdateCommunityPayload' | 'UpdateContributionPayload' | 'UpdateGlobalConfigurationPayload' | 'UpdateItemPayload' | 'UpdateOrderingPayload' | 'UpdateOrganizationContributorPayload' | 'UpdatePagePayload' | 'UpdatePersonContributorPayload' | 'UpdateRolePayload' | 'UpdateUserPayload' | 'UpdateViewerSettingsPayload' | 'UpsertContributionPayload' | 'UserResetPasswordPayload', ParentType, ContextType>; - attributeErrors?: Resolver, ParentType, ContextType>; - errors?: Resolver, ParentType, ContextType>; - globalErrors?: Resolver, ParentType, ContextType>; - haltCode?: Resolver, ParentType, ContextType>; +export type SubmissionTransitionConnectionResolvers = { + edges?: Resolver, ParentType, ContextType>; + nodes?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; -export type StaticOrderingPathResolvers = { - description?: Resolver, ParentType, ContextType>; - grouping?: Resolver; - label?: Resolver; - labelPrefix?: Resolver, ParentType, ContextType>; - path?: Resolver; - type?: Resolver; +export type SubmissionTransitionEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type StringPropertyResolvers = { - array?: Resolver; - content?: Resolver, ParentType, ContextType>; - default?: Resolver, ParentType, ContextType>; - description?: Resolver, ParentType, ContextType>; - fullPath?: Resolver; - function?: Resolver; - isWide?: Resolver; - kind?: Resolver; - label?: Resolver; - orderable?: Resolver; - path?: Resolver; - required?: Resolver; - searchOperators?: Resolver, ParentType, ContextType>; - searchPath?: Resolver; - type?: Resolver; - __isTypeOf?: IsTypeOfResolverFn; +export type SubmittableResolvers = { + __resolveType: TypeResolveFn<'Collection' | 'Community' | 'Item', ParentType, ContextType>; + canDeposit?: Resolver; + canReview?: Resolver; + submissionStatus?: Resolver; + submissionTarget?: Resolver, ParentType, ContextType>; }; export type SupplementaryLayoutDefinitionResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; id?: Resolver; layoutKind?: Resolver; slug?: Resolver; template?: Resolver, ParentType, ContextType>; templates?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; export type SupplementaryLayoutInstanceResolvers = { allHidden?: Resolver; allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; entity?: Resolver; id?: Resolver; lastRenderedAt?: Resolver, ParentType, ContextType>; @@ -27437,18 +36591,23 @@ export type SupplementaryLayoutInstanceResolvers, ParentType, ContextType>; templates?: Resolver, ParentType, ContextType>; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; export type SupplementaryTemplateDefinitionResolvers = { background?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; id?: Resolver; layoutKind?: Resolver; slots?: Resolver; slug?: Resolver; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; @@ -27460,7 +36619,10 @@ export type SupplementaryTemplateDefinitionSlotsResolvers = { allSlotsEmpty?: Resolver; + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; definition?: Resolver; entity?: Resolver; hidden?: Resolver; @@ -27473,6 +36635,7 @@ export type SupplementaryTemplateInstanceResolvers; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; @@ -27492,12 +36655,14 @@ export type TagsPropertyResolvers, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; orderable?: Resolver; path?: Resolver; required?: Resolver; + submittable?: Resolver; tags?: Resolver, ParentType, ContextType>; type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; @@ -27577,7 +36742,10 @@ export type TemplateInstanceResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; dark?: Resolver; hidden?: Resolver; id?: Resolver; @@ -27587,6 +36755,7 @@ export type TemplateInstanceSiblingResolvers; templateKind?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; width?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; @@ -27678,6 +36847,7 @@ export type TimestampPropertyResolvers, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; @@ -27686,6 +36856,7 @@ export type TimestampPropertyResolvers; searchOperators?: Resolver, ParentType, ContextType>; searchPath?: Resolver; + submittable?: Resolver; timestamp?: Resolver, ParentType, ContextType>; type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; @@ -27696,12 +36867,14 @@ export type UrlPropertyResolvers, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; orderable?: Resolver; path?: Resolver; required?: Resolver; + submittable?: Resolver; type?: Resolver; url?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; @@ -27720,12 +36893,14 @@ export type UnknownPropertyResolvers, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; orderable?: Resolver; path?: Resolver; required?: Resolver; + submittable?: Resolver; type?: Resolver; unknownValue?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; @@ -27907,11 +37082,20 @@ export type UserResolvers, ParentType, ContextType>; avatar?: Resolver; avatarMetadata?: Resolver, ParentType, ContextType>; + canAccessAdmin?: Resolver; + canClaimContributor?: Resolver; + canDestroy?: Resolver; + canReceiveReviewRequests?: Resolver; + canResetPassword?: Resolver; + canRevalidateInstance?: Resolver; + canUpdate?: Resolver; collectionAccessGrants?: Resolver>; collections?: Resolver>; communities?: Resolver>; communityAccessGrants?: Resolver>; + contributorLinks?: Resolver, ParentType, ContextType>; createdAt?: Resolver; + createdOn?: Resolver; email?: Resolver, ParentType, ContextType>; emailVerified?: Resolver; familyName?: Resolver, ParentType, ContextType>; @@ -27922,9 +37106,11 @@ export type UserResolvers>; name?: Resolver, ParentType, ContextType>; permissions?: Resolver, ParentType, ContextType>; + primaryContributor?: Resolver, ParentType, ContextType>; primaryRole?: Resolver, ParentType, ContextType>; slug?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; uploadAccess?: Resolver; uploadToken?: Resolver, ParentType, ContextType>; username?: Resolver, ParentType, ContextType>; @@ -27940,14 +37126,18 @@ export type UserAccessGrantResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; collection?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; entity?: Resolver; id?: Resolver; role?: Resolver; slug?: Resolver; subject?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; user?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; @@ -27966,14 +37156,18 @@ export type UserCollectionAccessGrantEdgeResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; community?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; entity?: Resolver; id?: Resolver; role?: Resolver; slug?: Resolver; subject?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; user?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; @@ -28017,9 +37211,12 @@ export type UserGroupResolvers>; allAccessGrants?: Resolver>; assignableRoles?: Resolver, ParentType, ContextType>; + canDestroy?: Resolver; + canUpdate?: Resolver; collectionAccessGrants?: Resolver>; communityAccessGrants?: Resolver>; createdAt?: Resolver; + createdOn?: Resolver; description?: Resolver; id?: Resolver; itemAccessGrants?: Resolver>; @@ -28027,6 +37224,7 @@ export type UserGroupResolvers, ParentType, ContextType>; slug?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; users?: Resolver>; __isTypeOf?: IsTypeOfResolverFn; }; @@ -28040,14 +37238,18 @@ export type UserGroupAccessGrantResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; collection?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; entity?: Resolver; id?: Resolver; role?: Resolver; slug?: Resolver; subject?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; userGroup?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; @@ -28066,14 +37268,18 @@ export type UserGroupCollectionAccessGrantEdgeResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; community?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; entity?: Resolver; id?: Resolver; role?: Resolver; slug?: Resolver; subject?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; userGroup?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; @@ -28092,7 +37298,10 @@ export type UserGroupCommunityAccessGrantEdgeResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; entity?: Resolver; id?: Resolver; item?: Resolver; @@ -28100,6 +37309,7 @@ export type UserGroupItemAccessGrantResolvers; subject?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; userGroup?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; @@ -28118,7 +37328,10 @@ export type UserGroupItemAccessGrantEdgeResolvers = { + canDestroy?: Resolver; + canUpdate?: Resolver; createdAt?: Resolver; + createdOn?: Resolver; entity?: Resolver; id?: Resolver; item?: Resolver; @@ -28126,6 +37339,7 @@ export type UserItemAccessGrantResolvers; subject?: Resolver; updatedAt?: Resolver; + updatedOn?: Resolver; user?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; @@ -28143,6 +37357,16 @@ export type UserItemAccessGrantEdgeResolvers; }; +export type UserPermissionGridResolvers = { + allowedActions?: Resolver, ParentType, ContextType>; + create?: Resolver; + delete?: Resolver; + permissions?: Resolver, ParentType, ContextType>; + read?: Resolver; + update?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + export type UserResetPasswordPayloadResolvers = { attributeErrors?: Resolver, ParentType, ContextType>; clientMutationId?: Resolver, ParentType, ContextType>; @@ -28160,6 +37384,7 @@ export type VariableDatePropertyResolvers, ParentType, ContextType>; fullPath?: Resolver; function?: Resolver; + instructions?: Resolver, ParentType, ContextType>; isWide?: Resolver; kind?: Resolver; label?: Resolver; @@ -28168,6 +37393,7 @@ export type VariableDatePropertyResolvers; searchOperators?: Resolver, ParentType, ContextType>; searchPath?: Resolver; + submittable?: Resolver; type?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; @@ -28187,6 +37413,7 @@ export type Resolvers = { AccessGrant?: AccessGrantResolvers; AccessGrantSubject?: AccessGrantSubjectResolvers; Accessible?: AccessibleResolvers; + AdminPermissionGrid?: AdminPermissionGridResolvers; AlterSchemaVersionPayload?: AlterSchemaVersionPayloadResolvers; Analytics?: AnalyticsResolvers; AnalyticsEventCountResult?: AnalyticsEventCountResultResolvers; @@ -28209,6 +37436,7 @@ export type Resolvers = { AnyCommunityAccessGrant?: AnyCommunityAccessGrantResolvers; AnyCommunityAccessGrantConnection?: AnyCommunityAccessGrantConnectionResolvers; AnyCommunityAccessGrantEdge?: AnyCommunityAccessGrantEdgeResolvers; + AnyConfigurableSubmissionTarget?: AnyConfigurableSubmissionTargetResolvers; AnyContributable?: AnyContributableResolvers; AnyContribution?: AnyContributionResolvers; AnyContributor?: AnyContributorResolvers; @@ -28254,6 +37482,7 @@ export type Resolvers = { Attachable?: AttachableResolvers; Attributable?: AttributableResolvers; Attribution?: AttributionResolvers; + AuthorizationResult?: AuthorizationResultResolvers; BlurbTemplateDefinition?: BlurbTemplateDefinitionResolvers; BlurbTemplateDefinitionSlots?: BlurbTemplateDefinitionSlotsResolvers; BlurbTemplateInstance?: BlurbTemplateInstanceResolvers; @@ -28269,6 +37498,9 @@ export type Resolvers = { CollectionContributionEdge?: CollectionContributionEdgeResolvers; CollectionEdge?: CollectionEdgeResolvers; CollectionParent?: CollectionParentResolvers; + CommonModel?: CommonModelResolvers; + CommonPermissions?: CommonPermissionsResolvers; + CommonTransition?: CommonTransitionResolvers; Community?: CommunityResolvers; CommunityConnection?: CommunityConnectionResolvers; CommunityEdge?: CommunityEdgeResolvers; @@ -28285,6 +37517,7 @@ export type Resolvers = { ContributorAttributionConnection?: ContributorAttributionConnectionResolvers; ContributorAttributionEdge?: ContributorAttributionEdgeResolvers; ContributorBase?: ContributorBaseResolvers; + ContributorClaimPayload?: ContributorClaimPayloadResolvers; ContributorCollectionAttribution?: ContributorCollectionAttributionResolvers; ContributorItemAttribution?: ContributorItemAttributionResolvers; ContributorLink?: ContributorLinkResolvers; @@ -28292,9 +37525,15 @@ export type Resolvers = { ContributorListTemplateDefinitionSlots?: ContributorListTemplateDefinitionSlotsResolvers; ContributorListTemplateInstance?: ContributorListTemplateInstanceResolvers; ContributorListTemplateInstanceSlots?: ContributorListTemplateInstanceSlotsResolvers; + ContributorMergePayload?: ContributorMergePayloadResolvers; + ContributorPermissionGrid?: ContributorPermissionGridResolvers; ContributorProperty?: ContributorPropertyResolvers; ContributorSelectOption?: ContributorSelectOptionResolvers; + ContributorUserLink?: ContributorUserLinkResolvers; + ContributorUserLinkDestroyPayload?: ContributorUserLinkDestroyPayloadResolvers; + ContributorUserLinkUpsertPayload?: ContributorUserLinkUpsertPayloadResolvers; ContributorsProperty?: ContributorsPropertyResolvers; + ContributorsSettings?: ContributorsSettingsResolvers; ControlledVocabulariesProperty?: ControlledVocabulariesPropertyResolvers; ControlledVocabulary?: ControlledVocabularyResolvers; ControlledVocabularyConnection?: ControlledVocabularyConnectionResolvers; @@ -28320,6 +37559,22 @@ export type Resolvers = { CreateRolePayload?: CreateRolePayloadResolvers; DOIData?: DoiDataResolvers; DateProperty?: DatePropertyResolvers; + DepositingSettings?: DepositingSettingsResolvers; + DepositorAgreement?: DepositorAgreementResolvers; + DepositorAgreementAcceptPayload?: DepositorAgreementAcceptPayloadResolvers; + DepositorAgreementResetAllPayload?: DepositorAgreementResetAllPayloadResolvers; + DepositorAgreementResetPayload?: DepositorAgreementResetPayloadResolvers; + DepositorAgreementTransition?: DepositorAgreementTransitionResolvers; + DepositorAgreementTransitionConnection?: DepositorAgreementTransitionConnectionResolvers; + DepositorAgreementTransitionEdge?: DepositorAgreementTransitionEdgeResolvers; + DepositorRequest?: DepositorRequestResolvers; + DepositorRequestChangeStatePayload?: DepositorRequestChangeStatePayloadResolvers; + DepositorRequestConnection?: DepositorRequestConnectionResolvers; + DepositorRequestCreatePayload?: DepositorRequestCreatePayloadResolvers; + DepositorRequestEdge?: DepositorRequestEdgeResolvers; + DepositorRequestTransition?: DepositorRequestTransitionResolvers; + DepositorRequestTransitionConnection?: DepositorRequestTransitionConnectionResolvers; + DepositorRequestTransitionEdge?: DepositorRequestTransitionEdgeResolvers; DescendantListTemplateDefinition?: DescendantListTemplateDefinitionResolvers; DescendantListTemplateDefinitionSlots?: DescendantListTemplateDefinitionSlotsResolvers; DescendantListTemplateInstance?: DescendantListTemplateInstanceResolvers; @@ -28340,13 +37595,13 @@ export type Resolvers = { DetailTemplateDefinitionSlots?: DetailTemplateDefinitionSlotsResolvers; DetailTemplateInstance?: DetailTemplateInstanceResolvers; DetailTemplateInstanceSlots?: DetailTemplateInstanceSlotsResolvers; - EffectiveAccess?: EffectiveAccessResolvers; EmailProperty?: EmailPropertyResolvers; EntitiesProperty?: EntitiesPropertyResolvers; EntitiesSettings?: EntitiesSettingsResolvers; Entity?: EntityResolvers; EntityBase?: EntityBaseResolvers; EntityBreadcrumb?: EntityBreadcrumbResolvers; + EntityContextualPermissions?: EntityContextualPermissionsResolvers; EntityDescendant?: EntityDescendantResolvers; EntityDescendantConnection?: EntityDescendantConnectionResolvers; EntityDescendantEdge?: EntityDescendantEdgeResolvers; @@ -28355,11 +37610,12 @@ export type Resolvers = { EntityLinkConnection?: EntityLinkConnectionResolvers; EntityLinkEdge?: EntityLinkEdgeResolvers; EntityPermissionGrid?: EntityPermissionGridResolvers; + EntityPermissions?: EntityPermissionsResolvers; EntityProperty?: EntityPropertyResolvers; EntityPurgePayload?: EntityPurgePayloadResolvers; EntitySelectOption?: EntitySelectOptionResolvers; - ExposesEffectiveAccess?: ExposesEffectiveAccessResolvers; ExposesPermissions?: ExposesPermissionsResolvers; + FailureReasons?: FailureReasonsResolvers; FloatProperty?: FloatPropertyResolvers; FrontendCacheRevalidateEntityPayload?: FrontendCacheRevalidateEntityPayloadResolvers; FrontendCacheRevalidateInstancePayload?: FrontendCacheRevalidateInstancePayloadResolvers; @@ -28536,6 +37792,7 @@ export type Resolvers = { QueriesContrib?: QueriesContribResolvers; QueriesControlledVocabulary?: QueriesControlledVocabularyResolvers; QueriesControlledVocabularySource?: QueriesControlledVocabularySourceResolvers; + QueriesDepositorRequest?: QueriesDepositorRequestResolvers; QueriesEntities?: QueriesEntitiesResolvers; QueriesHarvestAttempt?: QueriesHarvestAttemptResolvers; QueriesHarvestExample?: QueriesHarvestExampleResolvers; @@ -28546,6 +37803,11 @@ export type Resolvers = { QueriesHarvestSource?: QueriesHarvestSourceResolvers; QueriesPermalink?: QueriesPermalinkResolvers; QueriesSchemas?: QueriesSchemasResolvers; + QueriesSubmission?: QueriesSubmissionResolvers; + QueriesSubmissionComment?: QueriesSubmissionCommentResolvers; + QueriesSubmissionReview?: QueriesSubmissionReviewResolvers; + QueriesSubmissionTarget?: QueriesSubmissionTargetResolvers; + QueriesSubmissionTargetReviewer?: QueriesSubmissionTargetReviewerResolvers; QueriesSystem?: QueriesSystemResolvers; QueriesUser?: QueriesUserResolvers; Query?: QueryResolvers; @@ -28559,6 +37821,7 @@ export type Resolvers = { Role?: RoleResolvers; RoleConnection?: RoleConnectionResolvers; RoleEdge?: RoleEdgeResolvers; + RolePermissionGrid?: RolePermissionGridResolvers; ScalarProperty?: ScalarPropertyResolvers; SchemaComponent?: GraphQLScalarType; SchemaDefinition?: SchemaDefinitionResolvers; @@ -28585,6 +37848,7 @@ export type Resolvers = { SearchableProperty?: SearchablePropertyResolvers; SelectOption?: SelectOptionResolvers; SelectProperty?: SelectPropertyResolvers; + SettingsPermissionGrid?: SettingsPermissionGridResolvers; SiteFooter?: SiteFooterResolvers; SiteLogoAttachment?: SiteLogoAttachmentResolvers; SiteSettings?: SiteSettingsResolvers; @@ -28593,6 +37857,57 @@ export type Resolvers = { StandardMutationPayload?: StandardMutationPayloadResolvers; StaticOrderingPath?: StaticOrderingPathResolvers; StringProperty?: StringPropertyResolvers; + Submission?: SubmissionResolvers; + SubmissionBatchPublication?: SubmissionBatchPublicationResolvers; + SubmissionBatchPublicationTransition?: SubmissionBatchPublicationTransitionResolvers; + SubmissionBatchPublicationTransitionConnection?: SubmissionBatchPublicationTransitionConnectionResolvers; + SubmissionBatchPublicationTransitionEdge?: SubmissionBatchPublicationTransitionEdgeResolvers; + SubmissionBatchPublishPayload?: SubmissionBatchPublishPayloadResolvers; + SubmissionChangeStatePayload?: SubmissionChangeStatePayloadResolvers; + SubmissionComment?: SubmissionCommentResolvers; + SubmissionCommentConnection?: SubmissionCommentConnectionResolvers; + SubmissionCommentCreatePayload?: SubmissionCommentCreatePayloadResolvers; + SubmissionCommentDestroyPayload?: SubmissionCommentDestroyPayloadResolvers; + SubmissionCommentEdge?: SubmissionCommentEdgeResolvers; + SubmissionCommentUpdatePayload?: SubmissionCommentUpdatePayloadResolvers; + SubmissionConnection?: SubmissionConnectionResolvers; + SubmissionCreatePayload?: SubmissionCreatePayloadResolvers; + SubmissionDepositTarget?: SubmissionDepositTargetResolvers; + SubmissionEdge?: SubmissionEdgeResolvers; + SubmissionLeaveReviewPayload?: SubmissionLeaveReviewPayloadResolvers; + SubmissionPublication?: SubmissionPublicationResolvers; + SubmissionPublicationTransition?: SubmissionPublicationTransitionResolvers; + SubmissionPublicationTransitionConnection?: SubmissionPublicationTransitionConnectionResolvers; + SubmissionPublicationTransitionEdge?: SubmissionPublicationTransitionEdgeResolvers; + SubmissionPublishPayload?: SubmissionPublishPayloadResolvers; + SubmissionRequestReviewPayload?: SubmissionRequestReviewPayloadResolvers; + SubmissionReview?: SubmissionReviewResolvers; + SubmissionReviewConnection?: SubmissionReviewConnectionResolvers; + SubmissionReviewEdge?: SubmissionReviewEdgeResolvers; + SubmissionReviewTransition?: SubmissionReviewTransitionResolvers; + SubmissionReviewTransitionConnection?: SubmissionReviewTransitionConnectionResolvers; + SubmissionReviewTransitionEdge?: SubmissionReviewTransitionEdgeResolvers; + SubmissionStatus?: SubmissionStatusResolvers; + SubmissionTarget?: SubmissionTargetResolvers; + SubmissionTargetClosePayload?: SubmissionTargetClosePayloadResolvers; + SubmissionTargetConfigurePayload?: SubmissionTargetConfigurePayloadResolvers; + SubmissionTargetConnection?: SubmissionTargetConnectionResolvers; + SubmissionTargetDescription?: SubmissionTargetDescriptionResolvers; + SubmissionTargetEdge?: SubmissionTargetEdgeResolvers; + SubmissionTargetOpenPayload?: SubmissionTargetOpenPayloadResolvers; + SubmissionTargetReviewer?: SubmissionTargetReviewerResolvers; + SubmissionTargetReviewerConnection?: SubmissionTargetReviewerConnectionResolvers; + SubmissionTargetReviewerCreatePayload?: SubmissionTargetReviewerCreatePayloadResolvers; + SubmissionTargetReviewerDestroyPayload?: SubmissionTargetReviewerDestroyPayloadResolvers; + SubmissionTargetReviewerEdge?: SubmissionTargetReviewerEdgeResolvers; + SubmissionTargetSection?: SubmissionTargetSectionResolvers; + SubmissionTargetTransition?: SubmissionTargetTransitionResolvers; + SubmissionTargetTransitionConnection?: SubmissionTargetTransitionConnectionResolvers; + SubmissionTargetTransitionEdge?: SubmissionTargetTransitionEdgeResolvers; + SubmissionTransition?: SubmissionTransitionResolvers; + SubmissionTransitionConnection?: SubmissionTransitionConnectionResolvers; + SubmissionTransitionEdge?: SubmissionTransitionEdgeResolvers; + Submittable?: SubmittableResolvers; SupplementaryLayoutDefinition?: SupplementaryLayoutDefinitionResolvers; SupplementaryLayoutInstance?: SupplementaryLayoutInstanceResolvers; SupplementaryTemplateDefinition?: SupplementaryTemplateDefinitionResolvers; @@ -28667,6 +37982,7 @@ export type Resolvers = { UserItemAccessGrant?: UserItemAccessGrantResolvers; UserItemAccessGrantConnection?: UserItemAccessGrantConnectionResolvers; UserItemAccessGrantEdge?: UserItemAccessGrantEdgeResolvers; + UserPermissionGrid?: UserPermissionGridResolvers; UserResetPasswordPayload?: UserResetPasswordPayloadResolvers; VariableDateProperty?: VariableDatePropertyResolvers; VariablePrecisionDate?: VariablePrecisionDateResolvers; From 0395b65bafa788872316dce0e9042797c15a6c7f Mon Sep 17 00:00:00 2001 From: 1aurend Date: Mon, 29 Jun 2026 18:01:28 -0700 Subject: [PATCH 2/2] feat: update contributor search to use new filters --- .../AssetCreateFormMutation.graphql.ts | 4 +- .../CollectionTypeaheadQuery.graphql.ts | 29 ++- .../CollectionUpdateDrawerQuery.graphql.ts | 10 +- .../CollectionUpdateFormMutation.graphql.ts | 56 ++--- .../CommunityUpdateDrawerQuery.graphql.ts | 50 ++-- .../CommunityUpdateFormMutation.graphql.ts | 56 ++--- .../ContributorListFragment.graphql.ts | 31 ++- .../ContributorTypeaheadQuery.graphql.ts | 35 ++- .../EntityLinksAddFormMutation.graphql.ts | 15 +- .../EntityTypeaheadQuery.graphql.ts | 13 +- .../FileEditFormFragment.graphql.ts | 4 +- .../__generated__/FileListFragment.graphql.ts | 4 +- .../GlobalSettingsEditFormMutation.graphql.ts | 12 +- .../ItemTypeaheadQuery.graphql.ts | 29 ++- .../ItemUpdateDrawerQuery.graphql.ts | 10 +- .../ItemUpdateFormMutation.graphql.ts | 62 +++-- .../LinkTargetTypeaheadQuery.graphql.ts | 30 +-- .../SearchLayoutQuery.graphql.ts | 57 +++-- .../collectionsListQuery.graphql.ts | 217 +++++++++-------- ...ManageSlugCollectionsPagesQuery.graphql.ts | 225 +++++++++--------- ...ctionsSlugCommunitiesPagesQuery.graphql.ts | 225 +++++++++--------- .../contributorsListQuery.graphql.ts | 33 ++- ...ManageSlugCollectionsPagesQuery.graphql.ts | 10 +- ...ManageSlugCommunitiesPagesQuery.graphql.ts | 50 ++-- .../detailsManageSlugItemsQuery.graphql.ts | 10 +- .../entitiesHarvestRecordQuery.graphql.ts | 15 +- .../__generated__/itemsListQuery.graphql.ts | 205 ++++++++-------- .../itemsSlugCollectionsPagesQuery.graphql.ts | 213 ++++++++--------- .../itemsSlugItemsPagesQuery.graphql.ts | 213 ++++++++--------- ...inksManageCollectionsPagesQuery.graphql.ts | 15 +- .../linksManageSlugItemsQuery.graphql.ts | 15 +- ...ManageSlugCollectionsPagesQuery.graphql.ts | 15 +- ...esManageSlugCommunityPagesQuery.graphql.ts | 15 +- .../pagesManageSlugItemsQuery.graphql.ts | 15 +- .../useSchemaContextFragment.graphql.ts | 4 +- .../ContributorList/ContributorList.tsx | 7 +- .../ContributorTypeahead.tsx | 7 +- 37 files changed, 989 insertions(+), 1027 deletions(-) diff --git a/packages/admin/__generated__/AssetCreateFormMutation.graphql.ts b/packages/admin/__generated__/AssetCreateFormMutation.graphql.ts index 6abc05473..185a22324 100644 --- a/packages/admin/__generated__/AssetCreateFormMutation.graphql.ts +++ b/packages/admin/__generated__/AssetCreateFormMutation.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -10,7 +10,7 @@ import { ConcreteRequest, Mutation } from 'relay-runtime'; import { FragmentRefs } from "relay-runtime"; -export type AssetKind = "audio" | "document" | "image" | "pdf" | "unknown" | "video" | "%future added value"; +export type AssetKind = "archive" | "audio" | "document" | "image" | "pdf" | "unknown" | "video" | "%future added value"; export type UploadStorage = "CACHE" | "%future added value"; export type CreateAssetInput = { altText?: string | null | undefined; diff --git a/packages/admin/__generated__/CollectionTypeaheadQuery.graphql.ts b/packages/admin/__generated__/CollectionTypeaheadQuery.graphql.ts index fdf3785ec..aae0b2053 100644 --- a/packages/admin/__generated__/CollectionTypeaheadQuery.graphql.ts +++ b/packages/admin/__generated__/CollectionTypeaheadQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<4cf2e85e0ff8c541e7b4371e08924c16>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -86,14 +86,6 @@ v4 = { "kind": "ScalarField", "name": "id", "storageKey": null -}, -v5 = { - "kind": "InlineFragment", - "selections": [ - (v4/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" }; return { "fragment": { @@ -143,7 +135,14 @@ return { "name": "entity", "plural": false, "selections": [ - (v5/*: any*/) + { + "kind": "InlineFragment", + "selections": [ + (v4/*: any*/) + ], + "type": "Node", + "abstractKey": "__isNode" + } ], "storageKey": null } @@ -217,7 +216,11 @@ return { "name": "__typename", "storageKey": null }, - (v5/*: any*/) + (v4/*: any*/), + { + "kind": "TypeDiscriminator", + "abstractKey": "__isNode" + } ], "storageKey": null }, @@ -237,12 +240,12 @@ return { ] }, "params": { - "cacheID": "2b681a8c964d47f7166d5d045a519dc7", + "cacheID": "f534691592a98c0f050f0a06f041f81c", "id": null, "metadata": {}, "name": "CollectionTypeaheadQuery", "operationKind": "query", - "text": "query CollectionTypeaheadQuery(\n $query: String!\n) {\n search(visibility: ALL) {\n results(prefix: $query, page: 1, perPage: 50, order: TITLE_ASCENDING, scope: COLLECTION) {\n edges {\n node {\n title\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n }\n }\n }\n}\n" + "text": "query CollectionTypeaheadQuery(\n $query: String!\n) {\n search(visibility: ALL) {\n results(prefix: $query, page: 1, perPage: 50, order: TITLE_ASCENDING, scope: COLLECTION) {\n edges {\n node {\n title\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n id\n }\n id\n }\n }\n }\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/CollectionUpdateDrawerQuery.graphql.ts b/packages/admin/__generated__/CollectionUpdateDrawerQuery.graphql.ts index fdba02c39..84bb615d2 100644 --- a/packages/admin/__generated__/CollectionUpdateDrawerQuery.graphql.ts +++ b/packages/admin/__generated__/CollectionUpdateDrawerQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<9fd8a3b461772f95357a08e130c65928>> * @lightSyntaxTransform * @nogrep */ @@ -605,7 +605,7 @@ v45 = [ (v13/*: any*/), (v44/*: any*/), (v3/*: any*/), - (v20/*: any*/) + (v2/*: any*/) ], "storageKey": null } @@ -660,7 +660,7 @@ v46 = [ "type": "Item", "abstractKey": null }, - (v20/*: any*/) + (v2/*: any*/) ], "storageKey": null } @@ -1151,12 +1151,12 @@ return { ] }, "params": { - "cacheID": "a81421838d6f8b8da16ad1c10ec3d712", + "cacheID": "d515dbb7211e3823f36b6bc6062c6420", "id": null, "metadata": {}, "name": "CollectionUpdateDrawerQuery", "operationKind": "query", - "text": "query CollectionUpdateDrawerQuery(\n $collectionSlug: Slug!\n) {\n collection(slug: $collectionSlug) {\n id\n title\n ...CollectionUpdateFormFragment\n schemaVersion {\n enforcedChildKinds\n id\n }\n allowedActions\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CollectionUpdateFormFieldsFragment on Collection {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment CollectionUpdateFormFragment on Collection {\n collectionId: id\n ...HarvestingStatusFragment\n ...ParentSelectorFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ...CollectionUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ParentSelectorFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Community {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ... on Item {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Item {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" + "text": "query CollectionUpdateDrawerQuery(\n $collectionSlug: Slug!\n) {\n collection(slug: $collectionSlug) {\n id\n title\n ...CollectionUpdateFormFragment\n schemaVersion {\n enforcedChildKinds\n id\n }\n allowedActions\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CollectionUpdateFormFieldsFragment on Collection {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment CollectionUpdateFormFragment on Collection {\n collectionId: id\n ...HarvestingStatusFragment\n ...ParentSelectorFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ...CollectionUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ParentSelectorFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Community {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ... on Item {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Item {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/CollectionUpdateFormMutation.graphql.ts b/packages/admin/__generated__/CollectionUpdateFormMutation.graphql.ts index 6d10955c9..e7f207a31 100644 --- a/packages/admin/__generated__/CollectionUpdateFormMutation.graphql.ts +++ b/packages/admin/__generated__/CollectionUpdateFormMutation.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<86f6d80ffe3684fd90e8ab860b87aa92>> + * @generated SignedSource<<16ed423340c75fb7db91bd502d7cfd7f>> * @lightSyntaxTransform * @nogrep */ @@ -600,15 +600,7 @@ v38 = { "kind": "TypeDiscriminator", "abstractKey": "__isEntity" }, -v39 = { - "kind": "InlineFragment", - "selections": [ - (v11/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" -}, -v40 = [ +v39 = [ { "alias": null, "args": null, @@ -628,7 +620,7 @@ v40 = [ (v13/*: any*/), (v38/*: any*/), (v7/*: any*/), - (v39/*: any*/) + (v11/*: any*/) ], "storageKey": null } @@ -636,7 +628,7 @@ v40 = [ "storageKey": null } ], -v41 = [ +v40 = [ { "alias": null, "args": null, @@ -679,17 +671,17 @@ v41 = [ }, { "kind": "InlineFragment", - "selections": (v40/*: any*/), + "selections": (v39/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v40/*: any*/), + "selections": (v39/*: any*/), "type": "Item", "abstractKey": null }, - (v39/*: any*/) + (v11/*: any*/) ], "storageKey": null } @@ -698,24 +690,24 @@ v41 = [ }, (v15/*: any*/) ], -v42 = { +v41 = { "kind": "InlineFragment", - "selections": (v41/*: any*/), + "selections": (v40/*: any*/), "type": "EntityProperty", "abstractKey": null }, -v43 = { +v42 = { "kind": "InlineFragment", - "selections": (v41/*: any*/), + "selections": (v40/*: any*/), "type": "EntitiesProperty", "abstractKey": null }, -v44 = [ +v43 = [ (v34/*: any*/), (v14/*: any*/), (v9/*: any*/) ], -v45 = [ +v44 = [ { "alias": "entityId", "args": null, @@ -1013,8 +1005,8 @@ return { (v35/*: any*/), (v36/*: any*/), (v37/*: any*/), - (v42/*: any*/), - (v43/*: any*/) + (v41/*: any*/), + (v42/*: any*/) ], "storageKey": null } @@ -1042,8 +1034,8 @@ return { (v35/*: any*/), (v36/*: any*/), (v37/*: any*/), - (v42/*: any*/), - (v43/*: any*/) + (v41/*: any*/), + (v42/*: any*/) ], "type": "ScalarProperty", "abstractKey": "__isScalarProperty" @@ -1066,7 +1058,7 @@ return { "kind": "LinkedField", "name": "assets", "plural": true, - "selections": (v44/*: any*/), + "selections": (v43/*: any*/), "storageKey": null }, { @@ -1076,7 +1068,7 @@ return { "kind": "LinkedField", "name": "contributors", "plural": true, - "selections": (v44/*: any*/), + "selections": (v43/*: any*/), "storageKey": null }, { @@ -1115,19 +1107,19 @@ return { "selections": [ { "kind": "InlineFragment", - "selections": (v45/*: any*/), + "selections": (v44/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v45/*: any*/), + "selections": (v44/*: any*/), "type": "Item", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v45/*: any*/), + "selections": (v44/*: any*/), "type": "Community", "abstractKey": null } @@ -1154,12 +1146,12 @@ return { ] }, "params": { - "cacheID": "2edb63d69695a63a21cfe1d487534c6d", + "cacheID": "23718ecca2812a8e5fd9c36b27f08449", "id": null, "metadata": {}, "name": "CollectionUpdateFormMutation", "operationKind": "mutation", - "text": "mutation CollectionUpdateFormMutation(\n $input: UpdateCollectionInput!\n) {\n updateCollection(input: $input) {\n collection {\n ...HarvestingStatusFragment\n ...CollectionUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n id\n }\n ...MutationForm_mutationErrors\n ...CollectionUpdateForm_schemaErrorsFragment\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CollectionUpdateFormFieldsFragment on Collection {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment CollectionUpdateForm_schemaErrorsFragment on UpdateCollectionPayload {\n schemaErrors {\n hint\n message\n metadata\n path\n }\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment MutationForm_mutationErrors on StandardMutationPayload {\n __isStandardMutationPayload: __typename\n attributeErrors {\n path\n type\n messages\n }\n globalErrors {\n message\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n" + "text": "mutation CollectionUpdateFormMutation(\n $input: UpdateCollectionInput!\n) {\n updateCollection(input: $input) {\n collection {\n ...HarvestingStatusFragment\n ...CollectionUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n id\n }\n ...MutationForm_mutationErrors\n ...CollectionUpdateForm_schemaErrorsFragment\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CollectionUpdateFormFieldsFragment on Collection {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment CollectionUpdateForm_schemaErrorsFragment on UpdateCollectionPayload {\n schemaErrors {\n hint\n message\n metadata\n path\n }\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment MutationForm_mutationErrors on StandardMutationPayload {\n __isStandardMutationPayload: __typename\n attributeErrors {\n path\n type\n messages\n }\n globalErrors {\n message\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n" } }; })(); diff --git a/packages/admin/__generated__/CommunityUpdateDrawerQuery.graphql.ts b/packages/admin/__generated__/CommunityUpdateDrawerQuery.graphql.ts index f93ee874f..360b30f5d 100644 --- a/packages/admin/__generated__/CommunityUpdateDrawerQuery.graphql.ts +++ b/packages/admin/__generated__/CommunityUpdateDrawerQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<93eff809db6d46a80cba291f2c824a37>> + * @generated SignedSource<<70f57c17ad928e90423cd88b6c1d6334>> * @lightSyntaxTransform * @nogrep */ @@ -489,15 +489,7 @@ v35 = { "kind": "TypeDiscriminator", "abstractKey": "__isEntity" }, -v36 = { - "kind": "InlineFragment", - "selections": [ - (v2/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" -}, -v37 = [ +v36 = [ { "alias": null, "args": null, @@ -517,7 +509,7 @@ v37 = [ (v11/*: any*/), (v35/*: any*/), (v3/*: any*/), - (v36/*: any*/) + (v2/*: any*/) ], "storageKey": null } @@ -525,7 +517,7 @@ v37 = [ "storageKey": null } ], -v38 = [ +v37 = [ { "alias": null, "args": null, @@ -568,17 +560,17 @@ v38 = [ }, { "kind": "InlineFragment", - "selections": (v37/*: any*/), + "selections": (v36/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v37/*: any*/), + "selections": (v36/*: any*/), "type": "Item", "abstractKey": null }, - (v36/*: any*/) + (v2/*: any*/) ], "storageKey": null } @@ -587,19 +579,19 @@ v38 = [ }, (v13/*: any*/) ], -v39 = { +v38 = { "kind": "InlineFragment", - "selections": (v38/*: any*/), + "selections": (v37/*: any*/), "type": "EntityProperty", "abstractKey": null }, -v40 = { +v39 = { "kind": "InlineFragment", - "selections": (v38/*: any*/), + "selections": (v37/*: any*/), "type": "EntitiesProperty", "abstractKey": null }, -v41 = [ +v40 = [ { "alias": "entityId", "args": null, @@ -878,8 +870,8 @@ return { (v32/*: any*/), (v33/*: any*/), (v34/*: any*/), - (v39/*: any*/), - (v40/*: any*/) + (v38/*: any*/), + (v39/*: any*/) ], "storageKey": null } @@ -907,8 +899,8 @@ return { (v32/*: any*/), (v33/*: any*/), (v34/*: any*/), - (v39/*: any*/), - (v40/*: any*/) + (v38/*: any*/), + (v39/*: any*/) ], "type": "ScalarProperty", "abstractKey": "__isScalarProperty" @@ -921,19 +913,19 @@ return { "selections": [ { "kind": "InlineFragment", - "selections": (v41/*: any*/), + "selections": (v40/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v41/*: any*/), + "selections": (v40/*: any*/), "type": "Item", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v41/*: any*/), + "selections": (v40/*: any*/), "type": "Community", "abstractKey": null } @@ -955,12 +947,12 @@ return { ] }, "params": { - "cacheID": "9ae76fa54de36a5dd3a5368a972440ca", + "cacheID": "f472c68294b2214a844389eea890b583", "id": null, "metadata": {}, "name": "CommunityUpdateDrawerQuery", "operationKind": "query", - "text": "query CommunityUpdateDrawerQuery(\n $communitySlug: Slug!\n) {\n community(slug: $communitySlug) {\n id\n title\n ...CommunityUpdateFormFragment\n allowedActions\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CommunityUpdateFormFieldsFragment on Community {\n title\n tagline\n summary\n heroImageLayout\n position\n heroImage {\n ...FileUploadFragment\n }\n logo {\n ...FileUploadFragment\n }\n heroImageMetadata {\n alt\n }\n}\n\nfragment CommunityUpdateFormFragment on Community {\n communityId: id\n ...CommunityUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" + "text": "query CommunityUpdateDrawerQuery(\n $communitySlug: Slug!\n) {\n community(slug: $communitySlug) {\n id\n title\n ...CommunityUpdateFormFragment\n allowedActions\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CommunityUpdateFormFieldsFragment on Community {\n title\n tagline\n summary\n heroImageLayout\n position\n heroImage {\n ...FileUploadFragment\n }\n logo {\n ...FileUploadFragment\n }\n heroImageMetadata {\n alt\n }\n}\n\nfragment CommunityUpdateFormFragment on Community {\n communityId: id\n ...CommunityUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/CommunityUpdateFormMutation.graphql.ts b/packages/admin/__generated__/CommunityUpdateFormMutation.graphql.ts index 42673e004..38744efea 100644 --- a/packages/admin/__generated__/CommunityUpdateFormMutation.graphql.ts +++ b/packages/admin/__generated__/CommunityUpdateFormMutation.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<7e5bff3664c3af316270143c3c0f8f45>> * @lightSyntaxTransform * @nogrep */ @@ -594,15 +594,7 @@ v38 = { "kind": "TypeDiscriminator", "abstractKey": "__isEntity" }, -v39 = { - "kind": "InlineFragment", - "selections": [ - (v11/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" -}, -v40 = [ +v39 = [ { "alias": null, "args": null, @@ -622,7 +614,7 @@ v40 = [ (v12/*: any*/), (v38/*: any*/), (v8/*: any*/), - (v39/*: any*/) + (v11/*: any*/) ], "storageKey": null } @@ -630,7 +622,7 @@ v40 = [ "storageKey": null } ], -v41 = [ +v40 = [ { "alias": null, "args": null, @@ -673,17 +665,17 @@ v41 = [ }, { "kind": "InlineFragment", - "selections": (v40/*: any*/), + "selections": (v39/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v40/*: any*/), + "selections": (v39/*: any*/), "type": "Item", "abstractKey": null }, - (v39/*: any*/) + (v11/*: any*/) ], "storageKey": null } @@ -692,24 +684,24 @@ v41 = [ }, (v14/*: any*/) ], -v42 = { +v41 = { "kind": "InlineFragment", - "selections": (v41/*: any*/), + "selections": (v40/*: any*/), "type": "EntityProperty", "abstractKey": null }, -v43 = { +v42 = { "kind": "InlineFragment", - "selections": (v41/*: any*/), + "selections": (v40/*: any*/), "type": "EntitiesProperty", "abstractKey": null }, -v44 = [ +v43 = [ (v34/*: any*/), (v13/*: any*/), (v28/*: any*/) ], -v45 = [ +v44 = [ { "alias": "entityId", "args": null, @@ -948,8 +940,8 @@ return { (v35/*: any*/), (v36/*: any*/), (v37/*: any*/), - (v42/*: any*/), - (v43/*: any*/) + (v41/*: any*/), + (v42/*: any*/) ], "storageKey": null } @@ -977,8 +969,8 @@ return { (v35/*: any*/), (v36/*: any*/), (v37/*: any*/), - (v42/*: any*/), - (v43/*: any*/) + (v41/*: any*/), + (v42/*: any*/) ], "type": "ScalarProperty", "abstractKey": "__isScalarProperty" @@ -1001,7 +993,7 @@ return { "kind": "LinkedField", "name": "assets", "plural": true, - "selections": (v44/*: any*/), + "selections": (v43/*: any*/), "storageKey": null }, { @@ -1011,7 +1003,7 @@ return { "kind": "LinkedField", "name": "contributors", "plural": true, - "selections": (v44/*: any*/), + "selections": (v43/*: any*/), "storageKey": null }, { @@ -1050,19 +1042,19 @@ return { "selections": [ { "kind": "InlineFragment", - "selections": (v45/*: any*/), + "selections": (v44/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v45/*: any*/), + "selections": (v44/*: any*/), "type": "Item", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v45/*: any*/), + "selections": (v44/*: any*/), "type": "Community", "abstractKey": null } @@ -1089,12 +1081,12 @@ return { ] }, "params": { - "cacheID": "1b5239962c729b38b62e8fa31a8b055e", + "cacheID": "db1e38a2718457e1433d6ab9b73f173b", "id": null, "metadata": {}, "name": "CommunityUpdateFormMutation", "operationKind": "mutation", - "text": "mutation CommunityUpdateFormMutation(\n $input: UpdateCommunityInput!\n) {\n updateCommunity(input: $input) {\n community {\n position\n ...CommunityUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n id\n }\n ...MutationForm_mutationErrors\n ...CommunityUpdateFormSchemaErrorsFragment\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CommunityUpdateFormFieldsFragment on Community {\n title\n tagline\n summary\n heroImageLayout\n position\n heroImage {\n ...FileUploadFragment\n }\n logo {\n ...FileUploadFragment\n }\n heroImageMetadata {\n alt\n }\n}\n\nfragment CommunityUpdateFormSchemaErrorsFragment on UpdateCommunityPayload {\n schemaErrors {\n hint\n message\n metadata\n path\n }\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment MutationForm_mutationErrors on StandardMutationPayload {\n __isStandardMutationPayload: __typename\n attributeErrors {\n path\n type\n messages\n }\n globalErrors {\n message\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n" + "text": "mutation CommunityUpdateFormMutation(\n $input: UpdateCommunityInput!\n) {\n updateCommunity(input: $input) {\n community {\n position\n ...CommunityUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n id\n }\n ...MutationForm_mutationErrors\n ...CommunityUpdateFormSchemaErrorsFragment\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CommunityUpdateFormFieldsFragment on Community {\n title\n tagline\n summary\n heroImageLayout\n position\n heroImage {\n ...FileUploadFragment\n }\n logo {\n ...FileUploadFragment\n }\n heroImageMetadata {\n alt\n }\n}\n\nfragment CommunityUpdateFormSchemaErrorsFragment on UpdateCommunityPayload {\n schemaErrors {\n hint\n message\n metadata\n path\n }\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment MutationForm_mutationErrors on StandardMutationPayload {\n __isStandardMutationPayload: __typename\n attributeErrors {\n path\n type\n messages\n }\n globalErrors {\n message\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n" } }; })(); diff --git a/packages/admin/__generated__/ContributorListFragment.graphql.ts b/packages/admin/__generated__/ContributorListFragment.graphql.ts index 2a4e7dddf..7cdbe938b 100644 --- a/packages/admin/__generated__/ContributorListFragment.graphql.ts +++ b/packages/admin/__generated__/ContributorListFragment.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<8b148e0c8cf29d1ee715e3b1e43c5fe5>> + * @generated SignedSource<<3142b1fcec9de751801deb83278c76b2>> * @lightSyntaxTransform * @nogrep */ @@ -160,6 +160,28 @@ return { { "alias": null, "args": [ + { + "fields": [ + { + "fields": [ + { + "kind": "Variable", + "name": "needle", + "variableName": "query" + }, + { + "kind": "Literal", + "name": "strategy", + "value": "FUZZY" + } + ], + "kind": "ObjectValue", + "name": "nameSearch" + } + ], + "kind": "ObjectValue", + "name": "filters" + }, { "kind": "Variable", "name": "order", @@ -174,11 +196,6 @@ return { "kind": "Literal", "name": "perPage", "value": 20 - }, - { - "kind": "Variable", - "name": "prefix", - "variableName": "query" } ], "concreteType": "AnyContributorConnection", @@ -288,6 +305,6 @@ return { }; })(); -(node as any).hash = "c2e489e68014a2baa401d01e04c16006"; +(node as any).hash = "01e675d496630e84f3d7efab8ff93c0e"; export default node; diff --git a/packages/admin/__generated__/ContributorTypeaheadQuery.graphql.ts b/packages/admin/__generated__/ContributorTypeaheadQuery.graphql.ts index c49b3f0f1..3d423a525 100644 --- a/packages/admin/__generated__/ContributorTypeaheadQuery.graphql.ts +++ b/packages/admin/__generated__/ContributorTypeaheadQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -46,6 +46,28 @@ var v0 = [ } ], v1 = [ + { + "fields": [ + { + "fields": [ + { + "kind": "Variable", + "name": "needle", + "variableName": "query" + }, + { + "kind": "Literal", + "name": "strategy", + "value": "FUZZY" + } + ], + "kind": "ObjectValue", + "name": "nameSearch" + } + ], + "kind": "ObjectValue", + "name": "filters" + }, { "kind": "Literal", "name": "order", @@ -60,11 +82,6 @@ v1 = [ "kind": "Literal", "name": "perPage", "value": 50 - }, - { - "kind": "Variable", - "name": "prefix", - "variableName": "query" } ], v2 = { @@ -237,16 +254,16 @@ return { ] }, "params": { - "cacheID": "dd05a3932396090cb0151b35c9fa405b", + "cacheID": "684cf6510f04e582b0f590b1268255f6", "id": null, "metadata": {}, "name": "ContributorTypeaheadQuery", "operationKind": "query", - "text": "query ContributorTypeaheadQuery(\n $query: String!\n) {\n contributors(prefix: $query, page: 1, perPage: 50, order: NAME_ASCENDING) {\n edges {\n node {\n __typename\n ... on PersonContributor {\n __typename\n givenName\n familyName\n id\n }\n ... on OrganizationContributor {\n __typename\n legalName\n id\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n" + "text": "query ContributorTypeaheadQuery(\n $query: String!\n) {\n contributors(filters: {nameSearch: {needle: $query, strategy: FUZZY}}, page: 1, perPage: 50, order: NAME_ASCENDING) {\n edges {\n node {\n __typename\n ... on PersonContributor {\n __typename\n givenName\n familyName\n id\n }\n ... on OrganizationContributor {\n __typename\n legalName\n id\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n" } }; })(); -(node as any).hash = "a24a78e78b7348615d2dd397accfa3a4"; +(node as any).hash = "925ef7d90320860a576e5766a3ba8d4f"; export default node; diff --git a/packages/admin/__generated__/EntityLinksAddFormMutation.graphql.ts b/packages/admin/__generated__/EntityLinksAddFormMutation.graphql.ts index 4918239dd..9696f5b97 100644 --- a/packages/admin/__generated__/EntityLinksAddFormMutation.graphql.ts +++ b/packages/admin/__generated__/EntityLinksAddFormMutation.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<338ce4bc68febd295d114fb332269a47>> + * @generated SignedSource<<26010906d36ead4ce4028a6d2782b3be>> * @lightSyntaxTransform * @nogrep */ @@ -217,14 +217,7 @@ return { "abstractKey": "__isEntity" }, (v2/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v4/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - } + (v4/*: any*/) ], "storageKey": null }, @@ -239,12 +232,12 @@ return { ] }, "params": { - "cacheID": "c4dc93606a5966ffdff6d8875694a065", + "cacheID": "08b0419630e8ef320423000620b14088", "id": null, "metadata": {}, "name": "EntityLinksAddFormMutation", "operationKind": "mutation", - "text": "mutation EntityLinksAddFormMutation(\n $input: LinkEntityInput!\n) {\n linkEntity(input: $input) {\n link {\n target {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n ...MutationForm_mutationErrors\n }\n}\n\nfragment MutationForm_mutationErrors on StandardMutationPayload {\n __isStandardMutationPayload: __typename\n attributeErrors {\n path\n type\n messages\n }\n globalErrors {\n message\n }\n}\n" + "text": "mutation EntityLinksAddFormMutation(\n $input: LinkEntityInput!\n) {\n linkEntity(input: $input) {\n link {\n target {\n __typename\n __isEntity: __typename\n title\n id\n }\n id\n }\n ...MutationForm_mutationErrors\n }\n}\n\nfragment MutationForm_mutationErrors on StandardMutationPayload {\n __isStandardMutationPayload: __typename\n attributeErrors {\n path\n type\n messages\n }\n globalErrors {\n message\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/EntityTypeaheadQuery.graphql.ts b/packages/admin/__generated__/EntityTypeaheadQuery.graphql.ts index 2c1879f75..47d0b85e2 100644 --- a/packages/admin/__generated__/EntityTypeaheadQuery.graphql.ts +++ b/packages/admin/__generated__/EntityTypeaheadQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<176322e4f67e6047a767fb96e548b58a>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -252,12 +252,9 @@ return { "plural": false, "selections": [ (v6/*: any*/), + (v5/*: any*/), { - "kind": "InlineFragment", - "selections": [ - (v5/*: any*/) - ], - "type": "Node", + "kind": "TypeDiscriminator", "abstractKey": "__isNode" } ], @@ -279,12 +276,12 @@ return { ] }, "params": { - "cacheID": "a0f06f1e4db3c9f8f74a98e52be92e22", + "cacheID": "3c9c6add5575445982416396e9203003", "id": null, "metadata": {}, "name": "EntityTypeaheadQuery", "operationKind": "query", - "text": "query EntityTypeaheadQuery(\n $query: String!\n $schema: [String!]\n $scope: EntityDescendantScopeFilter!\n) {\n search(visibility: ALL) {\n results(access: UPDATE, prefix: $query, page: 1, perPage: 25, order: TITLE_ASCENDING, schema: $schema, scope: $scope) {\n edges {\n node {\n title\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n __typename\n }\n }\n id\n }\n }\n }\n }\n}\n" + "text": "query EntityTypeaheadQuery(\n $query: String!\n $schema: [String!]\n $scope: EntityDescendantScopeFilter!\n) {\n search(visibility: ALL) {\n results(access: UPDATE, prefix: $query, page: 1, perPage: 25, order: TITLE_ASCENDING, schema: $schema, scope: $scope) {\n edges {\n node {\n title\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n __typename\n }\n id\n }\n id\n }\n }\n }\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/FileEditFormFragment.graphql.ts b/packages/admin/__generated__/FileEditFormFragment.graphql.ts index e2cc05d3c..ba42edc8e 100644 --- a/packages/admin/__generated__/FileEditFormFragment.graphql.ts +++ b/packages/admin/__generated__/FileEditFormFragment.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<6f8060461f50c1c8bf490d36ad34fed9>> + * @generated SignedSource<<079e7e5c75a9c6040bc097a3d4f47745>> * @lightSyntaxTransform * @nogrep */ @@ -9,7 +9,7 @@ // @ts-nocheck import { Fragment, ReaderFragment } from 'relay-runtime'; -export type AssetKind = "audio" | "document" | "image" | "pdf" | "unknown" | "video" | "%future added value"; +export type AssetKind = "archive" | "audio" | "document" | "image" | "pdf" | "unknown" | "video" | "%future added value"; import { FragmentRefs } from "relay-runtime"; export type FileEditFormFragment$data = { readonly altText: string | null | undefined; diff --git a/packages/admin/__generated__/FileListFragment.graphql.ts b/packages/admin/__generated__/FileListFragment.graphql.ts index 85d7991e7..6e0898a87 100644 --- a/packages/admin/__generated__/FileListFragment.graphql.ts +++ b/packages/admin/__generated__/FileListFragment.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<528a33ab6f38867f48764e05254360cc>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -9,7 +9,7 @@ // @ts-nocheck import { Fragment, ReaderFragment } from 'relay-runtime'; -export type AssetKind = "audio" | "document" | "image" | "pdf" | "unknown" | "video" | "%future added value"; +export type AssetKind = "archive" | "audio" | "document" | "image" | "pdf" | "unknown" | "video" | "%future added value"; import { FragmentRefs } from "relay-runtime"; export type FileListFragment$data = { readonly nodes: ReadonlyArray<{ diff --git a/packages/admin/__generated__/GlobalSettingsEditFormMutation.graphql.ts b/packages/admin/__generated__/GlobalSettingsEditFormMutation.graphql.ts index b50010106..3dad7d534 100644 --- a/packages/admin/__generated__/GlobalSettingsEditFormMutation.graphql.ts +++ b/packages/admin/__generated__/GlobalSettingsEditFormMutation.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -16,6 +16,8 @@ export type UpdateGlobalConfigurationInput = { clearLogo?: boolean | null | undefined; clientMutationId?: string | null | undefined; contributionRoles?: ContributionRoleConfigurationInput | null | undefined; + contributors?: ContributorsSettingsInput | null | undefined; + depositing?: DepositingSettingsInput | null | undefined; entities?: EntitiesSettingsInput | null | undefined; institution?: InstitutionSettingsInput | null | undefined; logo?: UploadedFileInput | null | undefined; @@ -28,6 +30,14 @@ export type ContributionRoleConfigurationInput = { defaultItemId: string; otherItemId?: string | null | undefined; }; +export type ContributorsSettingsInput = { + claimable?: boolean | null | undefined; + ownerUpdatable?: boolean | null | undefined; +}; +export type DepositingSettingsInput = { + agreement?: string | null | undefined; + enabled?: boolean | null | undefined; +}; export type EntitiesSettingsInput = { suppressExternalLinks?: boolean | null | undefined; }; diff --git a/packages/admin/__generated__/ItemTypeaheadQuery.graphql.ts b/packages/admin/__generated__/ItemTypeaheadQuery.graphql.ts index cdd225639..c9e7e6af8 100644 --- a/packages/admin/__generated__/ItemTypeaheadQuery.graphql.ts +++ b/packages/admin/__generated__/ItemTypeaheadQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<66a9fb4ba42e2f603b7a13dcd791b201>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -86,14 +86,6 @@ v4 = { "kind": "ScalarField", "name": "id", "storageKey": null -}, -v5 = { - "kind": "InlineFragment", - "selections": [ - (v4/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" }; return { "fragment": { @@ -143,7 +135,14 @@ return { "name": "entity", "plural": false, "selections": [ - (v5/*: any*/) + { + "kind": "InlineFragment", + "selections": [ + (v4/*: any*/) + ], + "type": "Node", + "abstractKey": "__isNode" + } ], "storageKey": null } @@ -217,7 +216,11 @@ return { "name": "__typename", "storageKey": null }, - (v5/*: any*/) + (v4/*: any*/), + { + "kind": "TypeDiscriminator", + "abstractKey": "__isNode" + } ], "storageKey": null }, @@ -237,12 +240,12 @@ return { ] }, "params": { - "cacheID": "148f499b3eb03c999ac4b5faf2d4c3cd", + "cacheID": "59fd1f2801d75aa6711d080fdb9adc04", "id": null, "metadata": {}, "name": "ItemTypeaheadQuery", "operationKind": "query", - "text": "query ItemTypeaheadQuery(\n $query: String!\n) {\n search(visibility: ALL) {\n results(prefix: $query, page: 1, perPage: 50, order: TITLE_ASCENDING, scope: ITEM) {\n edges {\n node {\n title\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n }\n }\n }\n}\n" + "text": "query ItemTypeaheadQuery(\n $query: String!\n) {\n search(visibility: ALL) {\n results(prefix: $query, page: 1, perPage: 50, order: TITLE_ASCENDING, scope: ITEM) {\n edges {\n node {\n title\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n id\n }\n id\n }\n }\n }\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/ItemUpdateDrawerQuery.graphql.ts b/packages/admin/__generated__/ItemUpdateDrawerQuery.graphql.ts index 128b810ce..a9c14dc76 100644 --- a/packages/admin/__generated__/ItemUpdateDrawerQuery.graphql.ts +++ b/packages/admin/__generated__/ItemUpdateDrawerQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<820b385beab44484ad32eb2278df668d>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -605,7 +605,7 @@ v45 = [ (v12/*: any*/), (v44/*: any*/), (v3/*: any*/), - (v19/*: any*/) + (v2/*: any*/) ], "storageKey": null } @@ -660,7 +660,7 @@ v46 = [ "type": "Item", "abstractKey": null }, - (v19/*: any*/) + (v2/*: any*/) ], "storageKey": null } @@ -1151,12 +1151,12 @@ return { ] }, "params": { - "cacheID": "61001297f2f51d9520e8ad706c37733c", + "cacheID": "3df20676b80e75dbf0f03126241b9209", "id": null, "metadata": {}, "name": "ItemUpdateDrawerQuery", "operationKind": "query", - "text": "query ItemUpdateDrawerQuery(\n $itemSlug: Slug!\n) {\n item(slug: $itemSlug) {\n id\n title\n ...ItemUpdateFormFragment\n schemaVersion {\n enforcedChildKinds\n id\n }\n allowedActions\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment ItemUpdateFormFieldsFragment on Item {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment ItemUpdateFormFragment on Item {\n itemId: id\n ...ParentSelectorFragment\n ...HarvestingStatusFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ...ItemUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ParentSelectorFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Community {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ... on Item {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Item {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" + "text": "query ItemUpdateDrawerQuery(\n $itemSlug: Slug!\n) {\n item(slug: $itemSlug) {\n id\n title\n ...ItemUpdateFormFragment\n schemaVersion {\n enforcedChildKinds\n id\n }\n allowedActions\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment ItemUpdateFormFieldsFragment on Item {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment ItemUpdateFormFragment on Item {\n itemId: id\n ...ParentSelectorFragment\n ...HarvestingStatusFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ...ItemUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ParentSelectorFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Community {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ... on Item {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Item {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/ItemUpdateFormMutation.graphql.ts b/packages/admin/__generated__/ItemUpdateFormMutation.graphql.ts index 21756ef07..7385516f4 100644 --- a/packages/admin/__generated__/ItemUpdateFormMutation.graphql.ts +++ b/packages/admin/__generated__/ItemUpdateFormMutation.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<4daa884771c1558225226f7fcbcbcc49>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -591,15 +591,7 @@ v37 = { "kind": "TypeDiscriminator", "abstractKey": "__isEntity" }, -v38 = { - "kind": "InlineFragment", - "selections": [ - (v11/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" -}, -v39 = [ +v38 = [ { "alias": null, "args": null, @@ -619,7 +611,7 @@ v39 = [ (v12/*: any*/), (v37/*: any*/), (v7/*: any*/), - (v38/*: any*/) + (v11/*: any*/) ], "storageKey": null } @@ -627,7 +619,7 @@ v39 = [ "storageKey": null } ], -v40 = [ +v39 = [ { "alias": null, "args": null, @@ -670,17 +662,17 @@ v40 = [ }, { "kind": "InlineFragment", - "selections": (v39/*: any*/), + "selections": (v38/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v39/*: any*/), + "selections": (v38/*: any*/), "type": "Item", "abstractKey": null }, - (v38/*: any*/) + (v11/*: any*/) ], "storageKey": null } @@ -689,24 +681,24 @@ v40 = [ }, (v14/*: any*/) ], -v41 = { +v40 = { "kind": "InlineFragment", - "selections": (v40/*: any*/), + "selections": (v39/*: any*/), "type": "EntityProperty", "abstractKey": null }, -v42 = { +v41 = { "kind": "InlineFragment", - "selections": (v40/*: any*/), + "selections": (v39/*: any*/), "type": "EntitiesProperty", "abstractKey": null }, -v43 = [ +v42 = [ (v33/*: any*/), (v13/*: any*/), (v9/*: any*/) ], -v44 = [ +v43 = [ { "alias": "entityId", "args": null, @@ -748,7 +740,7 @@ v44 = [ "storageKey": null } ], -v45 = [ +v44 = [ { "alias": null, "args": null, @@ -994,8 +986,8 @@ return { (v34/*: any*/), (v35/*: any*/), (v36/*: any*/), - (v41/*: any*/), - (v42/*: any*/) + (v40/*: any*/), + (v41/*: any*/) ], "storageKey": null } @@ -1023,8 +1015,8 @@ return { (v34/*: any*/), (v35/*: any*/), (v36/*: any*/), - (v41/*: any*/), - (v42/*: any*/) + (v40/*: any*/), + (v41/*: any*/) ], "type": "ScalarProperty", "abstractKey": "__isScalarProperty" @@ -1047,7 +1039,7 @@ return { "kind": "LinkedField", "name": "assets", "plural": true, - "selections": (v43/*: any*/), + "selections": (v42/*: any*/), "storageKey": null }, { @@ -1057,7 +1049,7 @@ return { "kind": "LinkedField", "name": "contributors", "plural": true, - "selections": (v43/*: any*/), + "selections": (v42/*: any*/), "storageKey": null }, { @@ -1096,19 +1088,19 @@ return { "selections": [ { "kind": "InlineFragment", - "selections": (v44/*: any*/), + "selections": (v43/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v44/*: any*/), + "selections": (v43/*: any*/), "type": "Item", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v44/*: any*/), + "selections": (v43/*: any*/), "type": "Community", "abstractKey": null } @@ -1129,13 +1121,13 @@ return { "selections": [ { "kind": "InlineFragment", - "selections": (v45/*: any*/), + "selections": (v44/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v45/*: any*/), + "selections": (v44/*: any*/), "type": "Item", "abstractKey": null } @@ -1154,12 +1146,12 @@ return { ] }, "params": { - "cacheID": "bac51272a78b9e3141686dc34ccfaa44", + "cacheID": "7fbe7a8c1f7b0ae44ec04aaa9560bcad", "id": null, "metadata": {}, "name": "ItemUpdateFormMutation", "operationKind": "mutation", - "text": "mutation ItemUpdateFormMutation(\n $input: UpdateItemInput!\n) {\n updateItem(input: $input) {\n item {\n ...ItemUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...HarvestingStatusFragment\n id\n }\n ...MutationForm_mutationErrors\n ...ItemUpdateForm_schemaErrorsFragment\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment ItemUpdateFormFieldsFragment on Item {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment ItemUpdateForm_schemaErrorsFragment on UpdateItemPayload {\n schemaErrors {\n hint\n message\n metadata\n path\n }\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment MutationForm_mutationErrors on StandardMutationPayload {\n __isStandardMutationPayload: __typename\n attributeErrors {\n path\n type\n messages\n }\n globalErrors {\n message\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n" + "text": "mutation ItemUpdateFormMutation(\n $input: UpdateItemInput!\n) {\n updateItem(input: $input) {\n item {\n ...ItemUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...HarvestingStatusFragment\n id\n }\n ...MutationForm_mutationErrors\n ...ItemUpdateForm_schemaErrorsFragment\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment ItemUpdateFormFieldsFragment on Item {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment ItemUpdateForm_schemaErrorsFragment on UpdateItemPayload {\n schemaErrors {\n hint\n message\n metadata\n path\n }\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment MutationForm_mutationErrors on StandardMutationPayload {\n __isStandardMutationPayload: __typename\n attributeErrors {\n path\n type\n messages\n }\n globalErrors {\n message\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n" } }; })(); diff --git a/packages/admin/__generated__/LinkTargetTypeaheadQuery.graphql.ts b/packages/admin/__generated__/LinkTargetTypeaheadQuery.graphql.ts index 12c5ccf6c..01292a79d 100644 --- a/packages/admin/__generated__/LinkTargetTypeaheadQuery.graphql.ts +++ b/packages/admin/__generated__/LinkTargetTypeaheadQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<842ae9e14e3b776ca52ab036e1876fe0>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -211,15 +211,7 @@ v10 = { "name": "id", "storageKey": null }, -v11 = { - "kind": "InlineFragment", - "selections": [ - (v10/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" -}, -v12 = [ +v11 = [ { "alias": null, "args": null, @@ -239,7 +231,7 @@ v12 = [ (v4/*: any*/), (v9/*: any*/), (v5/*: any*/), - (v11/*: any*/) + (v10/*: any*/) ], "storageKey": null } @@ -247,7 +239,7 @@ v12 = [ "storageKey": null } ], -v13 = [ +v12 = [ { "alias": null, "args": (v2/*: any*/), @@ -299,17 +291,17 @@ v13 = [ }, { "kind": "InlineFragment", - "selections": (v12/*: any*/), + "selections": (v11/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v12/*: any*/), + "selections": (v11/*: any*/), "type": "Item", "abstractKey": null }, - (v11/*: any*/) + (v10/*: any*/) ], "storageKey": null }, @@ -369,7 +361,7 @@ return { "kind": "LinkedField", "name": "collection", "plural": false, - "selections": (v13/*: any*/), + "selections": (v12/*: any*/), "storageKey": null }, { @@ -379,18 +371,18 @@ return { "kind": "LinkedField", "name": "item", "plural": false, - "selections": (v13/*: any*/), + "selections": (v12/*: any*/), "storageKey": null } ] }, "params": { - "cacheID": "6fdfaa40dbef60ae42e42e0c93ea41e9", + "cacheID": "c5ced593d659682217c48f93cce98fed", "id": null, "metadata": {}, "name": "LinkTargetTypeaheadQuery", "operationKind": "query", - "text": "query LinkTargetTypeaheadQuery(\n $slug: Slug!\n $title: String\n) {\n collection(slug: $slug) {\n linkTargetCandidates(title: $title) {\n ...LinkTargetTypeaheadFragment\n }\n id\n }\n item(slug: $slug) {\n linkTargetCandidates(title: $title) {\n ...LinkTargetTypeaheadFragment\n }\n id\n }\n}\n\nfragment LinkTargetTypeaheadFragment on LinkTargetCandidateConnection {\n edges {\n node {\n targetId\n target {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n }\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n" + "text": "query LinkTargetTypeaheadQuery(\n $slug: Slug!\n $title: String\n) {\n collection(slug: $slug) {\n linkTargetCandidates(title: $title) {\n ...LinkTargetTypeaheadFragment\n }\n id\n }\n item(slug: $slug) {\n linkTargetCandidates(title: $title) {\n ...LinkTargetTypeaheadFragment\n }\n id\n }\n}\n\nfragment LinkTargetTypeaheadFragment on LinkTargetCandidateConnection {\n edges {\n node {\n targetId\n target {\n __typename\n ...getEntityTitleFragment\n id\n }\n id\n }\n }\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/SearchLayoutQuery.graphql.ts b/packages/admin/__generated__/SearchLayoutQuery.graphql.ts index 970067cbc..85a2eb7e5 100644 --- a/packages/admin/__generated__/SearchLayoutQuery.graphql.ts +++ b/packages/admin/__generated__/SearchLayoutQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<8cf9949e3f15d3411e7d69697bb0fccb>> * @lightSyntaxTransform * @nogrep */ @@ -156,21 +156,21 @@ v13 = { "alias": null, "args": null, "kind": "ScalarField", - "name": "id", + "name": "name", "storageKey": null }, v14 = { "alias": null, "args": null, "kind": "ScalarField", - "name": "name", + "name": "kind", "storageKey": null }, v15 = { "alias": null, "args": null, "kind": "ScalarField", - "name": "kind", + "name": "id", "storageKey": null }, v16 = { @@ -343,22 +343,6 @@ return { "plural": false, "selections": [ (v12/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v13/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - }, - { - "kind": "InlineFragment", - "selections": [ - (v11/*: any*/) - ], - "type": "Sluggable", - "abstractKey": "__isSluggable" - }, { "kind": "TypeDiscriminator", "abstractKey": "__isEntity" @@ -378,7 +362,7 @@ return { "name": "schemaVersion", "plural": false, "selections": [ - (v14/*: any*/), + (v13/*: any*/), { "alias": null, "args": null, @@ -386,8 +370,8 @@ return { "name": "number", "storageKey": null }, - (v15/*: any*/), - (v13/*: any*/) + (v14/*: any*/), + (v15/*: any*/) ], "storageKey": null }, @@ -473,6 +457,19 @@ return { ], "storageKey": null }, + (v15/*: any*/), + { + "kind": "TypeDiscriminator", + "abstractKey": "__isNode" + }, + { + "kind": "InlineFragment", + "selections": [ + (v11/*: any*/) + ], + "type": "Sluggable", + "abstractKey": "__isSluggable" + }, { "kind": "InlineFragment", "selections": [ @@ -502,7 +499,7 @@ return { ], "storageKey": null }, - (v13/*: any*/) + (v15/*: any*/) ], "storageKey": null }, @@ -612,7 +609,7 @@ return { "name": "availableSchemaVersions", "plural": true, "selections": [ - (v14/*: any*/), + (v13/*: any*/), { "alias": null, "args": null, @@ -622,7 +619,7 @@ return { "plural": false, "selections": [ (v11/*: any*/), - (v13/*: any*/) + (v15/*: any*/) ], "storageKey": null }, @@ -648,8 +645,8 @@ return { ], "storageKey": null }, - (v13/*: any*/), - (v15/*: any*/) + (v15/*: any*/), + (v14/*: any*/) ], "storageKey": null } @@ -659,12 +656,12 @@ return { ] }, "params": { - "cacheID": "38fd87eb660c6b191e54940f6d898edc", + "cacheID": "c865368653994c58cb9c3c8eb51d9614", "id": null, "metadata": {}, "name": "SearchLayoutQuery", "operationKind": "query", - "text": "query SearchLayoutQuery(\n $query: String\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $order: EntityOrder\n $schema: [String!]\n) {\n search(visibility: ALL) {\n ...SearchResultListFragment_dJrY9\n }\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchResultListFragment_dJrY9 on SearchScope {\n results(access: UPDATE, query: $query, page: $page, predicates: $predicates, order: $order, perPage: 20, schema: $schema) {\n nodes {\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n kind\n id\n }\n allowedActions\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n id\n }\n pageInfo {\n totalCount\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" + "text": "query SearchLayoutQuery(\n $query: String\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $order: EntityOrder\n $schema: [String!]\n) {\n search(visibility: ALL) {\n ...SearchResultListFragment_dJrY9\n }\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchResultListFragment_dJrY9 on SearchScope {\n results(access: UPDATE, query: $query, page: $page, predicates: $predicates, order: $order, perPage: 20, schema: $schema) {\n nodes {\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n kind\n id\n }\n allowedActions\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n id\n }\n id\n }\n pageInfo {\n totalCount\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" } }; })(); diff --git a/packages/admin/__generated__/collectionsListQuery.graphql.ts b/packages/admin/__generated__/collectionsListQuery.graphql.ts index 11749daef..c1f5c0ec3 100644 --- a/packages/admin/__generated__/collectionsListQuery.graphql.ts +++ b/packages/admin/__generated__/collectionsListQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<9c82fc4ddd1c86dee2fd73e27758b81d>> * @lightSyntaxTransform * @nogrep */ @@ -310,13 +310,17 @@ v23 = { "storageKey": null }, v24 = { + "kind": "TypeDiscriminator", + "abstractKey": "__isNode" +}, +v25 = { "alias": null, "args": null, "kind": "ScalarField", "name": "value", "storageKey": null }, -v25 = { +v26 = { "kind": "InlineFragment", "selections": [ { @@ -334,7 +338,7 @@ v25 = { "name": "precision", "storageKey": null }, - (v24/*: any*/) + (v25/*: any*/) ], "storageKey": null } @@ -342,7 +346,7 @@ v25 = { "type": "ReferencesGlobalEntityDates", "abstractKey": "__isReferencesGlobalEntityDates" }, -v26 = { +v27 = { "kind": "InlineFragment", "selections": [ { @@ -402,9 +406,6 @@ v26 = { "type": "Paginated", "abstractKey": "__isPaginated" }, -v27 = [ - (v16/*: any*/) -], v28 = { "alias": null, "args": null, @@ -459,14 +460,17 @@ v33 = { "plural": true, "selections": [ (v29/*: any*/), - (v24/*: any*/) + (v25/*: any*/) ], "storageKey": null } ], "type": "SelectProperty", "abstractKey": null -}; +}, +v34 = [ + (v16/*: any*/) +]; return { "fragment": { "argumentDefinitions": [ @@ -600,10 +604,7 @@ return { "selections": [ (v22/*: any*/), (v23/*: any*/), - { - "kind": "TypeDiscriminator", - "abstractKey": "__isNode" - }, + (v24/*: any*/), { "kind": "TypeDiscriminator", "abstractKey": "__isSluggable" @@ -612,11 +613,11 @@ return { "type": "Entity", "abstractKey": "__isEntity" }, - (v25/*: any*/) + (v26/*: any*/) ], "storageKey": null }, - (v26/*: any*/) + (v27/*: any*/) ], "storageKey": null } @@ -633,100 +634,6 @@ return { "name": "search", "plural": false, "selections": [ - { - "condition": "hasQuery", - "kind": "Condition", - "passingValue": true, - "selections": [ - { - "alias": null, - "args": [ - (v6/*: any*/), - (v7/*: any*/), - (v8/*: any*/), - (v9/*: any*/), - (v12/*: any*/), - (v13/*: any*/), - (v14/*: any*/), - { - "kind": "Literal", - "name": "scope", - "value": "COLLECTION" - } - ], - "concreteType": "SearchResultConnection", - "kind": "LinkedField", - "name": "results", - "plural": false, - "selections": [ - { - "alias": null, - "args": null, - "concreteType": "SearchResult", - "kind": "LinkedField", - "name": "nodes", - "plural": true, - "selections": [ - (v18/*: any*/), - { - "alias": null, - "args": null, - "concreteType": null, - "kind": "LinkedField", - "name": "entity", - "plural": false, - "selections": [ - (v22/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v18/*: any*/) - ], - "type": "Sluggable", - "abstractKey": "__isSluggable" - }, - { - "kind": "InlineFragment", - "selections": [ - (v15/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - }, - { - "kind": "TypeDiscriminator", - "abstractKey": "__isEntity" - }, - (v17/*: any*/), - (v20/*: any*/), - { - "kind": "InlineFragment", - "selections": (v27/*: any*/), - "type": "Collection", - "abstractKey": null - }, - { - "kind": "InlineFragment", - "selections": (v27/*: any*/), - "type": "Item", - "abstractKey": null - }, - (v21/*: any*/), - (v25/*: any*/), - (v23/*: any*/) - ], - "storageKey": null - }, - (v15/*: any*/) - ], - "storageKey": null - }, - (v26/*: any*/) - ], - "storageKey": null - } - ] - }, { "alias": null, "args": null, @@ -805,6 +712,94 @@ return { } ], "storageKey": null + }, + { + "condition": "hasQuery", + "kind": "Condition", + "passingValue": true, + "selections": [ + { + "alias": null, + "args": [ + (v6/*: any*/), + (v7/*: any*/), + (v8/*: any*/), + (v9/*: any*/), + (v12/*: any*/), + (v13/*: any*/), + (v14/*: any*/), + { + "kind": "Literal", + "name": "scope", + "value": "COLLECTION" + } + ], + "concreteType": "SearchResultConnection", + "kind": "LinkedField", + "name": "results", + "plural": false, + "selections": [ + { + "alias": null, + "args": null, + "concreteType": "SearchResult", + "kind": "LinkedField", + "name": "nodes", + "plural": true, + "selections": [ + (v18/*: any*/), + { + "alias": null, + "args": null, + "concreteType": null, + "kind": "LinkedField", + "name": "entity", + "plural": false, + "selections": [ + (v22/*: any*/), + { + "kind": "TypeDiscriminator", + "abstractKey": "__isEntity" + }, + (v17/*: any*/), + (v20/*: any*/), + (v21/*: any*/), + (v23/*: any*/), + (v15/*: any*/), + { + "kind": "InlineFragment", + "selections": [ + (v18/*: any*/) + ], + "type": "Sluggable", + "abstractKey": "__isSluggable" + }, + (v24/*: any*/), + { + "kind": "InlineFragment", + "selections": (v34/*: any*/), + "type": "Collection", + "abstractKey": null + }, + { + "kind": "InlineFragment", + "selections": (v34/*: any*/), + "type": "Item", + "abstractKey": null + }, + (v26/*: any*/) + ], + "storageKey": null + }, + (v15/*: any*/) + ], + "storageKey": null + }, + (v27/*: any*/) + ], + "storageKey": null + } + ] } ], "storageKey": "search(visibility:\"ALL\")" @@ -812,12 +807,12 @@ return { ] }, "params": { - "cacheID": "576cb406cb21b30a8d43619730d4f2d1", + "cacheID": "5dba716c44f02fe010dc4b69a2832800", "id": null, "metadata": {}, "name": "collectionsListQuery", "operationKind": "query", - "text": "query collectionsListQuery(\n $query: String\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $order: EntityOrder\n $hasQuery: Boolean!\n $schema: [String!]\n) {\n viewer {\n collections(access: UPDATE, order: $order, page: $page, perPage: 20) @skip(if: $hasQuery) {\n ...CollectionListFragment\n }\n id\n }\n search(visibility: ALL) {\n ...CollectionListSearchFragment_1V70IR\n }\n}\n\nfragment CollectionListFragment on CollectionConnection {\n nodes {\n id\n createdAt\n title\n slug\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment CollectionListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: COLLECTION, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on Node {\n __isNode: __typename\n id\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n ... on Collection {\n createdAt\n }\n ... on Item {\n createdAt\n }\n allowedActions\n ...PublishedDateColumnFragment\n ...EntityThumbnailColumnFragment\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" + "text": "query collectionsListQuery(\n $query: String\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $order: EntityOrder\n $hasQuery: Boolean!\n $schema: [String!]\n) {\n viewer {\n collections(access: UPDATE, order: $order, page: $page, perPage: 20) @skip(if: $hasQuery) {\n ...CollectionListFragment\n }\n id\n }\n search(visibility: ALL) {\n ...CollectionListSearchFragment_1V70IR\n }\n}\n\nfragment CollectionListFragment on CollectionConnection {\n nodes {\n id\n createdAt\n title\n slug\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment CollectionListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: COLLECTION, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on Node {\n __isNode: __typename\n id\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n ... on Collection {\n createdAt\n }\n ... on Item {\n createdAt\n }\n allowedActions\n ...PublishedDateColumnFragment\n ...EntityThumbnailColumnFragment\n id\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" } }; })(); diff --git a/packages/admin/__generated__/collectionsManageSlugCollectionsPagesQuery.graphql.ts b/packages/admin/__generated__/collectionsManageSlugCollectionsPagesQuery.graphql.ts index 9229344e1..d352eb630 100644 --- a/packages/admin/__generated__/collectionsManageSlugCollectionsPagesQuery.graphql.ts +++ b/packages/admin/__generated__/collectionsManageSlugCollectionsPagesQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -322,13 +322,17 @@ v24 = { "storageKey": null }, v25 = { + "kind": "TypeDiscriminator", + "abstractKey": "__isNode" +}, +v26 = { "alias": null, "args": null, "kind": "ScalarField", "name": "value", "storageKey": null }, -v26 = { +v27 = { "kind": "InlineFragment", "selections": [ { @@ -346,7 +350,7 @@ v26 = { "name": "precision", "storageKey": null }, - (v25/*: any*/) + (v26/*: any*/) ], "storageKey": null } @@ -354,7 +358,7 @@ v26 = { "type": "ReferencesGlobalEntityDates", "abstractKey": "__isReferencesGlobalEntityDates" }, -v27 = { +v28 = { "kind": "InlineFragment", "selections": [ { @@ -414,9 +418,6 @@ v27 = { "type": "Paginated", "abstractKey": "__isPaginated" }, -v28 = [ - (v17/*: any*/) -], v29 = { "alias": null, "args": null, @@ -471,14 +472,17 @@ v34 = { "plural": true, "selections": [ (v30/*: any*/), - (v25/*: any*/) + (v26/*: any*/) ], "storageKey": null } ], "type": "SelectProperty", "abstractKey": null -}; +}, +v35 = [ + (v17/*: any*/) +]; return { "fragment": { "argumentDefinitions": [ @@ -601,10 +605,7 @@ return { "selections": [ (v23/*: any*/), (v24/*: any*/), - { - "kind": "TypeDiscriminator", - "abstractKey": "__isNode" - }, + (v25/*: any*/), { "kind": "TypeDiscriminator", "abstractKey": "__isSluggable" @@ -613,11 +614,11 @@ return { "type": "Entity", "abstractKey": "__isEntity" }, - (v26/*: any*/) + (v27/*: any*/) ], "storageKey": null }, - (v27/*: any*/) + (v28/*: any*/) ], "storageKey": null }, @@ -629,104 +630,6 @@ return { "name": "search", "plural": false, "selections": [ - { - "condition": "hasQuery", - "kind": "Condition", - "passingValue": true, - "selections": [ - { - "alias": null, - "args": [ - { - "kind": "Literal", - "name": "access", - "value": "UPDATE" - }, - (v8/*: any*/), - (v9/*: any*/), - (v10/*: any*/), - (v13/*: any*/), - (v14/*: any*/), - (v15/*: any*/), - { - "kind": "Literal", - "name": "scope", - "value": "COLLECTION" - } - ], - "concreteType": "SearchResultConnection", - "kind": "LinkedField", - "name": "results", - "plural": false, - "selections": [ - { - "alias": null, - "args": null, - "concreteType": "SearchResult", - "kind": "LinkedField", - "name": "nodes", - "plural": true, - "selections": [ - (v19/*: any*/), - { - "alias": null, - "args": null, - "concreteType": null, - "kind": "LinkedField", - "name": "entity", - "plural": false, - "selections": [ - (v23/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v19/*: any*/) - ], - "type": "Sluggable", - "abstractKey": "__isSluggable" - }, - { - "kind": "InlineFragment", - "selections": [ - (v16/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - }, - { - "kind": "TypeDiscriminator", - "abstractKey": "__isEntity" - }, - (v18/*: any*/), - (v21/*: any*/), - { - "kind": "InlineFragment", - "selections": (v28/*: any*/), - "type": "Collection", - "abstractKey": null - }, - { - "kind": "InlineFragment", - "selections": (v28/*: any*/), - "type": "Item", - "abstractKey": null - }, - (v22/*: any*/), - (v26/*: any*/), - (v24/*: any*/) - ], - "storageKey": null - }, - (v16/*: any*/) - ], - "storageKey": null - }, - (v27/*: any*/) - ], - "storageKey": null - } - ] - }, { "alias": null, "args": null, @@ -805,6 +708,98 @@ return { } ], "storageKey": null + }, + { + "condition": "hasQuery", + "kind": "Condition", + "passingValue": true, + "selections": [ + { + "alias": null, + "args": [ + { + "kind": "Literal", + "name": "access", + "value": "UPDATE" + }, + (v8/*: any*/), + (v9/*: any*/), + (v10/*: any*/), + (v13/*: any*/), + (v14/*: any*/), + (v15/*: any*/), + { + "kind": "Literal", + "name": "scope", + "value": "COLLECTION" + } + ], + "concreteType": "SearchResultConnection", + "kind": "LinkedField", + "name": "results", + "plural": false, + "selections": [ + { + "alias": null, + "args": null, + "concreteType": "SearchResult", + "kind": "LinkedField", + "name": "nodes", + "plural": true, + "selections": [ + (v19/*: any*/), + { + "alias": null, + "args": null, + "concreteType": null, + "kind": "LinkedField", + "name": "entity", + "plural": false, + "selections": [ + (v23/*: any*/), + { + "kind": "TypeDiscriminator", + "abstractKey": "__isEntity" + }, + (v18/*: any*/), + (v21/*: any*/), + (v22/*: any*/), + (v24/*: any*/), + (v16/*: any*/), + { + "kind": "InlineFragment", + "selections": [ + (v19/*: any*/) + ], + "type": "Sluggable", + "abstractKey": "__isSluggable" + }, + (v25/*: any*/), + { + "kind": "InlineFragment", + "selections": (v35/*: any*/), + "type": "Collection", + "abstractKey": null + }, + { + "kind": "InlineFragment", + "selections": (v35/*: any*/), + "type": "Item", + "abstractKey": null + }, + (v27/*: any*/) + ], + "storageKey": null + }, + (v16/*: any*/) + ], + "storageKey": null + }, + (v28/*: any*/) + ], + "storageKey": null + } + ] } ], "storageKey": "search(maxDepth:1,visibility:\"ALL\")" @@ -816,12 +811,12 @@ return { ] }, "params": { - "cacheID": "05ba5f33b1ec31d300aa2e038bfa6435", + "cacheID": "ea2c3c36f80cad2e8beabc471882ef38", "id": null, "metadata": {}, "name": "collectionsManageSlugCollectionsPagesQuery", "operationKind": "query", - "text": "query collectionsManageSlugCollectionsPagesQuery(\n $order: EntityOrder\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $query: String\n $hasQuery: Boolean!\n $slug: Slug!\n $schema: [String!]\n) {\n collection(slug: $slug) {\n collections(order: $order, page: $page, perPage: 20) {\n ...CollectionListFragment\n }\n search(visibility: ALL, maxDepth: 1) {\n ...CollectionListSearchFragment_1V70IR\n }\n id\n }\n}\n\nfragment CollectionListFragment on CollectionConnection {\n nodes {\n id\n createdAt\n title\n slug\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment CollectionListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: COLLECTION, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on Node {\n __isNode: __typename\n id\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n ... on Collection {\n createdAt\n }\n ... on Item {\n createdAt\n }\n allowedActions\n ...PublishedDateColumnFragment\n ...EntityThumbnailColumnFragment\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" + "text": "query collectionsManageSlugCollectionsPagesQuery(\n $order: EntityOrder\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $query: String\n $hasQuery: Boolean!\n $slug: Slug!\n $schema: [String!]\n) {\n collection(slug: $slug) {\n collections(order: $order, page: $page, perPage: 20) {\n ...CollectionListFragment\n }\n search(visibility: ALL, maxDepth: 1) {\n ...CollectionListSearchFragment_1V70IR\n }\n id\n }\n}\n\nfragment CollectionListFragment on CollectionConnection {\n nodes {\n id\n createdAt\n title\n slug\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment CollectionListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: COLLECTION, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on Node {\n __isNode: __typename\n id\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n ... on Collection {\n createdAt\n }\n ... on Item {\n createdAt\n }\n allowedActions\n ...PublishedDateColumnFragment\n ...EntityThumbnailColumnFragment\n id\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" } }; })(); diff --git a/packages/admin/__generated__/collectionsSlugCommunitiesPagesQuery.graphql.ts b/packages/admin/__generated__/collectionsSlugCommunitiesPagesQuery.graphql.ts index 4778efc7e..0f6505508 100644 --- a/packages/admin/__generated__/collectionsSlugCommunitiesPagesQuery.graphql.ts +++ b/packages/admin/__generated__/collectionsSlugCommunitiesPagesQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<99b331d18599b5b4834f4a65fee122e0>> + * @generated SignedSource<<39dc26f57a2a9dded177f8b630fdac16>> * @lightSyntaxTransform * @nogrep */ @@ -322,13 +322,17 @@ v24 = { "storageKey": null }, v25 = { + "kind": "TypeDiscriminator", + "abstractKey": "__isNode" +}, +v26 = { "alias": null, "args": null, "kind": "ScalarField", "name": "value", "storageKey": null }, -v26 = { +v27 = { "kind": "InlineFragment", "selections": [ { @@ -346,7 +350,7 @@ v26 = { "name": "precision", "storageKey": null }, - (v25/*: any*/) + (v26/*: any*/) ], "storageKey": null } @@ -354,7 +358,7 @@ v26 = { "type": "ReferencesGlobalEntityDates", "abstractKey": "__isReferencesGlobalEntityDates" }, -v27 = { +v28 = { "kind": "InlineFragment", "selections": [ { @@ -414,9 +418,6 @@ v27 = { "type": "Paginated", "abstractKey": "__isPaginated" }, -v28 = [ - (v17/*: any*/) -], v29 = { "alias": null, "args": null, @@ -471,14 +472,17 @@ v34 = { "plural": true, "selections": [ (v30/*: any*/), - (v25/*: any*/) + (v26/*: any*/) ], "storageKey": null } ], "type": "SelectProperty", "abstractKey": null -}; +}, +v35 = [ + (v17/*: any*/) +]; return { "fragment": { "argumentDefinitions": [ @@ -601,10 +605,7 @@ return { "selections": [ (v23/*: any*/), (v24/*: any*/), - { - "kind": "TypeDiscriminator", - "abstractKey": "__isNode" - }, + (v25/*: any*/), { "kind": "TypeDiscriminator", "abstractKey": "__isSluggable" @@ -613,11 +614,11 @@ return { "type": "Entity", "abstractKey": "__isEntity" }, - (v26/*: any*/) + (v27/*: any*/) ], "storageKey": null }, - (v27/*: any*/) + (v28/*: any*/) ], "storageKey": null }, @@ -629,104 +630,6 @@ return { "name": "search", "plural": false, "selections": [ - { - "condition": "hasQuery", - "kind": "Condition", - "passingValue": true, - "selections": [ - { - "alias": null, - "args": [ - { - "kind": "Literal", - "name": "access", - "value": "UPDATE" - }, - (v8/*: any*/), - (v9/*: any*/), - (v10/*: any*/), - (v13/*: any*/), - (v14/*: any*/), - (v15/*: any*/), - { - "kind": "Literal", - "name": "scope", - "value": "COLLECTION" - } - ], - "concreteType": "SearchResultConnection", - "kind": "LinkedField", - "name": "results", - "plural": false, - "selections": [ - { - "alias": null, - "args": null, - "concreteType": "SearchResult", - "kind": "LinkedField", - "name": "nodes", - "plural": true, - "selections": [ - (v19/*: any*/), - { - "alias": null, - "args": null, - "concreteType": null, - "kind": "LinkedField", - "name": "entity", - "plural": false, - "selections": [ - (v23/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v19/*: any*/) - ], - "type": "Sluggable", - "abstractKey": "__isSluggable" - }, - { - "kind": "InlineFragment", - "selections": [ - (v16/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - }, - { - "kind": "TypeDiscriminator", - "abstractKey": "__isEntity" - }, - (v18/*: any*/), - (v21/*: any*/), - { - "kind": "InlineFragment", - "selections": (v28/*: any*/), - "type": "Collection", - "abstractKey": null - }, - { - "kind": "InlineFragment", - "selections": (v28/*: any*/), - "type": "Item", - "abstractKey": null - }, - (v22/*: any*/), - (v26/*: any*/), - (v24/*: any*/) - ], - "storageKey": null - }, - (v16/*: any*/) - ], - "storageKey": null - }, - (v27/*: any*/) - ], - "storageKey": null - } - ] - }, { "alias": null, "args": null, @@ -805,6 +708,98 @@ return { } ], "storageKey": null + }, + { + "condition": "hasQuery", + "kind": "Condition", + "passingValue": true, + "selections": [ + { + "alias": null, + "args": [ + { + "kind": "Literal", + "name": "access", + "value": "UPDATE" + }, + (v8/*: any*/), + (v9/*: any*/), + (v10/*: any*/), + (v13/*: any*/), + (v14/*: any*/), + (v15/*: any*/), + { + "kind": "Literal", + "name": "scope", + "value": "COLLECTION" + } + ], + "concreteType": "SearchResultConnection", + "kind": "LinkedField", + "name": "results", + "plural": false, + "selections": [ + { + "alias": null, + "args": null, + "concreteType": "SearchResult", + "kind": "LinkedField", + "name": "nodes", + "plural": true, + "selections": [ + (v19/*: any*/), + { + "alias": null, + "args": null, + "concreteType": null, + "kind": "LinkedField", + "name": "entity", + "plural": false, + "selections": [ + (v23/*: any*/), + { + "kind": "TypeDiscriminator", + "abstractKey": "__isEntity" + }, + (v18/*: any*/), + (v21/*: any*/), + (v22/*: any*/), + (v24/*: any*/), + (v16/*: any*/), + { + "kind": "InlineFragment", + "selections": [ + (v19/*: any*/) + ], + "type": "Sluggable", + "abstractKey": "__isSluggable" + }, + (v25/*: any*/), + { + "kind": "InlineFragment", + "selections": (v35/*: any*/), + "type": "Collection", + "abstractKey": null + }, + { + "kind": "InlineFragment", + "selections": (v35/*: any*/), + "type": "Item", + "abstractKey": null + }, + (v27/*: any*/) + ], + "storageKey": null + }, + (v16/*: any*/) + ], + "storageKey": null + }, + (v28/*: any*/) + ], + "storageKey": null + } + ] } ], "storageKey": "search(maxDepth:1,visibility:\"ALL\")" @@ -816,12 +811,12 @@ return { ] }, "params": { - "cacheID": "7d584b8a5ec20542258aa725f1fc984d", + "cacheID": "895e6dc427b8bb94d0f7ba8782507ad1", "id": null, "metadata": {}, "name": "collectionsSlugCommunitiesPagesQuery", "operationKind": "query", - "text": "query collectionsSlugCommunitiesPagesQuery(\n $order: EntityOrder\n $page: Int!\n $slug: Slug!\n $predicates: [SearchPredicateInput!]\n $query: String\n $hasQuery: Boolean!\n $schema: [String!]\n) {\n community(slug: $slug) {\n collections(order: $order, page: $page, perPage: 20) {\n ...CollectionListFragment\n }\n search(visibility: ALL, maxDepth: 1) {\n ...CollectionListSearchFragment_1V70IR\n }\n id\n }\n}\n\nfragment CollectionListFragment on CollectionConnection {\n nodes {\n id\n createdAt\n title\n slug\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment CollectionListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: COLLECTION, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on Node {\n __isNode: __typename\n id\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n ... on Collection {\n createdAt\n }\n ... on Item {\n createdAt\n }\n allowedActions\n ...PublishedDateColumnFragment\n ...EntityThumbnailColumnFragment\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" + "text": "query collectionsSlugCommunitiesPagesQuery(\n $order: EntityOrder\n $page: Int!\n $slug: Slug!\n $predicates: [SearchPredicateInput!]\n $query: String\n $hasQuery: Boolean!\n $schema: [String!]\n) {\n community(slug: $slug) {\n collections(order: $order, page: $page, perPage: 20) {\n ...CollectionListFragment\n }\n search(visibility: ALL, maxDepth: 1) {\n ...CollectionListSearchFragment_1V70IR\n }\n id\n }\n}\n\nfragment CollectionListFragment on CollectionConnection {\n nodes {\n id\n createdAt\n title\n slug\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment CollectionListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: COLLECTION, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on Node {\n __isNode: __typename\n id\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n ... on Collection {\n createdAt\n }\n ... on Item {\n createdAt\n }\n allowedActions\n ...PublishedDateColumnFragment\n ...EntityThumbnailColumnFragment\n id\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" } }; })(); diff --git a/packages/admin/__generated__/contributorsListQuery.graphql.ts b/packages/admin/__generated__/contributorsListQuery.graphql.ts index e180320f8..3f8446df8 100644 --- a/packages/admin/__generated__/contributorsListQuery.graphql.ts +++ b/packages/admin/__generated__/contributorsListQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<6b284c06468ec62c4d4311a65ae4046b>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -177,6 +177,28 @@ return { { "alias": null, "args": [ + { + "fields": [ + { + "fields": [ + { + "kind": "Variable", + "name": "needle", + "variableName": "query" + }, + { + "kind": "Literal", + "name": "strategy", + "value": "FUZZY" + } + ], + "kind": "ObjectValue", + "name": "nameSearch" + } + ], + "kind": "ObjectValue", + "name": "filters" + }, { "kind": "Variable", "name": "order", @@ -191,11 +213,6 @@ return { "kind": "Literal", "name": "perPage", "value": 20 - }, - { - "kind": "Variable", - "name": "prefix", - "variableName": "query" } ], "concreteType": "AnyContributorConnection", @@ -382,12 +399,12 @@ return { ] }, "params": { - "cacheID": "f884a06b05478967a8e01e9ea6aafb2b", + "cacheID": "cf2724c0d1ef06e35f9354e5aaab69f4", "id": null, "metadata": {}, "name": "contributorsListQuery", "operationKind": "query", - "text": "query contributorsListQuery(\n $order: ContributorOrder\n $page: Int!\n $query: String\n) {\n ...ContributorListFragment\n}\n\nfragment AvatarFragment on ImageAttachment {\n storage\n small {\n webp {\n ...ImageFragment\n width\n height\n }\n }\n}\n\nfragment ContributorAffiliationColumnFragment on Contributor {\n __isContributor: __typename\n ... on PersonContributor {\n affiliation\n }\n}\n\nfragment ContributorContributionsColumnFragment on Contributor {\n __isContributor: __typename\n contributionCount\n}\n\nfragment ContributorListFragment on Query {\n contributors(order: $order, page: $page, perPage: 20, prefix: $query) {\n nodes {\n __typename\n ... on OrganizationContributor {\n id\n slug\n legalName\n createdAt\n ...ContributorNameColumnFragment\n }\n ... on PersonContributor {\n id\n slug\n givenName\n familyName\n createdAt\n }\n ...ContributorNameColumnFragment\n ...ContributorAffiliationColumnFragment\n ...ContributorContributionsColumnFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n ...ModelListPageFragment\n }\n}\n\nfragment ContributorNameColumnFragment on Contributor {\n __isContributor: __typename\n __typename\n image {\n ...AvatarFragment\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on OrganizationContributor {\n legalName\n }\n ... on PersonContributor {\n givenName\n familyName\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n" + "text": "query contributorsListQuery(\n $order: ContributorOrder\n $page: Int!\n $query: String\n) {\n ...ContributorListFragment\n}\n\nfragment AvatarFragment on ImageAttachment {\n storage\n small {\n webp {\n ...ImageFragment\n width\n height\n }\n }\n}\n\nfragment ContributorAffiliationColumnFragment on Contributor {\n __isContributor: __typename\n ... on PersonContributor {\n affiliation\n }\n}\n\nfragment ContributorContributionsColumnFragment on Contributor {\n __isContributor: __typename\n contributionCount\n}\n\nfragment ContributorListFragment on Query {\n contributors(order: $order, page: $page, perPage: 20, filters: {nameSearch: {needle: $query, strategy: FUZZY}}) {\n nodes {\n __typename\n ... on OrganizationContributor {\n id\n slug\n legalName\n createdAt\n ...ContributorNameColumnFragment\n }\n ... on PersonContributor {\n id\n slug\n givenName\n familyName\n createdAt\n }\n ...ContributorNameColumnFragment\n ...ContributorAffiliationColumnFragment\n ...ContributorContributionsColumnFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n ...ModelListPageFragment\n }\n}\n\nfragment ContributorNameColumnFragment on Contributor {\n __isContributor: __typename\n __typename\n image {\n ...AvatarFragment\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on OrganizationContributor {\n legalName\n }\n ... on PersonContributor {\n givenName\n familyName\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/detailsManageSlugCollectionsPagesQuery.graphql.ts b/packages/admin/__generated__/detailsManageSlugCollectionsPagesQuery.graphql.ts index 6a03d1168..d2e03dbde 100644 --- a/packages/admin/__generated__/detailsManageSlugCollectionsPagesQuery.graphql.ts +++ b/packages/admin/__generated__/detailsManageSlugCollectionsPagesQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<0cb3f1435d9a250477a3588d76b2b814>> * @lightSyntaxTransform * @nogrep */ @@ -585,7 +585,7 @@ v43 = [ (v11/*: any*/), (v42/*: any*/), (v6/*: any*/), - (v18/*: any*/) + (v9/*: any*/) ], "storageKey": null } @@ -640,7 +640,7 @@ v44 = [ "type": "Item", "abstractKey": null }, - (v18/*: any*/) + (v9/*: any*/) ], "storageKey": null } @@ -1117,12 +1117,12 @@ return { ] }, "params": { - "cacheID": "6093f975fe9f7f0b66400d4c5ccc0343", + "cacheID": "fac77608c9a7610f9b8dc07829b362e2", "id": null, "metadata": {}, "name": "detailsManageSlugCollectionsPagesQuery", "operationKind": "query", - "text": "query detailsManageSlugCollectionsPagesQuery(\n $slug: Slug!\n) {\n collection(slug: $slug) {\n ...CollectionUpdateFormFragment\n id\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CollectionUpdateFormFieldsFragment on Collection {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment CollectionUpdateFormFragment on Collection {\n collectionId: id\n ...HarvestingStatusFragment\n ...ParentSelectorFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ...CollectionUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ParentSelectorFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Community {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ... on Item {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Item {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" + "text": "query detailsManageSlugCollectionsPagesQuery(\n $slug: Slug!\n) {\n collection(slug: $slug) {\n ...CollectionUpdateFormFragment\n id\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CollectionUpdateFormFieldsFragment on Collection {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment CollectionUpdateFormFragment on Collection {\n collectionId: id\n ...HarvestingStatusFragment\n ...ParentSelectorFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ...CollectionUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ParentSelectorFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Community {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ... on Item {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Item {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/detailsManageSlugCommunitiesPagesQuery.graphql.ts b/packages/admin/__generated__/detailsManageSlugCommunitiesPagesQuery.graphql.ts index a4456160d..a627f27b0 100644 --- a/packages/admin/__generated__/detailsManageSlugCommunitiesPagesQuery.graphql.ts +++ b/packages/admin/__generated__/detailsManageSlugCommunitiesPagesQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<55c2112e9c73c678685ec8ea6e36246a>> * @lightSyntaxTransform * @nogrep */ @@ -479,15 +479,7 @@ v34 = { "kind": "TypeDiscriminator", "abstractKey": "__isEntity" }, -v35 = { - "kind": "InlineFragment", - "selections": [ - (v9/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" -}, -v36 = [ +v35 = [ { "alias": null, "args": null, @@ -507,7 +499,7 @@ v36 = [ (v10/*: any*/), (v34/*: any*/), (v2/*: any*/), - (v35/*: any*/) + (v9/*: any*/) ], "storageKey": null } @@ -515,7 +507,7 @@ v36 = [ "storageKey": null } ], -v37 = [ +v36 = [ { "alias": null, "args": null, @@ -558,17 +550,17 @@ v37 = [ }, { "kind": "InlineFragment", - "selections": (v36/*: any*/), + "selections": (v35/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v36/*: any*/), + "selections": (v35/*: any*/), "type": "Item", "abstractKey": null }, - (v35/*: any*/) + (v9/*: any*/) ], "storageKey": null } @@ -577,19 +569,19 @@ v37 = [ }, (v12/*: any*/) ], -v38 = { +v37 = { "kind": "InlineFragment", - "selections": (v37/*: any*/), + "selections": (v36/*: any*/), "type": "EntityProperty", "abstractKey": null }, -v39 = { +v38 = { "kind": "InlineFragment", - "selections": (v37/*: any*/), + "selections": (v36/*: any*/), "type": "EntitiesProperty", "abstractKey": null }, -v40 = [ +v39 = [ { "alias": "entityId", "args": null, @@ -864,8 +856,8 @@ return { (v31/*: any*/), (v32/*: any*/), (v33/*: any*/), - (v38/*: any*/), - (v39/*: any*/) + (v37/*: any*/), + (v38/*: any*/) ], "storageKey": null } @@ -893,8 +885,8 @@ return { (v31/*: any*/), (v32/*: any*/), (v33/*: any*/), - (v38/*: any*/), - (v39/*: any*/) + (v37/*: any*/), + (v38/*: any*/) ], "type": "ScalarProperty", "abstractKey": "__isScalarProperty" @@ -907,19 +899,19 @@ return { "selections": [ { "kind": "InlineFragment", - "selections": (v40/*: any*/), + "selections": (v39/*: any*/), "type": "Collection", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v40/*: any*/), + "selections": (v39/*: any*/), "type": "Item", "abstractKey": null }, { "kind": "InlineFragment", - "selections": (v40/*: any*/), + "selections": (v39/*: any*/), "type": "Community", "abstractKey": null } @@ -941,12 +933,12 @@ return { ] }, "params": { - "cacheID": "ee9b6941568d17f847f4cf3d309627ad", + "cacheID": "27571684e08a8f82885d777a2a05ec89", "id": null, "metadata": {}, "name": "detailsManageSlugCommunitiesPagesQuery", "operationKind": "query", - "text": "query detailsManageSlugCommunitiesPagesQuery(\n $slug: Slug!\n) {\n community(slug: $slug) {\n ...CommunityUpdateFormFragment\n id\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CommunityUpdateFormFieldsFragment on Community {\n title\n tagline\n summary\n heroImageLayout\n position\n heroImage {\n ...FileUploadFragment\n }\n logo {\n ...FileUploadFragment\n }\n heroImageMetadata {\n alt\n }\n}\n\nfragment CommunityUpdateFormFragment on Community {\n communityId: id\n ...CommunityUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" + "text": "query detailsManageSlugCommunitiesPagesQuery(\n $slug: Slug!\n) {\n community(slug: $slug) {\n ...CommunityUpdateFormFragment\n id\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment CommunityUpdateFormFieldsFragment on Community {\n title\n tagline\n summary\n heroImageLayout\n position\n heroImage {\n ...FileUploadFragment\n }\n logo {\n ...FileUploadFragment\n }\n heroImageMetadata {\n alt\n }\n}\n\nfragment CommunityUpdateFormFragment on Community {\n communityId: id\n ...CommunityUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/detailsManageSlugItemsQuery.graphql.ts b/packages/admin/__generated__/detailsManageSlugItemsQuery.graphql.ts index 62e5a17a3..ec983bbac 100644 --- a/packages/admin/__generated__/detailsManageSlugItemsQuery.graphql.ts +++ b/packages/admin/__generated__/detailsManageSlugItemsQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<7d8f606d3d247b32d88b06b830aaecde>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -585,7 +585,7 @@ v43 = [ (v10/*: any*/), (v42/*: any*/), (v6/*: any*/), - (v17/*: any*/) + (v9/*: any*/) ], "storageKey": null } @@ -640,7 +640,7 @@ v44 = [ "type": "Item", "abstractKey": null }, - (v17/*: any*/) + (v9/*: any*/) ], "storageKey": null } @@ -1117,12 +1117,12 @@ return { ] }, "params": { - "cacheID": "902f74ffcfac7e9ce05669ed9c0fabc7", + "cacheID": "e95be901772181f3d078b84aaa2a4da7", "id": null, "metadata": {}, "name": "detailsManageSlugItemsQuery", "operationKind": "query", - "text": "query detailsManageSlugItemsQuery(\n $slug: Slug!\n) {\n item(slug: $slug) {\n ...ItemUpdateFormFragment\n id\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment ItemUpdateFormFieldsFragment on Item {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment ItemUpdateFormFragment on Item {\n itemId: id\n ...ParentSelectorFragment\n ...HarvestingStatusFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ...ItemUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ParentSelectorFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Community {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ... on Item {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Item {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" + "text": "query detailsManageSlugItemsQuery(\n $slug: Slug!\n) {\n item(slug: $slug) {\n ...ItemUpdateFormFragment\n id\n }\n}\n\nfragment AssetPropertyFragment on AssetProperty {\n ...ScalarPropertyFragment\n}\n\nfragment AssetsPropertyFragment on AssetsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment BooleanPropertyFragment on BooleanProperty {\n ...ScalarPropertyFragment\n checked\n checkedByDefault\n}\n\nfragment ContributorPropertyFragment on ContributorProperty {\n ...ScalarPropertyFragment\n}\n\nfragment ContributorsPropertyFragment on ContributorsProperty {\n ...ScalarPropertyFragment\n}\n\nfragment DatePropertyFragment on DateProperty {\n ...ScalarPropertyFragment\n date\n}\n\nfragment EmailPropertyFragment on EmailProperty {\n ...ScalarPropertyFragment\n address\n defaultAddress\n}\n\nfragment EntitiesPropertyFragment on EntitiesProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment EntityPropertyFragment on EntityProperty {\n ...ScalarPropertyFragment\n availableEntities {\n label\n value\n entity {\n __typename\n ...getEntityTitleFragment\n id\n }\n }\n}\n\nfragment FileUploadFragment on ImageAttachment {\n originalFilename\n storage\n thumb {\n png {\n alt\n url\n }\n }\n}\n\nfragment FloatPropertyFragment on FloatProperty {\n ...ScalarPropertyFragment\n floatValue\n defaultFloat\n}\n\nfragment FullTextPropertyFragment on FullTextProperty {\n ...ScalarPropertyFragment\n description\n fullText {\n content\n kind\n lang\n }\n}\n\nfragment GroupPropertyFragment on GroupProperty {\n legend\n path\n properties {\n __typename\n ...SchemaPropertyFragment\n }\n}\n\nfragment HarvestingStatusFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n harvestModificationStatus\n }\n ... on Item {\n harvestModificationStatus\n }\n}\n\nfragment IntegerPropertyFragment on IntegerProperty {\n ...ScalarPropertyFragment\n integerValue\n defaultInteger\n}\n\nfragment ItemUpdateFormFieldsFragment on Item {\n title\n subtitle\n doiData {\n doi\n }\n rawDOI\n visibility\n summary\n visibleAfterAt\n visibleUntilAt\n thumbnail {\n ...FileUploadFragment\n }\n heroImage {\n ...FileUploadFragment\n }\n published {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment ItemUpdateFormFragment on Item {\n itemId: id\n ...ParentSelectorFragment\n ...HarvestingStatusFragment\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ...ItemUpdateFormFieldsFragment\n ...SchemaFormFieldsFragment\n ...useSchemaPropertiesFragment\n}\n\nfragment MarkdownPropertyFragment on MarkdownProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment MultiselectPropertyFragment on MultiselectProperty {\n ...ScalarPropertyFragment\n options {\n label\n value\n }\n}\n\nfragment ParentSelectorFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Community {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ... on Item {\n __typename\n entityId: id\n schemaVersion {\n enforcesParent\n enforcedParentVersions {\n identifier\n namespace\n id\n }\n id\n }\n parent {\n __typename\n ... on Collection {\n id\n slug\n title\n }\n ... on Item {\n id\n slug\n title\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n}\n\nfragment ScalarPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n name: fullPath\n label\n path\n required\n type\n isWide\n}\n\nfragment SchemaFormFieldsContextFragment on SchemaInstance {\n __isSchemaInstance: __typename\n context: schemaInstanceContext {\n ...useSchemaContextFragment\n }\n ... on Node {\n __isNode: __typename\n id\n }\n}\n\nfragment SchemaFormFieldsFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n ...SchemaInstancePropertyFragment\n }\n ...SchemaSelectorDataFragment\n ...SchemaFormFieldsContextFragment\n}\n\nfragment SchemaInstancePropertyFragment on SchemaProperty {\n __isSchemaProperty: __typename\n __typename\n ... on GroupProperty {\n ...GroupPropertyFragment\n }\n ...SchemaPropertyFragment\n}\n\nfragment SchemaPropertyFragment on ScalarProperty {\n __isScalarProperty: __typename\n __typename\n ... on AssetProperty {\n ...AssetPropertyFragment\n }\n ... on AssetsProperty {\n ...AssetsPropertyFragment\n }\n ... on BooleanProperty {\n ...BooleanPropertyFragment\n }\n ... on ContributorProperty {\n ...ContributorPropertyFragment\n }\n ... on ContributorsProperty {\n ...ContributorsPropertyFragment\n }\n ... on DateProperty {\n ...DatePropertyFragment\n }\n ... on EmailProperty {\n ...EmailPropertyFragment\n }\n ... on FloatProperty {\n ...FloatPropertyFragment\n }\n ... on IntegerProperty {\n ...IntegerPropertyFragment\n }\n ... on MarkdownProperty {\n ...MarkdownPropertyFragment\n }\n ... on MultiselectProperty {\n ...MultiselectPropertyFragment\n }\n ... on SelectProperty {\n ...SelectPropertyFragment\n }\n ... on StringProperty {\n ...StringPropertyFragment\n }\n ... on TagsProperty {\n ...TagsPropertyFragment\n }\n ... on FullTextProperty {\n ...FullTextPropertyFragment\n }\n ... on URLProperty {\n ...URLPropertyFragment\n }\n ... on VariableDateProperty {\n ...VariableDatePropertyFragment\n }\n ... on EntityProperty {\n ...EntityPropertyFragment\n }\n ... on EntitiesProperty {\n ...EntitiesPropertyFragment\n }\n}\n\nfragment SchemaSelectorDataFragment on Entity {\n __isEntity: __typename\n ... on Collection {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Item {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n ... on Community {\n entityId: id\n schemaVersion {\n name\n number\n slug\n id\n }\n }\n}\n\nfragment SelectPropertyFragment on SelectProperty {\n options {\n label\n value\n }\n ...ScalarPropertyFragment\n}\n\nfragment StringPropertyFragment on StringProperty {\n ...ScalarPropertyFragment\n content\n default\n}\n\nfragment TagsPropertyFragment on TagsProperty {\n ...ScalarPropertyFragment\n tags\n}\n\nfragment URLPropertyFragment on URLProperty {\n ...ScalarPropertyFragment\n url {\n href\n label\n title\n }\n}\n\nfragment VariableDatePropertyFragment on VariableDateProperty {\n ...ScalarPropertyFragment\n dateWithPrecision {\n ...VariablePrecisionDateControlFragment\n }\n}\n\nfragment VariablePrecisionDateControlFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment getEntityTitleFragment on Entity {\n __isEntity: __typename\n __typename\n title\n schemaVersion {\n identifier\n id\n }\n ... on Collection {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n ... on Item {\n namedAncestors {\n ancestor {\n __typename\n __isEntity: __typename\n title\n id\n }\n }\n }\n}\n\nfragment useSchemaContextFragment on SchemaInstanceContext {\n assets {\n kind\n label\n value\n }\n contributors {\n kind\n label\n value\n }\n defaultValues\n entityId\n fieldValues\n schemaVersionSlug\n}\n\nfragment useSchemaPropertiesFragment on SchemaInstance {\n __isSchemaInstance: __typename\n properties: schemaProperties {\n __typename\n __isSchemaProperty: __typename\n fullPath\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/entitiesHarvestRecordQuery.graphql.ts b/packages/admin/__generated__/entitiesHarvestRecordQuery.graphql.ts index 28444ea9c..b2aea52e4 100644 --- a/packages/admin/__generated__/entitiesHarvestRecordQuery.graphql.ts +++ b/packages/admin/__generated__/entitiesHarvestRecordQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<5d2fe5c7f4a314cb2e1ba009f043211c>> + * @generated SignedSource<<9dabe7e96dad49e16bfcc6e8a75d17ad>> * @lightSyntaxTransform * @nogrep */ @@ -158,14 +158,7 @@ return { "name": "title", "storageKey": null }, - { - "kind": "InlineFragment", - "selections": [ - (v3/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - } + (v3/*: any*/) ], "storageKey": null }, @@ -180,12 +173,12 @@ return { ] }, "params": { - "cacheID": "fc8fe2380c817f8bb17a2026ea1e21ac", + "cacheID": "3a0e1c7fcdf1efc415242ab2b2aadd18", "id": null, "metadata": {}, "name": "entitiesHarvestRecordQuery", "operationKind": "query", - "text": "query entitiesHarvestRecordQuery(\n $slug: Slug!\n) {\n harvestRecord(slug: $slug) {\n ...HarvestEntitiesListFragment\n id\n }\n}\n\nfragment HarvestEntitiesListFragment on HarvestRecord {\n harvestEntities {\n createdAt\n identifier\n schemaVersion {\n identifier\n name\n id\n }\n entity {\n __typename\n slug\n title\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n}\n" + "text": "query entitiesHarvestRecordQuery(\n $slug: Slug!\n) {\n harvestRecord(slug: $slug) {\n ...HarvestEntitiesListFragment\n id\n }\n}\n\nfragment HarvestEntitiesListFragment on HarvestRecord {\n harvestEntities {\n createdAt\n identifier\n schemaVersion {\n identifier\n name\n id\n }\n entity {\n __typename\n slug\n title\n id\n }\n id\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/itemsListQuery.graphql.ts b/packages/admin/__generated__/itemsListQuery.graphql.ts index 2f87f8e59..88a3ac5fe 100644 --- a/packages/admin/__generated__/itemsListQuery.graphql.ts +++ b/packages/admin/__generated__/itemsListQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<091cc9f0baa0dc7750f0d2554d851b3a>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -334,14 +334,6 @@ v25 = { "storageKey": null }, v26 = { - "kind": "InlineFragment", - "selections": [ - (v15/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" -}, -v27 = { "alias": null, "args": [ { @@ -422,7 +414,14 @@ v27 = { "type": "PersonContributor", "abstractKey": null }, - (v26/*: any*/) + { + "kind": "InlineFragment", + "selections": [ + (v15/*: any*/) + ], + "type": "Node", + "abstractKey": "__isNode" + } ], "storageKey": null }, @@ -437,6 +436,10 @@ v27 = { ], "storageKey": "contributions(page:1,perPage:1)" }, +v27 = { + "kind": "TypeDiscriminator", + "abstractKey": "__isNode" +}, v28 = { "alias": null, "args": null, @@ -722,15 +725,12 @@ return { { "kind": "InlineFragment", "selections": [ - (v27/*: any*/) + (v26/*: any*/) ], "type": "Item", "abstractKey": null }, - { - "kind": "TypeDiscriminator", - "abstractKey": "__isNode" - }, + (v27/*: any*/), { "kind": "TypeDiscriminator", "abstractKey": "__isSluggable" @@ -760,91 +760,6 @@ return { "name": "search", "plural": false, "selections": [ - { - "condition": "hasQuery", - "kind": "Condition", - "passingValue": true, - "selections": [ - { - "alias": null, - "args": [ - (v6/*: any*/), - (v7/*: any*/), - (v8/*: any*/), - (v9/*: any*/), - (v12/*: any*/), - (v13/*: any*/), - (v14/*: any*/), - { - "kind": "Literal", - "name": "scope", - "value": "ITEM" - } - ], - "concreteType": "SearchResultConnection", - "kind": "LinkedField", - "name": "results", - "plural": false, - "selections": [ - { - "alias": null, - "args": null, - "concreteType": "SearchResult", - "kind": "LinkedField", - "name": "nodes", - "plural": true, - "selections": [ - (v16/*: any*/), - { - "alias": null, - "args": null, - "concreteType": null, - "kind": "LinkedField", - "name": "entity", - "plural": false, - "selections": [ - (v24/*: any*/), - (v26/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v16/*: any*/) - ], - "type": "Sluggable", - "abstractKey": "__isSluggable" - }, - { - "kind": "TypeDiscriminator", - "abstractKey": "__isEntity" - }, - (v17/*: any*/), - (v19/*: any*/), - (v23/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v16/*: any*/), - (v27/*: any*/), - (v22/*: any*/) - ], - "type": "Item", - "abstractKey": null - }, - (v25/*: any*/), - (v29/*: any*/) - ], - "storageKey": null - }, - (v15/*: any*/) - ], - "storageKey": null - }, - (v30/*: any*/) - ], - "storageKey": null - } - ] - }, { "alias": null, "args": null, @@ -923,6 +838,92 @@ return { } ], "storageKey": null + }, + { + "condition": "hasQuery", + "kind": "Condition", + "passingValue": true, + "selections": [ + { + "alias": null, + "args": [ + (v6/*: any*/), + (v7/*: any*/), + (v8/*: any*/), + (v9/*: any*/), + (v12/*: any*/), + (v13/*: any*/), + (v14/*: any*/), + { + "kind": "Literal", + "name": "scope", + "value": "ITEM" + } + ], + "concreteType": "SearchResultConnection", + "kind": "LinkedField", + "name": "results", + "plural": false, + "selections": [ + { + "alias": null, + "args": null, + "concreteType": "SearchResult", + "kind": "LinkedField", + "name": "nodes", + "plural": true, + "selections": [ + (v16/*: any*/), + { + "alias": null, + "args": null, + "concreteType": null, + "kind": "LinkedField", + "name": "entity", + "plural": false, + "selections": [ + (v24/*: any*/), + { + "kind": "TypeDiscriminator", + "abstractKey": "__isEntity" + }, + (v17/*: any*/), + (v19/*: any*/), + (v23/*: any*/), + (v25/*: any*/), + (v15/*: any*/), + (v27/*: any*/), + { + "kind": "InlineFragment", + "selections": [ + (v16/*: any*/) + ], + "type": "Sluggable", + "abstractKey": "__isSluggable" + }, + { + "kind": "InlineFragment", + "selections": [ + (v16/*: any*/), + (v26/*: any*/), + (v22/*: any*/) + ], + "type": "Item", + "abstractKey": null + }, + (v29/*: any*/) + ], + "storageKey": null + }, + (v15/*: any*/) + ], + "storageKey": null + }, + (v30/*: any*/) + ], + "storageKey": null + } + ] } ], "storageKey": "search(visibility:\"ALL\")" @@ -930,12 +931,12 @@ return { ] }, "params": { - "cacheID": "4f65508c2ab32704ed64aca110526212", + "cacheID": "714b12d5c1a9d98fbd012edd9eb7d3ef", "id": null, "metadata": {}, "name": "itemsListQuery", "operationKind": "query", - "text": "query itemsListQuery(\n $query: String\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $order: EntityOrder\n $hasQuery: Boolean!\n $schema: [String!]\n) {\n viewer {\n items(access: UPDATE, order: $order, page: $page, perPage: 20) @skip(if: $hasQuery) {\n ...ItemListFragment\n }\n id\n }\n search(visibility: ALL) {\n ...ItemListSearchFragment_1V70IR\n }\n}\n\nfragment ContributorsColumnFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n contributions(page: 1, perPage: 1) {\n edges {\n node {\n contributor {\n __typename\n ... on OrganizationContributor {\n slug\n legalName\n }\n ... on PersonContributor {\n slug\n givenName\n familyName\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n }\n pageInfo {\n totalCount\n }\n }\n }\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ItemListFragment on ItemConnection {\n nodes {\n id\n slug\n title\n schemaVersion {\n name\n number\n id\n }\n items {\n pageInfo {\n totalCount\n }\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment ItemListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: ITEM, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n ... on Item {\n items {\n pageInfo {\n totalCount\n }\n }\n }\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" + "text": "query itemsListQuery(\n $query: String\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $order: EntityOrder\n $hasQuery: Boolean!\n $schema: [String!]\n) {\n viewer {\n items(access: UPDATE, order: $order, page: $page, perPage: 20) @skip(if: $hasQuery) {\n ...ItemListFragment\n }\n id\n }\n search(visibility: ALL) {\n ...ItemListSearchFragment_1V70IR\n }\n}\n\nfragment ContributorsColumnFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n contributions(page: 1, perPage: 1) {\n edges {\n node {\n contributor {\n __typename\n ... on OrganizationContributor {\n slug\n legalName\n }\n ... on PersonContributor {\n slug\n givenName\n familyName\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n }\n pageInfo {\n totalCount\n }\n }\n }\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ItemListFragment on ItemConnection {\n nodes {\n id\n slug\n title\n schemaVersion {\n name\n number\n id\n }\n items {\n pageInfo {\n totalCount\n }\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment ItemListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: ITEM, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n ... on Item {\n items {\n pageInfo {\n totalCount\n }\n }\n }\n id\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" } }; })(); diff --git a/packages/admin/__generated__/itemsSlugCollectionsPagesQuery.graphql.ts b/packages/admin/__generated__/itemsSlugCollectionsPagesQuery.graphql.ts index 75f595164..d4671cfb8 100644 --- a/packages/admin/__generated__/itemsSlugCollectionsPagesQuery.graphql.ts +++ b/packages/admin/__generated__/itemsSlugCollectionsPagesQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<08affed8550124be6e2b2df06519198d>> + * @generated SignedSource<<394f548d1e8e08d3fe8d363bf63c7753>> * @lightSyntaxTransform * @nogrep */ @@ -346,14 +346,6 @@ v26 = { "storageKey": null }, v27 = { - "kind": "InlineFragment", - "selections": [ - (v16/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" -}, -v28 = { "alias": null, "args": [ { @@ -434,7 +426,14 @@ v28 = { "type": "PersonContributor", "abstractKey": null }, - (v27/*: any*/) + { + "kind": "InlineFragment", + "selections": [ + (v16/*: any*/) + ], + "type": "Node", + "abstractKey": "__isNode" + } ], "storageKey": null }, @@ -449,6 +448,10 @@ v28 = { ], "storageKey": "contributions(page:1,perPage:1)" }, +v28 = { + "kind": "TypeDiscriminator", + "abstractKey": "__isNode" +}, v29 = { "alias": null, "args": null, @@ -723,15 +726,12 @@ return { { "kind": "InlineFragment", "selections": [ - (v28/*: any*/) + (v27/*: any*/) ], "type": "Item", "abstractKey": null }, - { - "kind": "TypeDiscriminator", - "abstractKey": "__isNode" - }, + (v28/*: any*/), { "kind": "TypeDiscriminator", "abstractKey": "__isSluggable" @@ -756,95 +756,6 @@ return { "name": "search", "plural": false, "selections": [ - { - "condition": "hasQuery", - "kind": "Condition", - "passingValue": true, - "selections": [ - { - "alias": null, - "args": [ - { - "kind": "Literal", - "name": "access", - "value": "UPDATE" - }, - (v8/*: any*/), - (v9/*: any*/), - (v10/*: any*/), - (v13/*: any*/), - (v14/*: any*/), - (v15/*: any*/), - { - "kind": "Literal", - "name": "scope", - "value": "ITEM" - } - ], - "concreteType": "SearchResultConnection", - "kind": "LinkedField", - "name": "results", - "plural": false, - "selections": [ - { - "alias": null, - "args": null, - "concreteType": "SearchResult", - "kind": "LinkedField", - "name": "nodes", - "plural": true, - "selections": [ - (v17/*: any*/), - { - "alias": null, - "args": null, - "concreteType": null, - "kind": "LinkedField", - "name": "entity", - "plural": false, - "selections": [ - (v25/*: any*/), - (v27/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v17/*: any*/) - ], - "type": "Sluggable", - "abstractKey": "__isSluggable" - }, - { - "kind": "TypeDiscriminator", - "abstractKey": "__isEntity" - }, - (v18/*: any*/), - (v20/*: any*/), - (v24/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v17/*: any*/), - (v28/*: any*/), - (v23/*: any*/) - ], - "type": "Item", - "abstractKey": null - }, - (v26/*: any*/), - (v30/*: any*/) - ], - "storageKey": null - }, - (v16/*: any*/) - ], - "storageKey": null - }, - (v31/*: any*/) - ], - "storageKey": null - } - ] - }, { "alias": null, "args": null, @@ -923,6 +834,96 @@ return { } ], "storageKey": null + }, + { + "condition": "hasQuery", + "kind": "Condition", + "passingValue": true, + "selections": [ + { + "alias": null, + "args": [ + { + "kind": "Literal", + "name": "access", + "value": "UPDATE" + }, + (v8/*: any*/), + (v9/*: any*/), + (v10/*: any*/), + (v13/*: any*/), + (v14/*: any*/), + (v15/*: any*/), + { + "kind": "Literal", + "name": "scope", + "value": "ITEM" + } + ], + "concreteType": "SearchResultConnection", + "kind": "LinkedField", + "name": "results", + "plural": false, + "selections": [ + { + "alias": null, + "args": null, + "concreteType": "SearchResult", + "kind": "LinkedField", + "name": "nodes", + "plural": true, + "selections": [ + (v17/*: any*/), + { + "alias": null, + "args": null, + "concreteType": null, + "kind": "LinkedField", + "name": "entity", + "plural": false, + "selections": [ + (v25/*: any*/), + { + "kind": "TypeDiscriminator", + "abstractKey": "__isEntity" + }, + (v18/*: any*/), + (v20/*: any*/), + (v24/*: any*/), + (v26/*: any*/), + (v16/*: any*/), + (v28/*: any*/), + { + "kind": "InlineFragment", + "selections": [ + (v17/*: any*/) + ], + "type": "Sluggable", + "abstractKey": "__isSluggable" + }, + { + "kind": "InlineFragment", + "selections": [ + (v17/*: any*/), + (v27/*: any*/), + (v23/*: any*/) + ], + "type": "Item", + "abstractKey": null + }, + (v30/*: any*/) + ], + "storageKey": null + }, + (v16/*: any*/) + ], + "storageKey": null + }, + (v31/*: any*/) + ], + "storageKey": null + } + ] } ], "storageKey": "search(maxDepth:1,visibility:\"ALL\")" @@ -934,12 +935,12 @@ return { ] }, "params": { - "cacheID": "f6195f06c3d52869fbbd93e2cefb425e", + "cacheID": "61037b73f36f7e85838aa264082f906c", "id": null, "metadata": {}, "name": "itemsSlugCollectionsPagesQuery", "operationKind": "query", - "text": "query itemsSlugCollectionsPagesQuery(\n $order: EntityOrder\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $query: String\n $hasQuery: Boolean!\n $slug: Slug!\n $schema: [String!]\n) {\n collection(slug: $slug) {\n items(order: $order, page: $page, perPage: 20) {\n ...ItemListFragment\n }\n search(visibility: ALL, maxDepth: 1) {\n ...ItemListSearchFragment_1V70IR\n }\n id\n }\n}\n\nfragment ContributorsColumnFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n contributions(page: 1, perPage: 1) {\n edges {\n node {\n contributor {\n __typename\n ... on OrganizationContributor {\n slug\n legalName\n }\n ... on PersonContributor {\n slug\n givenName\n familyName\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n }\n pageInfo {\n totalCount\n }\n }\n }\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ItemListFragment on ItemConnection {\n nodes {\n id\n slug\n title\n schemaVersion {\n name\n number\n id\n }\n items {\n pageInfo {\n totalCount\n }\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment ItemListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: ITEM, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n ... on Item {\n items {\n pageInfo {\n totalCount\n }\n }\n }\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" + "text": "query itemsSlugCollectionsPagesQuery(\n $order: EntityOrder\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $query: String\n $hasQuery: Boolean!\n $slug: Slug!\n $schema: [String!]\n) {\n collection(slug: $slug) {\n items(order: $order, page: $page, perPage: 20) {\n ...ItemListFragment\n }\n search(visibility: ALL, maxDepth: 1) {\n ...ItemListSearchFragment_1V70IR\n }\n id\n }\n}\n\nfragment ContributorsColumnFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n contributions(page: 1, perPage: 1) {\n edges {\n node {\n contributor {\n __typename\n ... on OrganizationContributor {\n slug\n legalName\n }\n ... on PersonContributor {\n slug\n givenName\n familyName\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n }\n pageInfo {\n totalCount\n }\n }\n }\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ItemListFragment on ItemConnection {\n nodes {\n id\n slug\n title\n schemaVersion {\n name\n number\n id\n }\n items {\n pageInfo {\n totalCount\n }\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment ItemListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: ITEM, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n ... on Item {\n items {\n pageInfo {\n totalCount\n }\n }\n }\n id\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" } }; })(); diff --git a/packages/admin/__generated__/itemsSlugItemsPagesQuery.graphql.ts b/packages/admin/__generated__/itemsSlugItemsPagesQuery.graphql.ts index 1d098048f..fadc89171 100644 --- a/packages/admin/__generated__/itemsSlugItemsPagesQuery.graphql.ts +++ b/packages/admin/__generated__/itemsSlugItemsPagesQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<87f238e49ea156abe3eb580170a6c558>> + * @generated SignedSource<<9df2b8425d57a16070e81c7d58cc8550>> * @lightSyntaxTransform * @nogrep */ @@ -346,14 +346,6 @@ v26 = { "storageKey": null }, v27 = { - "kind": "InlineFragment", - "selections": [ - (v16/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" -}, -v28 = { "alias": null, "args": [ { @@ -434,7 +426,14 @@ v28 = { "type": "PersonContributor", "abstractKey": null }, - (v27/*: any*/) + { + "kind": "InlineFragment", + "selections": [ + (v16/*: any*/) + ], + "type": "Node", + "abstractKey": "__isNode" + } ], "storageKey": null }, @@ -449,6 +448,10 @@ v28 = { ], "storageKey": "contributions(page:1,perPage:1)" }, +v28 = { + "kind": "TypeDiscriminator", + "abstractKey": "__isNode" +}, v29 = { "alias": null, "args": null, @@ -723,15 +726,12 @@ return { { "kind": "InlineFragment", "selections": [ - (v28/*: any*/) + (v27/*: any*/) ], "type": "Item", "abstractKey": null }, - { - "kind": "TypeDiscriminator", - "abstractKey": "__isNode" - }, + (v28/*: any*/), { "kind": "TypeDiscriminator", "abstractKey": "__isSluggable" @@ -756,95 +756,6 @@ return { "name": "search", "plural": false, "selections": [ - { - "condition": "hasQuery", - "kind": "Condition", - "passingValue": true, - "selections": [ - { - "alias": null, - "args": [ - { - "kind": "Literal", - "name": "access", - "value": "UPDATE" - }, - (v8/*: any*/), - (v9/*: any*/), - (v10/*: any*/), - (v13/*: any*/), - (v14/*: any*/), - (v15/*: any*/), - { - "kind": "Literal", - "name": "scope", - "value": "ITEM" - } - ], - "concreteType": "SearchResultConnection", - "kind": "LinkedField", - "name": "results", - "plural": false, - "selections": [ - { - "alias": null, - "args": null, - "concreteType": "SearchResult", - "kind": "LinkedField", - "name": "nodes", - "plural": true, - "selections": [ - (v17/*: any*/), - { - "alias": null, - "args": null, - "concreteType": null, - "kind": "LinkedField", - "name": "entity", - "plural": false, - "selections": [ - (v25/*: any*/), - (v27/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v17/*: any*/) - ], - "type": "Sluggable", - "abstractKey": "__isSluggable" - }, - { - "kind": "TypeDiscriminator", - "abstractKey": "__isEntity" - }, - (v18/*: any*/), - (v20/*: any*/), - (v24/*: any*/), - { - "kind": "InlineFragment", - "selections": [ - (v17/*: any*/), - (v28/*: any*/), - (v23/*: any*/) - ], - "type": "Item", - "abstractKey": null - }, - (v26/*: any*/), - (v30/*: any*/) - ], - "storageKey": null - }, - (v16/*: any*/) - ], - "storageKey": null - }, - (v31/*: any*/) - ], - "storageKey": null - } - ] - }, { "alias": null, "args": null, @@ -923,6 +834,96 @@ return { } ], "storageKey": null + }, + { + "condition": "hasQuery", + "kind": "Condition", + "passingValue": true, + "selections": [ + { + "alias": null, + "args": [ + { + "kind": "Literal", + "name": "access", + "value": "UPDATE" + }, + (v8/*: any*/), + (v9/*: any*/), + (v10/*: any*/), + (v13/*: any*/), + (v14/*: any*/), + (v15/*: any*/), + { + "kind": "Literal", + "name": "scope", + "value": "ITEM" + } + ], + "concreteType": "SearchResultConnection", + "kind": "LinkedField", + "name": "results", + "plural": false, + "selections": [ + { + "alias": null, + "args": null, + "concreteType": "SearchResult", + "kind": "LinkedField", + "name": "nodes", + "plural": true, + "selections": [ + (v17/*: any*/), + { + "alias": null, + "args": null, + "concreteType": null, + "kind": "LinkedField", + "name": "entity", + "plural": false, + "selections": [ + (v25/*: any*/), + { + "kind": "TypeDiscriminator", + "abstractKey": "__isEntity" + }, + (v18/*: any*/), + (v20/*: any*/), + (v24/*: any*/), + (v26/*: any*/), + (v16/*: any*/), + (v28/*: any*/), + { + "kind": "InlineFragment", + "selections": [ + (v17/*: any*/) + ], + "type": "Sluggable", + "abstractKey": "__isSluggable" + }, + { + "kind": "InlineFragment", + "selections": [ + (v17/*: any*/), + (v27/*: any*/), + (v23/*: any*/) + ], + "type": "Item", + "abstractKey": null + }, + (v30/*: any*/) + ], + "storageKey": null + }, + (v16/*: any*/) + ], + "storageKey": null + }, + (v31/*: any*/) + ], + "storageKey": null + } + ] } ], "storageKey": "search(maxDepth:1,visibility:\"ALL\")" @@ -934,12 +935,12 @@ return { ] }, "params": { - "cacheID": "2262935813a6729fbc721f46a2ca808b", + "cacheID": "7a574e4c12e2fc5a3409aa10917ee1f0", "id": null, "metadata": {}, "name": "itemsSlugItemsPagesQuery", "operationKind": "query", - "text": "query itemsSlugItemsPagesQuery(\n $order: EntityOrder\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $query: String\n $hasQuery: Boolean!\n $slug: Slug!\n $schema: [String!]\n) {\n item(slug: $slug) {\n items(order: $order, page: $page, perPage: 20) {\n ...ItemListFragment\n }\n search(visibility: ALL, maxDepth: 1) {\n ...ItemListSearchFragment_1V70IR\n }\n id\n }\n}\n\nfragment ContributorsColumnFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n contributions(page: 1, perPage: 1) {\n edges {\n node {\n contributor {\n __typename\n ... on OrganizationContributor {\n slug\n legalName\n }\n ... on PersonContributor {\n slug\n givenName\n familyName\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n }\n pageInfo {\n totalCount\n }\n }\n }\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ItemListFragment on ItemConnection {\n nodes {\n id\n slug\n title\n schemaVersion {\n name\n number\n id\n }\n items {\n pageInfo {\n totalCount\n }\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment ItemListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: ITEM, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n ... on Item {\n items {\n pageInfo {\n totalCount\n }\n }\n }\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" + "text": "query itemsSlugItemsPagesQuery(\n $order: EntityOrder\n $page: Int!\n $predicates: [SearchPredicateInput!]\n $query: String\n $hasQuery: Boolean!\n $slug: Slug!\n $schema: [String!]\n) {\n item(slug: $slug) {\n items(order: $order, page: $page, perPage: 20) {\n ...ItemListFragment\n }\n search(visibility: ALL, maxDepth: 1) {\n ...ItemListSearchFragment_1V70IR\n }\n id\n }\n}\n\nfragment ContributorsColumnFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n contributions(page: 1, perPage: 1) {\n edges {\n node {\n contributor {\n __typename\n ... on OrganizationContributor {\n slug\n legalName\n }\n ... on PersonContributor {\n slug\n givenName\n familyName\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n id\n }\n }\n pageInfo {\n totalCount\n }\n }\n }\n}\n\nfragment CurrentSearchFiltersFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n label\n }\n }\n schemas: availableSchemaVersions {\n name\n schemaDefinition {\n slug\n id\n }\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n }\n id\n }\n}\n\nfragment EntityThumbnailColumnFragment on Entity {\n __isEntity: __typename\n __typename\n title\n thumbnail {\n storage\n thumb: small {\n webp {\n ...ImageFragment\n }\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ItemListFragment on ItemConnection {\n nodes {\n id\n slug\n title\n schemaVersion {\n name\n number\n id\n }\n items {\n pageInfo {\n totalCount\n }\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n }\n ...ModelListPageFragment\n}\n\nfragment ItemListSearchFragment_1V70IR on SearchScope {\n results(access: UPDATE, query: $query, page: $page, perPage: 20, predicates: $predicates, order: $order, scope: ITEM, schema: $schema) @include(if: $hasQuery) {\n nodes {\n slug\n entity {\n __typename\n ... on Node {\n __isNode: __typename\n id\n }\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n __isEntity: __typename\n title\n schemaVersion {\n name\n number\n id\n }\n allowedActions\n ...ContributorsColumnFragment\n ...EntityThumbnailColumnFragment\n ...PublishedDateColumnFragment\n ... on Item {\n items {\n pageInfo {\n totalCount\n }\n }\n }\n id\n }\n id\n }\n ...ModelListPageFragment\n }\n ...ModelListPageSearchFragment\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelListPageSearchFragment on SearchScope {\n ...CurrentSearchFiltersFragment\n ...SearchWithFiltersFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PrecisionDateFragment on VariablePrecisionDate {\n precision\n value\n}\n\nfragment PublishedDateColumnFragment on ReferencesGlobalEntityDates {\n __isReferencesGlobalEntityDates: __typename\n published {\n ...PrecisionDateFragment\n }\n}\n\nfragment SearchFilterBooleanFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterDrawerFragment on SearchScope {\n ...SearchFilterFormFragment\n}\n\nfragment SearchFilterFormFragment on SearchScope {\n coreProperties {\n ... on SearchableProperty {\n __isSearchableProperty: __typename\n searchPath\n }\n ...SearchFilterFragment\n }\n schemas: availableSchemaVersions {\n searchableProperties {\n __typename\n __isSearchableProperty: __typename\n searchPath\n label\n ...SearchFilterFragment\n }\n id\n }\n ...SearchSchemaFilterFragment\n}\n\nfragment SearchFilterFragment on SearchableProperty {\n __isSearchableProperty: __typename\n ... on ScalarProperty {\n __isScalarProperty: __typename\n type\n }\n ...SearchFilterInputFragment\n ...SearchFilterSelectFragment\n ...SearchFilterBooleanFragment\n}\n\nfragment SearchFilterInputFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n}\n\nfragment SearchFilterSelectFragment on SearchableProperty {\n __isSearchableProperty: __typename\n label\n description\n searchPath\n searchOperators\n ... on SelectProperty {\n options {\n label\n value\n }\n }\n}\n\nfragment SearchSchemaFilterFragment on SearchScope {\n schemas: availableSchemaVersions {\n name\n kind\n schemaDefinition {\n slug\n id\n }\n id\n }\n}\n\nfragment SearchWithFiltersFragment on SearchScope {\n ...SearchFilterDrawerFragment\n}\n" } }; })(); diff --git a/packages/admin/__generated__/linksManageCollectionsPagesQuery.graphql.ts b/packages/admin/__generated__/linksManageCollectionsPagesQuery.graphql.ts index 86354f447..b45fc0dba 100644 --- a/packages/admin/__generated__/linksManageCollectionsPagesQuery.graphql.ts +++ b/packages/admin/__generated__/linksManageCollectionsPagesQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<966169f2737e7b65d863901ee8bc3013>> + * @generated SignedSource<<7fddd9e999228bb860940be234197d69>> * @lightSyntaxTransform * @nogrep */ @@ -152,14 +152,7 @@ v6 = [ "type": "Collection", "abstractKey": null }, - { - "kind": "InlineFragment", - "selections": [ - (v4/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - } + (v4/*: any*/) ], "storageKey": null } @@ -303,12 +296,12 @@ return { ] }, "params": { - "cacheID": "565449968b0611e05f137561db838d46", + "cacheID": "33c41350dc5721c0e7344146d5fb369e", "id": null, "metadata": {}, "name": "linksManageCollectionsPagesQuery", "operationKind": "query", - "text": "query linksManageCollectionsPagesQuery(\n $slug: Slug!\n $page: Int!\n) {\n collection(slug: $slug) {\n ...EntityLinksListFragment\n id\n }\n}\n\nfragment EntityLinksListDataFragment on EntityLinkConnection {\n nodes {\n id\n slug\n operator\n target {\n __typename\n ... on Item {\n slug\n title\n schemaDefinition {\n name\n kind\n id\n }\n }\n ... on Collection {\n slug\n title\n schemaDefinition {\n name\n kind\n id\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityLinksListFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n links(page: $page) {\n ...EntityLinksListDataFragment\n }\n }\n ... on Collection {\n slug\n links(page: $page) {\n ...EntityLinksListDataFragment\n }\n }\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n" + "text": "query linksManageCollectionsPagesQuery(\n $slug: Slug!\n $page: Int!\n) {\n collection(slug: $slug) {\n ...EntityLinksListFragment\n id\n }\n}\n\nfragment EntityLinksListDataFragment on EntityLinkConnection {\n nodes {\n id\n slug\n operator\n target {\n __typename\n ... on Item {\n slug\n title\n schemaDefinition {\n name\n kind\n id\n }\n }\n ... on Collection {\n slug\n title\n schemaDefinition {\n name\n kind\n id\n }\n }\n id\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityLinksListFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n links(page: $page) {\n ...EntityLinksListDataFragment\n }\n }\n ... on Collection {\n slug\n links(page: $page) {\n ...EntityLinksListDataFragment\n }\n }\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/linksManageSlugItemsQuery.graphql.ts b/packages/admin/__generated__/linksManageSlugItemsQuery.graphql.ts index e20a0aa13..2e22fb9b7 100644 --- a/packages/admin/__generated__/linksManageSlugItemsQuery.graphql.ts +++ b/packages/admin/__generated__/linksManageSlugItemsQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<772626ebfa566b96313ab49cbb68b953>> * @lightSyntaxTransform * @nogrep */ @@ -152,14 +152,7 @@ v6 = [ "type": "Collection", "abstractKey": null }, - { - "kind": "InlineFragment", - "selections": [ - (v4/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - } + (v4/*: any*/) ], "storageKey": null } @@ -303,12 +296,12 @@ return { ] }, "params": { - "cacheID": "6a2c052fdbd7b05f57f2f762eca330ff", + "cacheID": "e14486f1f1e9cfa768bd6e3eda451c5e", "id": null, "metadata": {}, "name": "linksManageSlugItemsQuery", "operationKind": "query", - "text": "query linksManageSlugItemsQuery(\n $slug: Slug!\n $page: Int!\n) {\n item(slug: $slug) {\n ...EntityLinksListFragment\n id\n }\n}\n\nfragment EntityLinksListDataFragment on EntityLinkConnection {\n nodes {\n id\n slug\n operator\n target {\n __typename\n ... on Item {\n slug\n title\n schemaDefinition {\n name\n kind\n id\n }\n }\n ... on Collection {\n slug\n title\n schemaDefinition {\n name\n kind\n id\n }\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityLinksListFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n links(page: $page) {\n ...EntityLinksListDataFragment\n }\n }\n ... on Collection {\n slug\n links(page: $page) {\n ...EntityLinksListDataFragment\n }\n }\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n" + "text": "query linksManageSlugItemsQuery(\n $slug: Slug!\n $page: Int!\n) {\n item(slug: $slug) {\n ...EntityLinksListFragment\n id\n }\n}\n\nfragment EntityLinksListDataFragment on EntityLinkConnection {\n nodes {\n id\n slug\n operator\n target {\n __typename\n ... on Item {\n slug\n title\n schemaDefinition {\n name\n kind\n id\n }\n }\n ... on Collection {\n slug\n title\n schemaDefinition {\n name\n kind\n id\n }\n }\n id\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityLinksListFragment on Entity {\n __isEntity: __typename\n ... on Item {\n slug\n links(page: $page) {\n ...EntityLinksListDataFragment\n }\n }\n ... on Collection {\n slug\n links(page: $page) {\n ...EntityLinksListDataFragment\n }\n }\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/pagesManageSlugCollectionsPagesQuery.graphql.ts b/packages/admin/__generated__/pagesManageSlugCollectionsPagesQuery.graphql.ts index fba8f1815..0d4041e5a 100644 --- a/packages/admin/__generated__/pagesManageSlugCollectionsPagesQuery.graphql.ts +++ b/packages/admin/__generated__/pagesManageSlugCollectionsPagesQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<4ecca4ab6d841818d9f90a029e4a0da7>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -125,14 +125,7 @@ v5 = [ "type": "Sluggable", "abstractKey": "__isSluggable" }, - { - "kind": "InlineFragment", - "selections": [ - (v4/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - } + (v4/*: any*/) ], "storageKey": null }, @@ -360,12 +353,12 @@ return { ] }, "params": { - "cacheID": "9a9b6ed277fc10614407f53bf55217e1", + "cacheID": "cba2357d3aff12345830f4ffb42cf75e", "id": null, "metadata": {}, "name": "pagesManageSlugCollectionsPagesQuery", "operationKind": "query", - "text": "query pagesManageSlugCollectionsPagesQuery(\n $slug: Slug!\n $page: Int!\n) {\n collection(slug: $slug) {\n ...EntityPagesListFragment\n id\n }\n}\n\nfragment EntityPagesListDataFragment on PageConnection {\n edges {\n node {\n id\n title\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n ...PageHeroColumnFragment\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityPagesListFragment on Entity {\n __isEntity: __typename\n ... on Community {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Collection {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Item {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PageHeroColumnFragment on Page {\n heroImage {\n storage\n thumb {\n webp {\n ...ImageFragment\n }\n }\n }\n}\n" + "text": "query pagesManageSlugCollectionsPagesQuery(\n $slug: Slug!\n $page: Int!\n) {\n collection(slug: $slug) {\n ...EntityPagesListFragment\n id\n }\n}\n\nfragment EntityPagesListDataFragment on PageConnection {\n edges {\n node {\n id\n title\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n id\n }\n ...PageHeroColumnFragment\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityPagesListFragment on Entity {\n __isEntity: __typename\n ... on Community {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Collection {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Item {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PageHeroColumnFragment on Page {\n heroImage {\n storage\n thumb {\n webp {\n ...ImageFragment\n }\n }\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/pagesManageSlugCommunityPagesQuery.graphql.ts b/packages/admin/__generated__/pagesManageSlugCommunityPagesQuery.graphql.ts index 8747cb37b..3c14be6b2 100644 --- a/packages/admin/__generated__/pagesManageSlugCommunityPagesQuery.graphql.ts +++ b/packages/admin/__generated__/pagesManageSlugCommunityPagesQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<37304343e6a2f3289a515ac096540c33>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -125,14 +125,7 @@ v5 = [ "type": "Sluggable", "abstractKey": "__isSluggable" }, - { - "kind": "InlineFragment", - "selections": [ - (v4/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - } + (v4/*: any*/) ], "storageKey": null }, @@ -360,12 +353,12 @@ return { ] }, "params": { - "cacheID": "6cfb1936c6b0b3eb1125a007c6bc6224", + "cacheID": "8e528b7bcdb80ae19c698c2462c1bf33", "id": null, "metadata": {}, "name": "pagesManageSlugCommunityPagesQuery", "operationKind": "query", - "text": "query pagesManageSlugCommunityPagesQuery(\n $slug: Slug!\n $page: Int!\n) {\n community(slug: $slug) {\n ...EntityPagesListFragment\n id\n }\n}\n\nfragment EntityPagesListDataFragment on PageConnection {\n edges {\n node {\n id\n title\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n ...PageHeroColumnFragment\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityPagesListFragment on Entity {\n __isEntity: __typename\n ... on Community {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Collection {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Item {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PageHeroColumnFragment on Page {\n heroImage {\n storage\n thumb {\n webp {\n ...ImageFragment\n }\n }\n }\n}\n" + "text": "query pagesManageSlugCommunityPagesQuery(\n $slug: Slug!\n $page: Int!\n) {\n community(slug: $slug) {\n ...EntityPagesListFragment\n id\n }\n}\n\nfragment EntityPagesListDataFragment on PageConnection {\n edges {\n node {\n id\n title\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n id\n }\n ...PageHeroColumnFragment\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityPagesListFragment on Entity {\n __isEntity: __typename\n ... on Community {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Collection {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Item {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PageHeroColumnFragment on Page {\n heroImage {\n storage\n thumb {\n webp {\n ...ImageFragment\n }\n }\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/pagesManageSlugItemsQuery.graphql.ts b/packages/admin/__generated__/pagesManageSlugItemsQuery.graphql.ts index 410135933..e295f438f 100644 --- a/packages/admin/__generated__/pagesManageSlugItemsQuery.graphql.ts +++ b/packages/admin/__generated__/pagesManageSlugItemsQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<808895006ab90e534ec193a246e4f1f7>> + * @generated SignedSource<<302578701bec4195f96d04acd90ce29e>> * @lightSyntaxTransform * @nogrep */ @@ -125,14 +125,7 @@ v5 = [ "type": "Sluggable", "abstractKey": "__isSluggable" }, - { - "kind": "InlineFragment", - "selections": [ - (v4/*: any*/) - ], - "type": "Node", - "abstractKey": "__isNode" - } + (v4/*: any*/) ], "storageKey": null }, @@ -360,12 +353,12 @@ return { ] }, "params": { - "cacheID": "9f55d8328e7a34d554db9f5e17cbbde0", + "cacheID": "a2df4dc3815761494b20d0bb44a07da3", "id": null, "metadata": {}, "name": "pagesManageSlugItemsQuery", "operationKind": "query", - "text": "query pagesManageSlugItemsQuery(\n $slug: Slug!\n $page: Int!\n) {\n item(slug: $slug) {\n ...EntityPagesListFragment\n id\n }\n}\n\nfragment EntityPagesListDataFragment on PageConnection {\n edges {\n node {\n id\n title\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n ... on Node {\n __isNode: __typename\n id\n }\n }\n ...PageHeroColumnFragment\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityPagesListFragment on Entity {\n __isEntity: __typename\n ... on Community {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Collection {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Item {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PageHeroColumnFragment on Page {\n heroImage {\n storage\n thumb {\n webp {\n ...ImageFragment\n }\n }\n }\n}\n" + "text": "query pagesManageSlugItemsQuery(\n $slug: Slug!\n $page: Int!\n) {\n item(slug: $slug) {\n ...EntityPagesListFragment\n id\n }\n}\n\nfragment EntityPagesListDataFragment on PageConnection {\n edges {\n node {\n id\n title\n slug\n entity {\n __typename\n ... on Sluggable {\n __isSluggable: __typename\n slug\n }\n id\n }\n ...PageHeroColumnFragment\n }\n }\n ...ModelListPageFragment\n}\n\nfragment EntityPagesListFragment on Entity {\n __isEntity: __typename\n ... on Community {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Collection {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n ... on Item {\n slug\n pages(page: $page, perPage: 20) {\n ...EntityPagesListDataFragment\n }\n }\n}\n\nfragment ImageFragment on Image {\n __isImage: __typename\n alt\n url\n width\n height\n}\n\nfragment ModelListPageFragment on Paginated {\n __isPaginated: __typename\n ...ModelPageCountActionsFragment\n ...ModelPaginationFragment\n}\n\nfragment ModelPageCountActionsFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n perPage\n hasNextPage\n hasPreviousPage\n totalCount\n }\n}\n\nfragment ModelPaginationFragment on Paginated {\n __isPaginated: __typename\n pageInfo {\n page\n pageCount\n }\n}\n\nfragment PageHeroColumnFragment on Page {\n heroImage {\n storage\n thumb {\n webp {\n ...ImageFragment\n }\n }\n }\n}\n" } }; })(); diff --git a/packages/admin/__generated__/useSchemaContextFragment.graphql.ts b/packages/admin/__generated__/useSchemaContextFragment.graphql.ts index c54888cf8..1fdda21a8 100644 --- a/packages/admin/__generated__/useSchemaContextFragment.graphql.ts +++ b/packages/admin/__generated__/useSchemaContextFragment.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<3d42c7c7a6c1f3468fa3f30b109d561b>> + * @generated SignedSource<<53fd03db74d3330a20875b701cae0620>> * @lightSyntaxTransform * @nogrep */ @@ -9,7 +9,7 @@ // @ts-nocheck import { Fragment, ReaderFragment } from 'relay-runtime'; -export type AssetKind = "audio" | "document" | "image" | "pdf" | "unknown" | "video" | "%future added value"; +export type AssetKind = "archive" | "audio" | "document" | "image" | "pdf" | "unknown" | "video" | "%future added value"; export type ContributorKind = "organization" | "person" | "%future added value"; import { FragmentRefs } from "relay-runtime"; export type useSchemaContextFragment$data = { diff --git a/packages/admin/components/composed/contributor/ContributorList/ContributorList.tsx b/packages/admin/components/composed/contributor/ContributorList/ContributorList.tsx index 773263214..970fc07be 100644 --- a/packages/admin/components/composed/contributor/ContributorList/ContributorList.tsx +++ b/packages/admin/components/composed/contributor/ContributorList/ContributorList.tsx @@ -89,7 +89,12 @@ type ContributorNode = const fragment = graphql` fragment ContributorListFragment on Query { - contributors(order: $order, page: $page, perPage: 20, prefix: $query) { + contributors( + order: $order + page: $page + perPage: 20 + filters: { nameSearch: { needle: $query, strategy: FUZZY } } + ) { nodes { __typename ... on OrganizationContributor { diff --git a/packages/admin/components/forms/ContributorTypeahead/ContributorTypeahead.tsx b/packages/admin/components/forms/ContributorTypeahead/ContributorTypeahead.tsx index 01c8a1b56..12f03b8b1 100644 --- a/packages/admin/components/forms/ContributorTypeahead/ContributorTypeahead.tsx +++ b/packages/admin/components/forms/ContributorTypeahead/ContributorTypeahead.tsx @@ -97,7 +97,12 @@ export default ContributorTypeahead; const query = graphql` query ContributorTypeaheadQuery($query: String!) { - contributors(prefix: $query, page: 1, perPage: 50, order: NAME_ASCENDING) { + contributors( + filters: { nameSearch: { needle: $query, strategy: FUZZY } } + page: 1 + perPage: 50 + order: NAME_ASCENDING + ) { edges { node { ... on PersonContributor {