From fd316a79d48d4fa96eccf27cde748ea988fda2e6 Mon Sep 17 00:00:00 2001 From: Mats <64415243+mnyflot@users.noreply.github.com> Date: Mon, 19 Feb 2024 16:57:42 +0100 Subject: [PATCH] =?UTF-8?q?feat(frontend):=20:sparkles:=20use=20blockrende?= =?UTF-8?q?rer=20to=20preview=20projects.=20Sho=E2=80=A6=20(#92)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(frontend): :sparkles: use blockrenderer to preview projects. Show project content in the slugs * fix(frontend): :rotating_light: fix es lint warning * style(frontend): :rotating_light: fix prettier warnings --- .../project/content-types/project/schema.json | 10 + .../1.0.0/full_documentation.json | 5218 ++++++++--------- backend/types/generated/contentTypes.d.ts | 1 + frontend/src/__generated__/gql.ts | 13 +- frontend/src/__generated__/graphql.ts | 55 +- .../src/app/projects/[projectSlug]/page.tsx | 25 +- frontend/src/app/projects/page.tsx | 110 +- 7 files changed, 2514 insertions(+), 2918 deletions(-) diff --git a/backend/src/api/project/content-types/project/schema.json b/backend/src/api/project/content-types/project/schema.json index da84eac..c3d18ac 100644 --- a/backend/src/api/project/content-types/project/schema.json +++ b/backend/src/api/project/content-types/project/schema.json @@ -29,6 +29,16 @@ }, "slug": { "type": "uid" + }, + "coverImage": { + "allowedTypes": [ + "images", + "files", + "videos", + "audios" + ], + "type": "media", + "multiple": false } } } diff --git a/backend/src/extensions/documentation/documentation/1.0.0/full_documentation.json b/backend/src/extensions/documentation/documentation/1.0.0/full_documentation.json index 8c7b0aa..e9eaff9 100644 --- a/backend/src/extensions/documentation/documentation/1.0.0/full_documentation.json +++ b/backend/src/extensions/documentation/documentation/1.0.0/full_documentation.json @@ -14,9 +14,7 @@ "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, - "x-generation-date": "2024-02-19T13:10:50.248Z" - }, "x-strapi-config": { "path": "/documentation", @@ -1878,38 +1876,60 @@ } } }, - "InfrastructureRequest": { + "PartnerRequest": { "type": "object", "required": [ "data" ], "properties": { "data": { + "required": [ + "partnerName" + ], "type": "object", "properties": { - "Content": {} + "partnerName": { + "type": "string" + }, + "logoUrl": { + "type": "string" + }, + "logoImage": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "example": "string or id" + }, + "websiteUrl": { + "type": "string" + } } } } }, - "InfrastructureListResponseDataItem": { + "PartnerListResponseDataItem": { "type": "object", "properties": { "id": { "type": "number" }, "attributes": { - "$ref": "#/components/schemas/Infrastructure" + "$ref": "#/components/schemas/Partner" } } }, - "InfrastructureListResponse": { + "PartnerListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { - "$ref": "#/components/schemas/InfrastructureListResponseDataItem" + "$ref": "#/components/schemas/PartnerListResponseDataItem" } }, "meta": { @@ -1938,23 +1958,19 @@ } } }, - "Infrastructure": { + "Partner": { "type": "object", + "required": [ + "partnerName" + ], "properties": { - "Content": {}, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" + "partnerName": { + "type": "string" }, - "publishedAt": { - "type": "string", - "format": "date-time" + "logoUrl": { + "type": "string" }, - "createdBy": { + "logoImage": { "type": "object", "properties": { "data": { @@ -1966,29 +1982,46 @@ "attributes": { "type": "object", "properties": { - "firstname": { + "name": { "type": "string" }, - "lastname": { + "alternativeText": { "type": "string" }, - "username": { + "caption": { "type": "string" }, - "email": { - "type": "string", - "format": "email" + "width": { + "type": "integer" }, - "resetPasswordToken": { + "height": { + "type": "integer" + }, + "formats": {}, + "hash": { "type": "string" }, - "registrationToken": { + "ext": { "type": "string" }, - "isActive": { - "type": "boolean" + "mime": { + "type": "string" }, - "roles": { + "size": { + "type": "number", + "format": "float" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": {}, + "related": { "type": "object", "properties": { "data": { @@ -2001,63 +2034,127 @@ }, "attributes": { "type": "object", - "properties": { - "name": { - "type": "string" - }, - "code": { - "type": "string" - }, - "description": { - "type": "string" - }, - "users": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { + "properties": {} + } + } + } + } + } + }, + "folder": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "pathId": { + "type": "integer" + }, + "parent": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + "properties": {} + } + } + } + } + }, + "children": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } } - }, - "permissions": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "actionParameters": {}, - "subject": { - "type": "string" - }, - "properties": {}, - "conditions": {}, - "role": { - "type": "object", - "properties": { - "data": { + } + }, + "files": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "alternativeText": { + "type": "string" + }, + "caption": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + }, + "formats": {}, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number", + "format": "float" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": {}, + "related": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { "type": "object", "properties": { "id": { @@ -2070,522 +2167,20 @@ } } } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - } - } - } - } - } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - } - } - } - } - } - }, - "blocked": { - "type": "boolean" - }, - "preferedLanguage": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - }, - "InfrastructureResponseDataObject": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "$ref": "#/components/schemas/Infrastructure" - } - } - }, - "InfrastructureResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/InfrastructureResponseDataObject" - }, - "meta": { - "type": "object" - } - } - }, - "PartnerRequest": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "required": [ - "name", - "role" - ], - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "workTitle": { - "type": "string" - }, - "employeeLink": { - "type": "string" - }, - "profilePicture": { - "oneOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "example": "string or id" - }, - "profilePictureURL": { - "type": "string" - }, - "role": { - "type": "string", - "enum": [ - "Researchers", - "PhD candidates", - "Engineers", - "Contact us" - ] - } - } - } - } - }, - "PersonListResponseDataItem": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "$ref": "#/components/schemas/Person" - } - } - }, - "PersonListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PersonListResponseDataItem" - } - }, - "meta": { - "type": "object", - "properties": { - "pagination": { - "type": "object", - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer", - "minimum": 25 - }, - "pageCount": { - "type": "integer", - "maximum": 1 - }, - "total": { - "type": "integer" - } - } - } - } - } - } - }, - "Person": { - "type": "object", - "required": [ - "name", - "role" - ], - "properties": { - "name": { - "type": "string" - }, - "workTitle": { - "type": "string" - }, - "employeeLink": { - "type": "string" - }, - "profilePicture": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "alternativeText": { - "type": "string" - }, - "caption": { - "type": "string" - }, - "width": { - "type": "integer" - }, - "height": { - "type": "integer" - }, - "formats": {}, - "hash": { - "type": "string" - }, - "ext": { - "type": "string" - }, - "mime": { - "type": "string" - }, - "size": { - "type": "number", - "format": "float" - }, - "url": { - "type": "string" - }, - "previewUrl": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "provider_metadata": {}, - "related": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - }, - "folder": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "pathId": { - "type": "integer" - }, - "parent": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "children": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - }, - "files": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "alternativeText": { - "type": "string" - }, - "caption": { - "type": "string" - }, - "width": { - "type": "integer" - }, - "height": { - "type": "integer" - }, - "formats": {}, - "hash": { - "type": "string" - }, - "ext": { - "type": "string" - }, - "mime": { - "type": "string" - }, - "size": { - "type": "number", - "format": "float" - }, - "url": { - "type": "string" - }, - "previewUrl": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "provider_metadata": {}, - "related": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - }, - "folder": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} + } + }, + "folder": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } @@ -2997,18 +2592,9 @@ } } }, - "profilePictureURL": { + "websiteUrl": { "type": "string" }, - "role": { - "type": "string", - "enum": [ - "Researchers", - "PhD candidates", - "Engineers", - "Contact us" - ] - }, "createdAt": { "type": "string", "format": "date-time" @@ -3057,29 +2643,29 @@ } } }, - "PersonResponseDataObject": { + "PartnerResponseDataObject": { "type": "object", "properties": { "id": { "type": "number" }, "attributes": { - "$ref": "#/components/schemas/Person" + "$ref": "#/components/schemas/Partner" } } }, - "PersonResponse": { + "PartnerResponse": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/PersonResponseDataObject" + "$ref": "#/components/schemas/PartnerResponseDataObject" }, "meta": { "type": "object" } } }, - "PhDProjectRequest": { + "PersonRequest": { "type": "object", "required": [ "data" @@ -3087,41 +2673,65 @@ "properties": { "data": { "required": [ - "name" + "name", + "role" ], "type": "object", "properties": { "name": { "type": "string" }, - "title": { + "workTitle": { "type": "string" }, - "keywords": { + "employeeLink": { + "type": "string" + }, + "profilePicture": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "example": "string or id" + }, + "profilePictureURL": { "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "Researchers", + "PhD candidates", + "Engineers", + "Contact us" + ] } } } } }, - "PhDProjectListResponseDataItem": { + "PersonListResponseDataItem": { "type": "object", "properties": { "id": { "type": "number" }, "attributes": { - "$ref": "#/components/schemas/PhDProject" + "$ref": "#/components/schemas/Person" } } }, - "PhDProjectListResponse": { + "PersonListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { - "$ref": "#/components/schemas/PhDProjectListResponseDataItem" + "$ref": "#/components/schemas/PersonListResponseDataItem" } }, "meta": { @@ -3150,34 +2760,23 @@ } } }, - "PhDProject": { + "Person": { "type": "object", "required": [ - "name" + "name", + "role" ], "properties": { "name": { "type": "string" }, - "title": { + "workTitle": { "type": "string" }, - "keywords": { + "employeeLink": { "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "publishedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { + "profilePicture": { "type": "object", "properties": { "data": { @@ -3189,29 +2788,46 @@ "attributes": { "type": "object", "properties": { - "firstname": { + "name": { "type": "string" }, - "lastname": { + "alternativeText": { "type": "string" }, - "username": { + "caption": { "type": "string" }, - "email": { - "type": "string", - "format": "email" + "width": { + "type": "integer" }, - "resetPasswordToken": { + "height": { + "type": "integer" + }, + "formats": {}, + "hash": { "type": "string" }, - "registrationToken": { + "ext": { "type": "string" }, - "isActive": { - "type": "boolean" + "mime": { + "type": "string" }, - "roles": { + "size": { + "type": "number", + "format": "float" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": {}, + "related": { "type": "object", "properties": { "data": { @@ -3224,105 +2840,127 @@ }, "attributes": { "type": "object", - "properties": { - "name": { - "type": "string" - }, - "code": { - "type": "string" - }, - "description": { - "type": "string" - }, - "users": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { + "properties": {} + } + } + } + } + } + }, + "folder": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "pathId": { + "type": "integer" + }, + "parent": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + "properties": {} + } + } + } + } + }, + "children": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } } - }, - "permissions": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "actionParameters": {}, - "subject": { - "type": "string" - }, - "properties": {}, - "conditions": {}, - "role": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { + } + }, + "files": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "alternativeText": { + "type": "string" + }, + "caption": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + }, + "formats": {}, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number", + "format": "float" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": {}, + "related": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { "type": "object", "properties": { "id": { @@ -3336,479 +2974,238 @@ } } } - } - } - } - } - } - } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - } - } - } - } - } - }, - "blocked": { - "type": "boolean" - }, - "preferedLanguage": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - }, - "PhDProjectResponseDataObject": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "$ref": "#/components/schemas/PhDProject" - } - } - }, - "PhDProjectResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/PhDProjectResponseDataObject" - }, - "meta": { - "type": "object" - } - } - }, - "ProjectRequest": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "article": {}, - "satellites": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "example": "string or id" - } - }, - "slug": { - "type": "string" - } - } - } - } - }, - "ProjectListResponseDataItem": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "$ref": "#/components/schemas/Project" - } - } - }, - "ProjectListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectListResponseDataItem" - } - }, - "meta": { - "type": "object", - "properties": { - "pagination": { - "type": "object", - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer", - "minimum": 25 - }, - "pageCount": { - "type": "integer", - "maximum": 1 - }, - "total": { - "type": "integer" - } - } - } - } - } - } - }, - "Project": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "article": {}, - "satellites": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "catalogNumberNORAD": { - "type": "string" - }, - "projects": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "article": {}, - "satellites": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" }, - "attributes": { + "folder": { "type": "object", - "properties": {} - } - } - } - } - } - }, - "slug": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "publishedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "firstname": { - "type": "string" - }, - "lastname": { - "type": "string" - }, - "username": { - "type": "string" - }, - "email": { - "type": "string", - "format": "email" - }, - "resetPasswordToken": { - "type": "string" - }, - "registrationToken": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "roles": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "folderPath": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", "properties": { - "id": { - "type": "number" + "firstname": { + "type": "string" }, - "attributes": { + "lastname": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email" + }, + "resetPasswordToken": { + "type": "string" + }, + "registrationToken": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "roles": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "code": { - "type": "string" - }, - "description": { - "type": "string" - }, - "users": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", "properties": { - "id": { - "type": "number" - }, - "attributes": { + "name": { + "type": "string" + }, + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "users": { "type": "object", - "properties": {} - } - } - } - } - } - }, - "permissions": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } }, - "attributes": { + "permissions": { "type": "object", "properties": { - "action": { - "type": "string" - }, - "actionParameters": {}, - "subject": { - "type": "string" - }, - "properties": {}, - "conditions": {}, - "role": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "actionParameters": {}, + "subject": { + "type": "string" + }, + "properties": {}, + "conditions": {}, + "role": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } } } } } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { "type": "object", "properties": { - "data": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } + "properties": {} } } - }, - "updatedBy": { + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { "type": "object", "properties": { - "data": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } + "properties": {} } } } @@ -3818,46 +3215,52 @@ } } } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { + } + } + }, + "blocked": { + "type": "boolean" + }, + "preferedLanguage": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { "type": "object", "properties": { - "data": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } + "properties": {} } } - }, - "updatedBy": { + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { "type": "object", "properties": { - "data": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } + "properties": {} } } } @@ -3867,51 +3270,20 @@ } } } - }, - "blocked": { - "type": "boolean" - }, - "preferedLanguage": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } @@ -3921,21 +3293,49 @@ } } } - }, - "updatedBy": { + } + } + }, + "path": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { "type": "object", "properties": { - "data": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } @@ -3945,49 +3345,48 @@ } } } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "publishedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + } + }, + "folderPath": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } @@ -3999,9 +3398,18 @@ } } }, - "slug": { + "profilePictureURL": { "type": "string" }, + "role": { + "type": "string", + "enum": [ + "Researchers", + "PhD candidates", + "Engineers", + "Contact us" + ] + }, "createdAt": { "type": "string", "format": "date-time" @@ -4050,76 +3458,71 @@ } } }, - "ProjectResponseDataObject": { + "PersonResponseDataObject": { "type": "object", "properties": { "id": { "type": "number" }, "attributes": { - "$ref": "#/components/schemas/Project" + "$ref": "#/components/schemas/Person" } } }, - "ProjectResponse": { + "PersonResponse": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/ProjectResponseDataObject" + "$ref": "#/components/schemas/PersonResponseDataObject" }, "meta": { "type": "object" } } }, - "SatelliteRequest": { + "PhDProjectRequest": { "type": "object", "required": [ "data" ], "properties": { "data": { + "required": [ + "name" + ], "type": "object", "properties": { - "catalogNumberNORAD": { + "name": { "type": "string" }, - "projects": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "example": "string or id" - } - } - } + "title": { + "type": "string" + }, + "keywords": { + "type": "string" + } + } } } }, - "SatelliteListResponseDataItem": { + "PhDProjectListResponseDataItem": { "type": "object", "properties": { "id": { "type": "number" }, "attributes": { - "$ref": "#/components/schemas/Satellite" + "$ref": "#/components/schemas/PhDProject" } } }, - "SatelliteListResponse": { + "PhDProjectListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { - "$ref": "#/components/schemas/SatelliteListResponseDataItem" + "$ref": "#/components/schemas/PhDProjectListResponseDataItem" } }, "meta": { @@ -4148,86 +3551,116 @@ } } }, - "Satellite": { + "PhDProject": { "type": "object", + "required": [ + "name" + ], "properties": { - "catalogNumberNORAD": { + "name": { "type": "string" }, - "projects": { + "title": { + "type": "string" + }, + "keywords": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "publishedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { "type": "object", "properties": { "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "article": {}, - "satellites": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "catalogNumberNORAD": { - "type": "string" - }, - "projects": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "firstname": { + "type": "string" + }, + "lastname": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email" + }, + "resetPasswordToken": { + "type": "string" + }, + "registrationToken": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "roles": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "users": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "publishedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { + } + }, + "permissions": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { "type": "object", "properties": { "id": { @@ -4236,241 +3669,58 @@ "attributes": { "type": "object", "properties": { - "firstname": { + "action": { "type": "string" }, - "lastname": { + "actionParameters": {}, + "subject": { "type": "string" }, - "username": { - "type": "string" + "properties": {}, + "conditions": {}, + "role": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } }, - "email": { + "createdAt": { "type": "string", - "format": "email" - }, - "resetPasswordToken": { - "type": "string" + "format": "date-time" }, - "registrationToken": { - "type": "string" + "updatedAt": { + "type": "string", + "format": "date-time" }, - "isActive": { - "type": "boolean" + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } }, - "roles": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "code": { - "type": "string" - }, - "description": { - "type": "string" - }, - "users": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - }, - "permissions": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "actionParameters": {}, - "subject": { - "type": "string" - }, - "properties": {}, - "conditions": {}, - "role": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - } - } - } - } - } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - } - } - } - } - } - }, - "blocked": { - "type": "boolean" - }, - "preferedLanguage": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { + "updatedBy": { "type": "object", "properties": { "data": { @@ -4492,20 +3742,45 @@ } } } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } @@ -4516,52 +3791,51 @@ } } } - }, - "slug": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "publishedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + } + }, + "blocked": { + "type": "boolean" + }, + "preferedLanguage": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } @@ -4573,35 +3847,6 @@ } } }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "publishedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, "updatedBy": { "type": "object", "properties": { @@ -4621,22 +3866,22 @@ } } }, - "SatelliteResponseDataObject": { + "PhDProjectResponseDataObject": { "type": "object", "properties": { "id": { "type": "number" }, "attributes": { - "$ref": "#/components/schemas/Satellite" + "$ref": "#/components/schemas/PhDProject" } } }, - "SatelliteResponse": { + "PhDProjectResponse": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/SatelliteResponseDataObject" + "$ref": "#/components/schemas/PhDProjectResponseDataObject" }, "meta": { "type": "object" @@ -4675,6 +3920,17 @@ }, "slug": { "type": "string" + }, + "coverImage": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "example": "string or id" } } } @@ -4797,19 +4053,7 @@ "slug": { "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "publishedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { + "coverImage": { "type": "object", "properties": { "data": { @@ -4821,29 +4065,46 @@ "attributes": { "type": "object", "properties": { - "firstname": { + "name": { "type": "string" }, - "lastname": { + "alternativeText": { "type": "string" }, - "username": { + "caption": { "type": "string" }, - "email": { - "type": "string", - "format": "email" + "width": { + "type": "integer" }, - "resetPasswordToken": { + "height": { + "type": "integer" + }, + "formats": {}, + "hash": { "type": "string" }, - "registrationToken": { + "ext": { "type": "string" }, - "isActive": { - "type": "boolean" + "mime": { + "type": "string" }, - "roles": { + "size": { + "type": "number", + "format": "float" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": {}, + "related": { "type": "object", "properties": { "data": { @@ -4856,63 +4117,127 @@ }, "attributes": { "type": "object", - "properties": { - "name": { - "type": "string" - }, - "code": { - "type": "string" - }, - "description": { - "type": "string" - }, - "users": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { + "properties": {} + } + } + } + } + } + }, + "folder": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "pathId": { + "type": "integer" + }, + "parent": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + "properties": {} + } + } + } + } + }, + "children": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } } - }, - "permissions": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "actionParameters": {}, - "subject": { - "type": "string" - }, - "properties": {}, - "conditions": {}, - "role": { - "type": "object", - "properties": { - "data": { + } + }, + "files": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "alternativeText": { + "type": "string" + }, + "caption": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + }, + "formats": {}, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number", + "format": "float" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": {}, + "related": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { "type": "object", "properties": { "id": { @@ -4925,94 +4250,369 @@ } } } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + } + }, + "folder": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} + } + }, + "folderPath": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "firstname": { + "type": "string" + }, + "lastname": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email" + }, + "resetPasswordToken": { + "type": "string" + }, + "registrationToken": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "roles": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "users": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "permissions": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "actionParameters": {}, + "subject": { + "type": "string" + }, + "properties": {}, + "conditions": {}, + "role": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "blocked": { + "type": "boolean" + }, + "preferedLanguage": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } } } } } } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } } } } } } } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } + } + }, + "path": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} } } } @@ -5024,10 +4624,7 @@ } } }, - "blocked": { - "type": "boolean" - }, - "preferedLanguage": { + "folderPath": { "type": "string" }, "createdAt": { @@ -5078,6 +4675,35 @@ } } }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "publishedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, "updatedBy": { "type": "object", "properties": { @@ -5158,6 +4784,145 @@ "slug": { "type": "string" }, + "coverImage": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "alternativeText": { + "type": "string" + }, + "caption": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + }, + "formats": {}, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number", + "format": "float" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": {}, + "related": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "folder": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "folderPath": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -5676,36 +5441,7 @@ "slug": { "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "publishedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { + "coverImage": { "type": "object", "properties": { "data": { @@ -5716,803 +5452,697 @@ }, "attributes": { "type": "object", - "properties": {} - } - } - } - } - } - } - } - } - } - } - } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "publishedAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - }, - "updatedBy": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "type": "object", - "properties": {} - } - } - } - } - } - } - }, - "SatelliteResponseDataObject": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "$ref": "#/components/schemas/Satellite" - } - } - }, - "SatelliteResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/SatelliteResponseDataObject" - }, - "meta": { - "type": "object" - } - } - }, - "UploadFile": { - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "alternativeText": { - "type": "string" - }, - "caption": { - "type": "string" - }, - "width": { - "type": "number", - "format": "integer" - }, - "height": { - "type": "number", - "format": "integer" - }, - "formats": { - "type": "number" - }, - "hash": { - "type": "string" - }, - "ext": { - "type": "string" - }, - "mime": { - "type": "string" - }, - "size": { - "type": "number", - "format": "double" - }, - "url": { - "type": "string" - }, - "previewUrl": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "provider_metadata": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - } - }, - "Users-Permissions-Role": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "type": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - } - }, - "Users-Permissions-User": { - "type": "object", - "properties": { - "id": { - "type": "number", - "example": 1 - }, - "username": { - "type": "string", - "example": "foo.bar" - }, - "email": { - "type": "string", - "example": "foo.bar@strapi.io" - }, - "provider": { - "type": "string", - "example": "local" - }, - "confirmed": { - "type": "boolean", - "example": true - }, - "blocked": { - "type": "boolean", - "example": false - }, - "createdAt": { - "type": "string", - "format": "date-time", - "example": "2022-06-02T08:32:06.258Z" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "example": "2022-06-02T08:32:06.267Z" - } - } - }, - "Users-Permissions-UserRegistration": { - "type": "object", - "properties": { - "jwt": { - "type": "string", - "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" - }, - "user": { - "$ref": "#/components/schemas/Users-Permissions-User" - } - } - }, - "Users-Permissions-PermissionsTree": { - "type": "object", - "additionalProperties": { - "type": "object", - "description": "every api", - "properties": { - "controllers": { - "description": "every controller of the api", - "type": "object", - "additionalProperties": { - "type": "object", - "additionalProperties": { - "description": "every action of every controller", - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "policy": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "requestBodies": { - "Users-Permissions-RoleRequest": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "type": { - "type": "string" - }, - "permissions": { - "$ref": "#/components/schemas/Users-Permissions-PermissionsTree" - } - } - }, - "example": { - "name": "foo", - "description": "role foo", - "permissions": { - "api::content-type.content-type": { - "controllers": { - "controllerA": { - "find": { - "enabled": true - } - } - } - } - } - } - } - } - } - } - }, - "paths": { - "/articles": { - "get": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArticleListResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - }, - "tags": [ - "Article" - ], - "parameters": [ - { - "name": "sort", - "in": "query", - "description": "Sort by attributes ascending (asc) or descending (desc)", - "deprecated": false, - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "pagination[withCount]", - "in": "query", - "description": "Return page/pageSize (default: true)", - "deprecated": false, - "required": false, - "schema": { - "type": "boolean" - } - }, - { - "name": "pagination[page]", - "in": "query", - "description": "Page number (default: 0)", - "deprecated": false, - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "pagination[pageSize]", - "in": "query", - "description": "Page size (default: 25)", - "deprecated": false, - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "pagination[start]", - "in": "query", - "description": "Offset value (default: 0)", - "deprecated": false, - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "pagination[limit]", - "in": "query", - "description": "Number of entities to return (default: 25)", - "deprecated": false, - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "fields", - "in": "query", - "description": "Fields to return (ex: title,author)", - "deprecated": false, - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "populate", - "in": "query", - "description": "Relations to return", - "deprecated": false, - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "filters", - "in": "query", - "description": "Filters to apply", - "deprecated": false, - "required": false, - "schema": { - "type": "object" - }, - "style": "deepObject" - }, - { - "name": "locale", - "in": "query", - "description": "Locale to apply", - "deprecated": false, - "required": false, - "schema": { - "type": "string" - } - } - ], - "operationId": "get/articles" - }, - "post": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArticleResponse" + "properties": { + "name": { + "type": "string" + }, + "alternativeText": { + "type": "string" + }, + "caption": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + }, + "formats": {}, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number", + "format": "float" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": {}, + "related": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "folder": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "pathId": { + "type": "integer" + }, + "parent": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "children": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "files": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "alternativeText": { + "type": "string" + }, + "caption": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + }, + "formats": {}, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number", + "format": "float" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": {}, + "related": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "folder": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "folderPath": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "path": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + }, + "folderPath": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "publishedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } } } } }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "createdAt": { + "type": "string", + "format": "date-time" }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "updatedAt": { + "type": "string", + "format": "date-time" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "publishedAt": { + "type": "string", + "format": "date-time" }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } } } } }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } } } } } - }, - "tags": [ - "Article" - ], - "parameters": [], - "operationId": "post/articles", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArticleRequest" - } - } + } + }, + "SatelliteResponseDataObject": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "$ref": "#/components/schemas/Satellite" } } - } - }, - "/articles/{id}": { - "get": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArticleResponse" - } - } - } + }, + "SatelliteResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/SatelliteResponseDataObject" }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "meta": { + "type": "object" + } + } + }, + "UploadFile": { + "properties": { + "id": { + "type": "number" }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "name": { + "type": "string" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "alternativeText": { + "type": "string" }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "caption": { + "type": "string" }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - }, - "tags": [ - "Article" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "", - "deprecated": false, - "required": true, - "schema": { - "type": "number" - } + "width": { + "type": "number", + "format": "integer" + }, + "height": { + "type": "number", + "format": "integer" + }, + "formats": { + "type": "number" + }, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number", + "format": "double" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" } - ], - "operationId": "get/articles/{id}" + } }, - "put": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArticleResponse" - } - } - } + "Users-Permissions-Role": { + "type": "object", + "properties": { + "id": { + "type": "number" }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "name": { + "type": "string" }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "description": { + "type": "string" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "type": { + "type": "string" }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "createdAt": { + "type": "string", + "format": "date-time" }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - }, - "tags": [ - "Article" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "", - "deprecated": false, - "required": true, - "schema": { - "type": "number" - } - } - ], - "operationId": "put/articles/{id}", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArticleRequest" - } - } + "updatedAt": { + "type": "string", + "format": "date-time" } } }, - "delete": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "integer", - "format": "int64" - } - } - } + "Users-Permissions-User": { + "type": "object", + "properties": { + "id": { + "type": "number", + "example": 1 }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "username": { + "type": "string", + "example": "foo.bar" }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "email": { + "type": "string", + "example": "foo.bar@strapi.io" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "provider": { + "type": "string", + "example": "local" }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" + "confirmed": { + "type": "boolean", + "example": true + }, + "blocked": { + "type": "boolean", + "example": false + }, + "createdAt": { + "type": "string", + "format": "date-time", + "example": "2022-06-02T08:32:06.258Z" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "example": "2022-06-02T08:32:06.267Z" + } + } + }, + "Users-Permissions-UserRegistration": { + "type": "object", + "properties": { + "jwt": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" + }, + "user": { + "$ref": "#/components/schemas/Users-Permissions-User" + } + } + }, + "Users-Permissions-PermissionsTree": { + "type": "object", + "additionalProperties": { + "type": "object", + "description": "every api", + "properties": { + "controllers": { + "description": "every controller of the api", + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "description": "every action of every controller", + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "policy": { + "type": "string" + } + } } } } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" + } + } + } + }, + "requestBodies": { + "Users-Permissions-RoleRequest": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string" + }, + "permissions": { + "$ref": "#/components/schemas/Users-Permissions-PermissionsTree" + } + } + }, + "example": { + "name": "foo", + "description": "role foo", + "permissions": { + "api::content-type.content-type": { + "controllers": { + "controllerA": { + "find": { + "enabled": true + } + } + } } } } } - }, - "tags": [ - "Article" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "", - "deprecated": false, - "required": true, - "schema": { - "type": "number" - } - } - ], - "operationId": "delete/articles/{id}" + } } - }, - "/authors": { + } + }, + "paths": { + "/articles": { "get": { "responses": { "200": { @@ -6520,7 +6150,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorListResponse" + "$ref": "#/components/schemas/ArticleListResponse" } } } @@ -6577,7 +6207,7 @@ } }, "tags": [ - "Author" + "Article" ], "parameters": [ { @@ -6682,7 +6312,7 @@ } } ], - "operationId": "get/authors" + "operationId": "get/articles" }, "post": { "responses": { @@ -6691,7 +6321,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorResponse" + "$ref": "#/components/schemas/ArticleResponse" } } } @@ -6748,23 +6378,23 @@ } }, "tags": [ - "Author" + "Article" ], "parameters": [], - "operationId": "post/authors", + "operationId": "post/articles", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorRequest" + "$ref": "#/components/schemas/ArticleRequest" } } } } } }, - "/authors/{id}": { + "/articles/{id}": { "get": { "responses": { "200": { @@ -6772,7 +6402,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorResponse" + "$ref": "#/components/schemas/ArticleResponse" } } } @@ -6829,7 +6459,7 @@ } }, "tags": [ - "Author" + "Article" ], "parameters": [ { @@ -6843,7 +6473,7 @@ } } ], - "operationId": "get/authors/{id}" + "operationId": "get/articles/{id}" }, "put": { "responses": { @@ -6852,7 +6482,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorResponse" + "$ref": "#/components/schemas/ArticleResponse" } } } @@ -6909,7 +6539,7 @@ } }, "tags": [ - "Author" + "Article" ], "parameters": [ { @@ -6923,13 +6553,13 @@ } } ], - "operationId": "put/authors/{id}", + "operationId": "put/articles/{id}", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorRequest" + "$ref": "#/components/schemas/ArticleRequest" } } } @@ -7000,7 +6630,7 @@ } }, "tags": [ - "Author" + "Article" ], "parameters": [ { @@ -7014,10 +6644,10 @@ } } ], - "operationId": "delete/authors/{id}" + "operationId": "delete/articles/{id}" } }, - "/infrastructure": { + "/authors": { "get": { "responses": { "200": { @@ -7025,7 +6655,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InfrastructureResponse" + "$ref": "#/components/schemas/AuthorListResponse" } } } @@ -7082,7 +6712,7 @@ } }, "tags": [ - "Infrastructure" + "Author" ], "parameters": [ { @@ -7187,16 +6817,16 @@ } } ], - "operationId": "get/infrastructure" + "operationId": "get/authors" }, - "put": { + "post": { "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InfrastructureResponse" + "$ref": "#/components/schemas/AuthorResponse" } } } @@ -7253,93 +6883,23 @@ } }, "tags": [ - "Infrastructure" + "Author" ], "parameters": [], - "operationId": "put/infrastructure", + "operationId": "post/authors", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InfrastructureRequest" + "$ref": "#/components/schemas/AuthorRequest" } } } } - }, - "delete": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "integer", - "format": "int64" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - }, - "tags": [ - "Infrastructure" - ], - "parameters": [], - "operationId": "delete/infrastructure" } }, - "/partners": { + "/authors/{id}": { "get": { "responses": { "200": { @@ -7347,7 +6907,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PersonResponse" + "$ref": "#/components/schemas/AuthorResponse" } } } @@ -7404,7 +6964,7 @@ } }, "tags": [ - "Person" + "Author" ], "parameters": [ { @@ -7418,7 +6978,7 @@ } } ], - "operationId": "get/people/{id}" + "operationId": "get/authors/{id}" }, "put": { "responses": { @@ -7427,7 +6987,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PersonResponse" + "$ref": "#/components/schemas/AuthorResponse" } } } @@ -7484,7 +7044,7 @@ } }, "tags": [ - "Person" + "Author" ], "parameters": [ { @@ -7498,13 +7058,13 @@ } } ], - "operationId": "put/people/{id}", + "operationId": "put/authors/{id}", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PersonRequest" + "$ref": "#/components/schemas/AuthorRequest" } } } @@ -7575,7 +7135,7 @@ } }, "tags": [ - "Person" + "Author" ], "parameters": [ { @@ -7589,10 +7149,10 @@ } } ], - "operationId": "delete/people/{id}" + "operationId": "delete/authors/{id}" } }, - "/ph-d-projects": { + "/partners": { "get": { "responses": { "200": { @@ -7600,7 +7160,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PhDProjectListResponse" + "$ref": "#/components/schemas/PartnerListResponse" } } } @@ -7657,7 +7217,7 @@ } }, "tags": [ - "Ph-d-project" + "Partner" ], "parameters": [ { @@ -7762,7 +7322,7 @@ } } ], - "operationId": "get/ph-d-projects" + "operationId": "get/partners" }, "post": { "responses": { @@ -7771,7 +7331,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PhDProjectResponse" + "$ref": "#/components/schemas/PartnerResponse" } } } @@ -7828,23 +7388,23 @@ } }, "tags": [ - "Ph-d-project" + "Partner" ], "parameters": [], - "operationId": "post/ph-d-projects", + "operationId": "post/partners", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PhDProjectRequest" + "$ref": "#/components/schemas/PartnerRequest" } } } } } }, - "/ph-d-projects/{id}": { + "/partners/{id}": { "get": { "responses": { "200": { @@ -7852,7 +7412,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PhDProjectResponse" + "$ref": "#/components/schemas/PartnerResponse" } } } @@ -7909,7 +7469,7 @@ } }, "tags": [ - "Ph-d-project" + "Partner" ], "parameters": [ { @@ -7923,7 +7483,7 @@ } } ], - "operationId": "get/ph-d-projects/{id}" + "operationId": "get/partners/{id}" }, "put": { "responses": { @@ -7932,7 +7492,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PhDProjectResponse" + "$ref": "#/components/schemas/PartnerResponse" } } } @@ -7989,7 +7549,7 @@ } }, "tags": [ - "Ph-d-project" + "Partner" ], "parameters": [ { @@ -8003,13 +7563,13 @@ } } ], - "operationId": "put/ph-d-projects/{id}", + "operationId": "put/partners/{id}", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PhDProjectRequest" + "$ref": "#/components/schemas/PartnerRequest" } } } @@ -8080,7 +7640,7 @@ } }, "tags": [ - "Ph-d-project" + "Partner" ], "parameters": [ { @@ -8094,10 +7654,10 @@ } } ], - "operationId": "delete/ph-d-projects/{id}" + "operationId": "delete/partners/{id}" } }, - "/projects": { + "/people": { "get": { "responses": { "200": { @@ -8105,7 +7665,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProjectListResponse" + "$ref": "#/components/schemas/PersonListResponse" } } } @@ -8162,7 +7722,7 @@ } }, "tags": [ - "Project" + "Person" ], "parameters": [ { @@ -8267,7 +7827,7 @@ } } ], - "operationId": "get/projects" + "operationId": "get/people" }, "post": { "responses": { @@ -8276,7 +7836,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProjectResponse" + "$ref": "#/components/schemas/PersonResponse" } } } @@ -8333,23 +7893,23 @@ } }, "tags": [ - "Project" + "Person" ], "parameters": [], - "operationId": "post/projects", + "operationId": "post/people", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProjectRequest" + "$ref": "#/components/schemas/PersonRequest" } } } } } }, - "/projects/{id}": { + "/people/{id}": { "get": { "responses": { "200": { @@ -8357,7 +7917,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProjectResponse" + "$ref": "#/components/schemas/PersonResponse" } } } @@ -8414,7 +7974,7 @@ } }, "tags": [ - "Project" + "Person" ], "parameters": [ { @@ -8428,7 +7988,7 @@ } } ], - "operationId": "get/projects/{id}" + "operationId": "get/people/{id}" }, "put": { "responses": { @@ -8437,7 +7997,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProjectResponse" + "$ref": "#/components/schemas/PersonResponse" } } } @@ -8494,7 +8054,7 @@ } }, "tags": [ - "Project" + "Person" ], "parameters": [ { @@ -8508,13 +8068,13 @@ } } ], - "operationId": "put/projects/{id}", + "operationId": "put/people/{id}", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProjectRequest" + "$ref": "#/components/schemas/PersonRequest" } } } @@ -8585,7 +8145,7 @@ } }, "tags": [ - "Project" + "Person" ], "parameters": [ { @@ -8599,10 +8159,10 @@ } } ], - "operationId": "delete/projects/{id}" + "operationId": "delete/people/{id}" } }, - "/satellites": { + "/ph-d-projects": { "get": { "responses": { "200": { @@ -8610,7 +8170,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SatelliteListResponse" + "$ref": "#/components/schemas/PhDProjectListResponse" } } } @@ -8667,7 +8227,7 @@ } }, "tags": [ - "Satellite" + "Ph-d-project" ], "parameters": [ { @@ -8772,7 +8332,7 @@ } } ], - "operationId": "get/satellites" + "operationId": "get/ph-d-projects" }, "post": { "responses": { @@ -8781,7 +8341,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SatelliteResponse" + "$ref": "#/components/schemas/PhDProjectResponse" } } } @@ -8838,23 +8398,23 @@ } }, "tags": [ - "Satellite" + "Ph-d-project" ], "parameters": [], - "operationId": "post/satellites", + "operationId": "post/ph-d-projects", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SatelliteRequest" + "$ref": "#/components/schemas/PhDProjectRequest" } } } } } }, - "/satellites/{id}": { + "/ph-d-projects/{id}": { "get": { "responses": { "200": { @@ -8862,7 +8422,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SatelliteResponse" + "$ref": "#/components/schemas/PhDProjectResponse" } } } @@ -8919,7 +8479,7 @@ } }, "tags": [ - "Satellite" + "Ph-d-project" ], "parameters": [ { @@ -8933,7 +8493,7 @@ } } ], - "operationId": "get/satellites/{id}" + "operationId": "get/ph-d-projects/{id}" }, "put": { "responses": { @@ -8942,7 +8502,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SatelliteResponse" + "$ref": "#/components/schemas/PhDProjectResponse" } } } @@ -8999,7 +8559,7 @@ } }, "tags": [ - "Satellite" + "Ph-d-project" ], "parameters": [ { @@ -9013,13 +8573,13 @@ } } ], - "operationId": "put/satellites/{id}", + "operationId": "put/ph-d-projects/{id}", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SatelliteRequest" + "$ref": "#/components/schemas/PhDProjectRequest" } } } @@ -9090,7 +8650,7 @@ } }, "tags": [ - "Satellite" + "Ph-d-project" ], "parameters": [ { @@ -9104,7 +8664,7 @@ } } ], - "operationId": "delete/satellites/{id}" + "operationId": "delete/ph-d-projects/{id}" } }, "/projects": { diff --git a/backend/types/generated/contentTypes.d.ts b/backend/types/generated/contentTypes.d.ts index 9f7b098..c5f0ee4 100644 --- a/backend/types/generated/contentTypes.d.ts +++ b/backend/types/generated/contentTypes.d.ts @@ -980,6 +980,7 @@ export interface ApiProjectProject extends Schema.CollectionType { 'api::satellite.satellite' >; slug: Attribute.UID; + coverImage: Attribute.Media; createdAt: Attribute.DateTime; updatedAt: Attribute.DateTime; publishedAt: Attribute.DateTime; diff --git a/frontend/src/__generated__/gql.ts b/frontend/src/__generated__/gql.ts index 02f0f01..d7d6bbc 100644 --- a/frontend/src/__generated__/gql.ts +++ b/frontend/src/__generated__/gql.ts @@ -13,14 +13,13 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/ * Therefore it is highly recommended to use the babel or swc plugin for production. */ const documents = { - "\nquery GET_STRUCTURE {\n infrastructure {\n data {\n attributes {\n Content\n }\n }\n }\n }\n": types.Get_StructureDocument, "\nquery GET_PARTNERS {\n partners {\n data {\n attributes {\n partnerName\n logoUrl\n websiteUrl\n logoImage {\n data {\n attributes {\n url\n }\n }\n }\n }\n }\n }\n }\n": types.Get_PartnersDocument, "\nquery PhDProjects {\n phDProjects {\n data {\n attributes {\n name\n title\n keywords\n }\n id\n }\n }\n}\n": types.PhDProjectsDocument, "\nquery People {\n people {\n data {\n id\n attributes {\n name\n workTitle\n employeeLink\n profilePicture {\n data {\n attributes {\n url\n }\n }\n }\n profilePictureURL\n role\n }\n }\n }\n }\n": types.PeopleDocument, "query ArticleWithSlug($articlesFilters: ArticleFiltersInput) {\n articles(filters: $articlesFilters) {\n data {\n attributes {\n author {\n data {\n attributes {\n name\n avatar {\n data {\n attributes {\n url\n }\n }\n }\n }\n }\n }\n body\n coverImage {\n data {\n attributes {\n url\n }\n }\n }\n datePublished\n subtitle\n title\n }\n }\n }\n }\n \n ": types.ArticleWithSlugDocument, "\nquery GET_ARTICLES {\n articles(sort: [\"datePublished:desc\"]) {\n data {\n id\n attributes {\n author {\n data {\n attributes {\n name\n avatar {\n data {\n attributes {\n url\n }\n }\n }\n }\n }\n }\n title\n datePublished\n body\n coverImage {\n data {\n attributes {\n url\n }\n }\n }\n createdAt\n publishedAt\n slug\n subtitle\n }\n }\n }\n}\n": types.Get_ArticlesDocument, - "\nquery Projects($projectFilters: ProjectFiltersInput) {\n projects(filters: $projectFilters) {\n data {\n attributes {\n title\n description\n article\n satellites {\n data {\n id\n attributes {\n catalogNumberNORAD\n projects {\n data {\n id\n }\n }\n createdAt\n updatedAt\n publishedAt\n }\n }\n }\n slug\n }\n }\n }\n }": types.ProjectsDocument, - "\n query GET_PROJECTS {\n projects {\n data {\n attributes {\n title\n description\n slug\n }\n }\n }\n }": types.Get_ProjectsDocument, + "\nquery Projects($projectFilters: ProjectFiltersInput) {\n projects(filters: $projectFilters) {\n data {\n attributes {\n title\n description\n article\n satellites {\n data {\n id\n attributes {\n catalogNumberNORAD\n projects {\n data {\n id\n }\n }\n createdAt\n updatedAt\n publishedAt\n }\n }\n }\n slug\n publishedAt\n coverImage {\n data {\n id\n attributes {\n url\n }\n }\n }\n }\n }\n }\n }": types.ProjectsDocument, + "\n query GET_PROJECTS {\n projects(sort: [\"publishedAt:desc\"]) {\n data {\n id\n attributes {\n title\n article\n satellites {\n data {\n attributes {\n catalogNumberNORAD\n }\n }\n }\n slug\n coverImage {\n data {\n attributes {\n url\n }\n }\n }\n updatedAt\n publishedAt\n createdAt\n description\n }\n }\n }\n }": types.Get_ProjectsDocument, }; /** @@ -37,10 +36,6 @@ const documents = { */ export function gql(source: string): unknown; -/** - * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. - */ -export function gql(source: "\nquery GET_STRUCTURE {\n infrastructure {\n data {\n attributes {\n Content\n }\n }\n }\n }\n"): (typeof documents)["\nquery GET_STRUCTURE {\n infrastructure {\n data {\n attributes {\n Content\n }\n }\n }\n }\n"]; /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -64,11 +59,11 @@ export function gql(source: "\nquery GET_ARTICLES {\n articles(sort: [\"dateP /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function gql(source: "\nquery Projects($projectFilters: ProjectFiltersInput) {\n projects(filters: $projectFilters) {\n data {\n attributes {\n title\n description\n article\n satellites {\n data {\n id\n attributes {\n catalogNumberNORAD\n projects {\n data {\n id\n }\n }\n createdAt\n updatedAt\n publishedAt\n }\n }\n }\n slug\n }\n }\n }\n }"): (typeof documents)["\nquery Projects($projectFilters: ProjectFiltersInput) {\n projects(filters: $projectFilters) {\n data {\n attributes {\n title\n description\n article\n satellites {\n data {\n id\n attributes {\n catalogNumberNORAD\n projects {\n data {\n id\n }\n }\n createdAt\n updatedAt\n publishedAt\n }\n }\n }\n slug\n }\n }\n }\n }"]; +export function gql(source: "\nquery Projects($projectFilters: ProjectFiltersInput) {\n projects(filters: $projectFilters) {\n data {\n attributes {\n title\n description\n article\n satellites {\n data {\n id\n attributes {\n catalogNumberNORAD\n projects {\n data {\n id\n }\n }\n createdAt\n updatedAt\n publishedAt\n }\n }\n }\n slug\n publishedAt\n coverImage {\n data {\n id\n attributes {\n url\n }\n }\n }\n }\n }\n }\n }"): (typeof documents)["\nquery Projects($projectFilters: ProjectFiltersInput) {\n projects(filters: $projectFilters) {\n data {\n attributes {\n title\n description\n article\n satellites {\n data {\n id\n attributes {\n catalogNumberNORAD\n projects {\n data {\n id\n }\n }\n createdAt\n updatedAt\n publishedAt\n }\n }\n }\n slug\n publishedAt\n coverImage {\n data {\n id\n attributes {\n url\n }\n }\n }\n }\n }\n }\n }"]; /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function gql(source: "\n query GET_PROJECTS {\n projects {\n data {\n attributes {\n title\n description\n slug\n }\n }\n }\n }"): (typeof documents)["\n query GET_PROJECTS {\n projects {\n data {\n attributes {\n title\n description\n slug\n }\n }\n }\n }"]; +export function gql(source: "\n query GET_PROJECTS {\n projects(sort: [\"publishedAt:desc\"]) {\n data {\n id\n attributes {\n title\n article\n satellites {\n data {\n attributes {\n catalogNumberNORAD\n }\n }\n }\n slug\n coverImage {\n data {\n attributes {\n url\n }\n }\n }\n updatedAt\n publishedAt\n createdAt\n description\n }\n }\n }\n }"): (typeof documents)["\n query GET_PROJECTS {\n projects(sort: [\"publishedAt:desc\"]) {\n data {\n id\n attributes {\n title\n article\n satellites {\n data {\n attributes {\n catalogNumberNORAD\n }\n }\n }\n slug\n coverImage {\n data {\n attributes {\n url\n }\n }\n }\n updatedAt\n publishedAt\n createdAt\n description\n }\n }\n }\n }"]; export function gql(source: string) { return (documents as any)[source] ?? {}; diff --git a/frontend/src/__generated__/graphql.ts b/frontend/src/__generated__/graphql.ts index 2c54662..41748d4 100644 --- a/frontend/src/__generated__/graphql.ts +++ b/frontend/src/__generated__/graphql.ts @@ -354,7 +354,7 @@ export type FloatFilterInput = { startsWith?: InputMaybe; }; -export type GenericMorph = Article | Author | ContentReleasesRelease | ContentReleasesReleaseAction | I18NLocale | Infrastructure | Partner | Person | PhDProject | Project | Satellite | UploadFile | UploadFolder | UsersPermissionsPermission | UsersPermissionsRole | UsersPermissionsUser; +export type GenericMorph = Article | Author | ContentReleasesRelease | ContentReleasesReleaseAction | I18NLocale | Partner | Person | PhDProject | Project | Satellite | UploadFile | UploadFolder | UsersPermissionsPermission | UsersPermissionsRole | UsersPermissionsUser; export type I18NLocale = { __typename?: 'I18NLocale'; @@ -417,30 +417,6 @@ export type IdFilterInput = { startsWith?: InputMaybe; }; -export type Infrastructure = { - __typename?: 'Infrastructure'; - Content?: Maybe; - createdAt?: Maybe; - publishedAt?: Maybe; - updatedAt?: Maybe; -}; - -export type InfrastructureEntity = { - __typename?: 'InfrastructureEntity'; - attributes?: Maybe; - id?: Maybe; -}; - -export type InfrastructureEntityResponse = { - __typename?: 'InfrastructureEntityResponse'; - data?: Maybe; -}; - -export type InfrastructureInput = { - Content?: InputMaybe; - publishedAt?: InputMaybe; -}; - export type IntFilterInput = { and?: InputMaybe>>; between?: InputMaybe>>; @@ -514,7 +490,6 @@ export type Mutation = { deleteAuthor?: Maybe; deleteContentReleasesRelease?: Maybe; deleteContentReleasesReleaseAction?: Maybe; - deleteInfrastructure?: Maybe; deletePartner?: Maybe; deletePerson?: Maybe; deletePhDProject?: Maybe; @@ -542,7 +517,6 @@ export type Mutation = { updateContentReleasesRelease?: Maybe; updateContentReleasesReleaseAction?: Maybe; updateFileInfo: UploadFileEntityResponse; - updateInfrastructure?: Maybe; updatePartner?: Maybe; updatePerson?: Maybe; updatePhDProject?: Maybe; @@ -765,11 +739,6 @@ export type MutationUpdateFileInfoArgs = { }; -export type MutationUpdateInfrastructureArgs = { - data: InfrastructureInput; -}; - - export type MutationUpdatePartnerArgs = { data: PartnerInput; id: Scalars['ID']['input']; @@ -1001,6 +970,7 @@ export type PhDProjectInput = { export type Project = { __typename?: 'Project'; article?: Maybe; + coverImage?: Maybe; createdAt?: Maybe; description?: Maybe; publishedAt?: Maybe; @@ -1052,6 +1022,7 @@ export type ProjectFiltersInput = { export type ProjectInput = { article?: InputMaybe; + coverImage?: InputMaybe; description?: InputMaybe; publishedAt?: InputMaybe; satellites?: InputMaybe>>; @@ -1081,7 +1052,6 @@ export type Query = { contentReleasesReleases?: Maybe; i18NLocale?: Maybe; i18NLocales?: Maybe; - infrastructure?: Maybe; me?: Maybe; partner?: Maybe; partners?: Maybe; @@ -1166,11 +1136,6 @@ export type QueryI18NLocalesArgs = { }; -export type QueryInfrastructureArgs = { - publicationState?: InputMaybe; -}; - - export type QueryPartnerArgs = { id?: InputMaybe; }; @@ -1743,11 +1708,6 @@ export type UsersPermissionsUserRelationResponseCollection = { data: Array; }; -export type Get_StructureQueryVariables = Exact<{ [key: string]: never; }>; - - -export type Get_StructureQuery = { __typename?: 'Query', infrastructure?: { __typename?: 'InfrastructureEntityResponse', data?: { __typename?: 'InfrastructureEntity', attributes?: { __typename?: 'Infrastructure', Content?: any | null } | null } | null } | null }; - export type Get_PartnersQueryVariables = Exact<{ [key: string]: never; }>; @@ -1780,19 +1740,18 @@ export type ProjectsQueryVariables = Exact<{ }>; -export type ProjectsQuery = { __typename?: 'Query', projects?: { __typename?: 'ProjectEntityResponseCollection', data: Array<{ __typename?: 'ProjectEntity', attributes?: { __typename?: 'Project', title?: string | null, description?: string | null, article?: any | null, slug?: string | null, satellites?: { __typename?: 'SatelliteRelationResponseCollection', data: Array<{ __typename?: 'SatelliteEntity', id?: string | null, attributes?: { __typename?: 'Satellite', catalogNumberNORAD?: string | null, createdAt?: any | null, updatedAt?: any | null, publishedAt?: any | null, projects?: { __typename?: 'ProjectRelationResponseCollection', data: Array<{ __typename?: 'ProjectEntity', id?: string | null }> } | null } | null }> } | null } | null }> } | null }; +export type ProjectsQuery = { __typename?: 'Query', projects?: { __typename?: 'ProjectEntityResponseCollection', data: Array<{ __typename?: 'ProjectEntity', attributes?: { __typename?: 'Project', title?: string | null, description?: string | null, article?: any | null, slug?: string | null, publishedAt?: any | null, satellites?: { __typename?: 'SatelliteRelationResponseCollection', data: Array<{ __typename?: 'SatelliteEntity', id?: string | null, attributes?: { __typename?: 'Satellite', catalogNumberNORAD?: string | null, createdAt?: any | null, updatedAt?: any | null, publishedAt?: any | null, projects?: { __typename?: 'ProjectRelationResponseCollection', data: Array<{ __typename?: 'ProjectEntity', id?: string | null }> } | null } | null }> } | null, coverImage?: { __typename?: 'UploadFileEntityResponse', data?: { __typename?: 'UploadFileEntity', id?: string | null, attributes?: { __typename?: 'UploadFile', url: string } | null } | null } | null } | null }> } | null }; export type Get_ProjectsQueryVariables = Exact<{ [key: string]: never; }>; -export type Get_ProjectsQuery = { __typename?: 'Query', projects?: { __typename?: 'ProjectEntityResponseCollection', data: Array<{ __typename?: 'ProjectEntity', attributes?: { __typename?: 'Project', title?: string | null, description?: string | null, slug?: string | null } | null }> } | null }; +export type Get_ProjectsQuery = { __typename?: 'Query', projects?: { __typename?: 'ProjectEntityResponseCollection', data: Array<{ __typename?: 'ProjectEntity', id?: string | null, attributes?: { __typename?: 'Project', title?: string | null, article?: any | null, slug?: string | null, updatedAt?: any | null, publishedAt?: any | null, createdAt?: any | null, description?: string | null, satellites?: { __typename?: 'SatelliteRelationResponseCollection', data: Array<{ __typename?: 'SatelliteEntity', attributes?: { __typename?: 'Satellite', catalogNumberNORAD?: string | null } | null }> } | null, coverImage?: { __typename?: 'UploadFileEntityResponse', data?: { __typename?: 'UploadFileEntity', attributes?: { __typename?: 'UploadFile', url: string } | null } | null } | null } | null }> } | null }; -export const Get_StructureDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GET_STRUCTURE"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"infrastructure"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"Content"}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const Get_PartnersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GET_PARTNERS"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"partners"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"partnerName"}},{"kind":"Field","name":{"kind":"Name","value":"logoUrl"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"logoImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const PhDProjectsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"PhDProjects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"phDProjects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"keywords"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode; export const PeopleDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"People"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"people"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"workTitle"}},{"kind":"Field","name":{"kind":"Name","value":"employeeLink"}},{"kind":"Field","name":{"kind":"Name","value":"profilePicture"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"profilePictureURL"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const ArticleWithSlugDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ArticleWithSlug"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"articlesFilters"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ArticleFiltersInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"articles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"articlesFilters"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"author"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"avatar"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"body"}},{"kind":"Field","name":{"kind":"Name","value":"coverImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"datePublished"}},{"kind":"Field","name":{"kind":"Name","value":"subtitle"}},{"kind":"Field","name":{"kind":"Name","value":"title"}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const Get_ArticlesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GET_ARTICLES"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"articles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"sort"},"value":{"kind":"ListValue","values":[{"kind":"StringValue","value":"datePublished:desc","block":false}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"author"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"avatar"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"datePublished"}},{"kind":"Field","name":{"kind":"Name","value":"body"}},{"kind":"Field","name":{"kind":"Name","value":"coverImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"publishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"subtitle"}}]}}]}}]}}]}}]} as unknown as DocumentNode; -export const ProjectsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Projects"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectFilters"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ProjectFiltersInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectFilters"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"article"}},{"kind":"Field","name":{"kind":"Name","value":"satellites"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"catalogNumberNORAD"}},{"kind":"Field","name":{"kind":"Name","value":"projects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"publishedAt"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}}]}}]} as unknown as DocumentNode; -export const Get_ProjectsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GET_PROJECTS"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file +export const ProjectsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Projects"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectFilters"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ProjectFiltersInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectFilters"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"article"}},{"kind":"Field","name":{"kind":"Name","value":"satellites"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"catalogNumberNORAD"}},{"kind":"Field","name":{"kind":"Name","value":"projects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"publishedAt"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"publishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"coverImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const Get_ProjectsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GET_PROJECTS"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"sort"},"value":{"kind":"ListValue","values":[{"kind":"StringValue","value":"publishedAt:desc","block":false}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"article"}},{"kind":"Field","name":{"kind":"Name","value":"satellites"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"catalogNumberNORAD"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"coverImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"publishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}}]}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file diff --git a/frontend/src/app/projects/[projectSlug]/page.tsx b/frontend/src/app/projects/[projectSlug]/page.tsx index 07b2b16..e5b13da 100644 --- a/frontend/src/app/projects/[projectSlug]/page.tsx +++ b/frontend/src/app/projects/[projectSlug]/page.tsx @@ -1,6 +1,8 @@ export const runtime = "edge"; import { gql } from "@/__generated__/gql"; +import BlockRendererClient from "@/components/BlockRendererClient"; import { getClient } from "@/lib/ApolloClient"; +import { BlocksContent } from "@strapi/blocks-react-renderer"; const HOST_URL = process.env.HOST_URL; const GET_PROJECT_BY_SLUG = gql(` @@ -28,6 +30,15 @@ query Projects($projectFilters: ProjectFiltersInput) { } } slug + publishedAt + coverImage { + data { + id + attributes { + url + } + } + } } } } @@ -57,6 +68,7 @@ export default async function Page({ } const projects = graphqlData.data.projects?.data[0]; + const content: BlocksContent = projects?.attributes?.article ?? []; let projectTitle = projects?.attributes?.slug; @@ -64,13 +76,14 @@ export default async function Page({ projectTitle = HOST_URL + projectTitle; } - const projectName = projects?.attributes?.title; - const projectDescription = projects?.attributes?.description; - return ( -
-

{projectName}

-

{projectDescription}

+
+

+ {projects?.attributes?.title} +

+
+ +
); } diff --git a/frontend/src/app/projects/page.tsx b/frontend/src/app/projects/page.tsx index 7961ae7..f9d82dc 100644 --- a/frontend/src/app/projects/page.tsx +++ b/frontend/src/app/projects/page.tsx @@ -1,19 +1,43 @@ export const runtime = "edge"; import { gql } from "@/__generated__/gql"; +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { getClient } from "@/lib/ApolloClient"; +import { BlocksContent } from "@strapi/blocks-react-renderer"; import Link from "next/link"; +import Image from "next/image"; +import BlockRendererClient from "@/components/BlockRendererClient"; +const HOST_URL = process.env.HOST_URL; const GET_PROJECTS = gql(` query GET_PROJECTS { - projects { - data { - attributes { - title - description - slug + projects(sort: ["publishedAt:desc"]) { + data { + id + attributes { + title + article + satellites { + data { + attributes { + catalogNumberNORAD + } + } + } + slug + coverImage { + data { + attributes { + url + } + } + } + updatedAt + publishedAt + createdAt + description + } } } - } }`); export default async function ProjectsPage() { @@ -31,25 +55,59 @@ export default async function ProjectsPage() { } return ( -
-

Projects

- {/* map projects from strapi to component */} - {} - {graphqlData.data.projects.data.map( - ( - project: any, // TODO: fix any - ) => ( -
- - {project.attributes.title} - -

{project.attributes.description}

-
- ), - )} +
+

Our Projects

+

+ Information about our various projects are shown here. +

+ +
+ {graphqlData.data.projects.data.map((project) => { + let coverImage = + project?.attributes?.coverImage?.data?.attributes?.url; + + if (HOST_URL && coverImage != undefined) { + coverImage = HOST_URL + coverImage; + } + let content: BlocksContent = + project?.attributes?.article ?? []; + + for (const block of content) { + if (block.type === "paragraph") { + content = [block]; + break; + } + } + return ( + + + + + {project?.attributes?.title} + + + + + {coverImage && ( + {coverImage} + )} + + + + ); + })} +
); }