diff --git a/backend/src/api/infrastructure/content-types/infrastructure/schema.json b/backend/src/api/infrastructure/content-types/infrastructure/schema.json deleted file mode 100644 index a4c8276..0000000 --- a/backend/src/api/infrastructure/content-types/infrastructure/schema.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "kind": "singleType", - "collectionName": "infrastructures", - "info": { - "singularName": "infrastructure", - "pluralName": "infrastructures", - "displayName": "Infrastructure" - }, - "options": { - "draftAndPublish": true - }, - "pluginOptions": {}, - "attributes": { - "Content": { - "type": "blocks" - } - } -} diff --git a/backend/src/api/infrastructure/controllers/infrastructure.js b/backend/src/api/infrastructure/controllers/infrastructure.js deleted file mode 100644 index 51ceb53..0000000 --- a/backend/src/api/infrastructure/controllers/infrastructure.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -/** - * infrastructure controller - */ - -const { createCoreController } = require('@strapi/strapi').factories; - -module.exports = createCoreController('api::infrastructure.infrastructure'); diff --git a/backend/src/api/infrastructure/documentation/1.0.0/infrastructure.json b/backend/src/api/infrastructure/documentation/1.0.0/infrastructure.json deleted file mode 100644 index 441f535..0000000 --- a/backend/src/api/infrastructure/documentation/1.0.0/infrastructure.json +++ /dev/null @@ -1,324 +0,0 @@ -{ - "/infrastructure": { - "get": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InfrastructureResponse" - } - } - } - }, - "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": [ - { - "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/infrastructure" - }, - "put": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InfrastructureResponse" - } - } - } - }, - "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": "put/infrastructure", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InfrastructureRequest" - } - } - } - } - }, - "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" - } - } -} diff --git a/backend/src/api/infrastructure/routes/infrastructure.js b/backend/src/api/infrastructure/routes/infrastructure.js deleted file mode 100644 index 564b448..0000000 --- a/backend/src/api/infrastructure/routes/infrastructure.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -/** - * infrastructure router - */ - -const { createCoreRouter } = require('@strapi/strapi').factories; - -module.exports = createCoreRouter('api::infrastructure.infrastructure'); diff --git a/backend/src/api/infrastructure/services/infrastructure.js b/backend/src/api/infrastructure/services/infrastructure.js deleted file mode 100644 index 4a38d81..0000000 --- a/backend/src/api/infrastructure/services/infrastructure.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -/** - * infrastructure service - */ - -const { createCoreService } = require('@strapi/strapi').factories; - -module.exports = createCoreService('api::infrastructure.infrastructure'); 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 5768b32..6a42577 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,7 +14,7 @@ "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, - "x-generation-date": "2024-01-31T14:07:31.019Z" + "x-generation-date": "2024-02-15T12:05:42.411Z" }, "x-strapi-config": { "path": "/documentation", @@ -1876,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": { @@ -1936,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": { @@ -1964,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": { @@ -1999,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": { @@ -2068,505 +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": [ - "partnerName" - ], - "type": "object", - "properties": { - "partnerName": { - "type": "string" - }, - "logoUrl": { - "type": "string" - }, - "logoImage": { - "oneOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "example": "string or id" - }, - "websiteUrl": { - "type": "string" - } - } - } - } - }, - "PartnerListResponseDataItem": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "$ref": "#/components/schemas/Partner" - } - } - }, - "PartnerListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PartnerListResponseDataItem" - } - }, - "meta": { - "type": "object", - "properties": { - "pagination": { - "type": "object", - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer", - "minimum": 25 - }, - "pageCount": { - "type": "integer", - "maximum": 1 - }, - "total": { - "type": "integer" - } - } - } - } - } - } - }, - "Partner": { - "type": "object", - "required": [ - "partnerName" - ], - "properties": { - "partnerName": { - "type": "string" - }, - "logoUrl": { - "type": "string" - }, - "logoImage": { - "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": {} } } } @@ -3775,1219 +3389,714 @@ "properties": {} } } - } - } - } - } - } - } - } - } - }, - "profilePictureURL": { - "type": "string" - }, - "role": { - "type": "string", - "enum": [ - "Researchers", - "PhD candidates", - "Engineers", - "Contact us" - ] - }, - "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": {} - } - } - } - } - } - } - }, - "PersonResponseDataObject": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "$ref": "#/components/schemas/Person" - } - } - }, - "PersonResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/PersonResponseDataObject" - }, - "meta": { - "type": "object" - } - } - }, - "PhDProjectRequest": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "required": [ - "name" - ], - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "title": { - "type": "string" - }, - "keywords": { - "type": "string" - } - } - } - } - }, - "PhDProjectListResponseDataItem": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "$ref": "#/components/schemas/PhDProject" - } - } - }, - "PhDProjectListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PhDProjectListResponseDataItem" - } - }, - "meta": { - "type": "object", - "properties": { - "pagination": { - "type": "object", - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer", - "minimum": 25 - }, - "pageCount": { - "type": "integer", - "maximum": 1 - }, - "total": { - "type": "integer" - } - } - } - } - } - } - }, - "PhDProject": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "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": "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": {} - } - } - } - } - } - } - }, - "PhDProjectResponseDataObject": { - "type": "object", - "properties": { - "id": { - "type": "number" - }, - "attributes": { - "$ref": "#/components/schemas/PhDProject" - } - } - }, - "PhDProjectResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/PhDProjectResponseDataObject" - }, - "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" - } - } - } + "profilePictureURL": { + "type": "string" }, - "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" - } + "role": { + "type": "string", + "enum": [ + "Researchers", + "PhD candidates", + "Engineers", + "Contact us" + ] }, - { - "name": "pagination[withCount]", - "in": "query", - "description": "Return page/pageSize (default: true)", - "deprecated": false, - "required": false, - "schema": { - "type": "boolean" - } + "createdAt": { + "type": "string", + "format": "date-time" }, - { - "name": "pagination[page]", - "in": "query", - "description": "Page number (default: 0)", - "deprecated": false, - "required": false, - "schema": { - "type": "integer" - } + "updatedAt": { + "type": "string", + "format": "date-time" }, - { - "name": "pagination[pageSize]", - "in": "query", - "description": "Page size (default: 25)", - "deprecated": false, - "required": false, - "schema": { - "type": "integer" - } + "publishedAt": { + "type": "string", + "format": "date-time" }, - { - "name": "pagination[start]", - "in": "query", - "description": "Offset value (default: 0)", - "deprecated": false, - "required": false, - "schema": { - "type": "integer" + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } } }, - { - "name": "pagination[limit]", - "in": "query", - "description": "Number of entities to return (default: 25)", - "deprecated": false, - "required": false, - "schema": { - "type": "integer" + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } } + } + } + }, + "PersonResponseDataObject": { + "type": "object", + "properties": { + "id": { + "type": "number" }, - { - "name": "fields", - "in": "query", - "description": "Fields to return (ex: title,author)", - "deprecated": false, - "required": false, - "schema": { - "type": "string" - } + "attributes": { + "$ref": "#/components/schemas/Person" + } + } + }, + "PersonResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/PersonResponseDataObject" }, - { - "name": "populate", - "in": "query", - "description": "Relations to return", - "deprecated": false, - "required": false, - "schema": { - "type": "string" + "meta": { + "type": "object" + } + } + }, + "PhDProjectRequest": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "title": { + "type": "string" + }, + "keywords": { + "type": "string" + } } + } + } + }, + "PhDProjectListResponseDataItem": { + "type": "object", + "properties": { + "id": { + "type": "number" }, - { - "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" - } + "attributes": { + "$ref": "#/components/schemas/PhDProject" } - ], - "operationId": "get/articles" + } }, - "post": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArticleResponse" + "PhDProjectListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PhDProjectListResponseDataItem" + } + }, + "meta": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer", + "minimum": 25 + }, + "pageCount": { + "type": "integer", + "maximum": 1 + }, + "total": { + "type": "integer" + } } } } + } + } + }, + "PhDProject": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "title": { + "type": "string" }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "keywords": { + "type": "string" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" + "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": { + "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": {} + } + } + } + } + } + } + } } } } }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } } } } + } + } + }, + "PhDProjectResponseDataObject": { + "type": "object", + "properties": { + "id": { + "type": "number" }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "attributes": { + "$ref": "#/components/schemas/PhDProject" } - }, - "tags": [ - "Article" - ], - "parameters": [], - "operationId": "post/articles", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArticleRequest" - } - } + } + }, + "PhDProjectResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/PhDProjectResponseDataObject" + }, + "meta": { + "type": "object" } } - } - }, - "/articles/{id}": { - "get": { - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArticleResponse" - } - } - } + }, + "UploadFile": { + "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" - } - } - } + "alternativeText": { + "type": "string" }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "caption": { + "type": "string" }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "width": { + "type": "number", + "format": "integer" }, - "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" - } + "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" + }, + "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" + } + } } } } - }, - "404": { - "description": "Not Found", - "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" } } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" + }, + "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": { @@ -4995,7 +4104,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorListResponse" + "$ref": "#/components/schemas/ArticleListResponse" } } } @@ -5052,7 +4161,7 @@ } }, "tags": [ - "Author" + "Article" ], "parameters": [ { @@ -5157,7 +4266,7 @@ } } ], - "operationId": "get/authors" + "operationId": "get/articles" }, "post": { "responses": { @@ -5166,7 +4275,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorResponse" + "$ref": "#/components/schemas/ArticleResponse" } } } @@ -5223,23 +4332,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": { @@ -5247,7 +4356,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorResponse" + "$ref": "#/components/schemas/ArticleResponse" } } } @@ -5304,7 +4413,7 @@ } }, "tags": [ - "Author" + "Article" ], "parameters": [ { @@ -5318,7 +4427,7 @@ } } ], - "operationId": "get/authors/{id}" + "operationId": "get/articles/{id}" }, "put": { "responses": { @@ -5327,7 +4436,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorResponse" + "$ref": "#/components/schemas/ArticleResponse" } } } @@ -5384,7 +4493,7 @@ } }, "tags": [ - "Author" + "Article" ], "parameters": [ { @@ -5398,13 +4507,13 @@ } } ], - "operationId": "put/authors/{id}", + "operationId": "put/articles/{id}", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthorRequest" + "$ref": "#/components/schemas/ArticleRequest" } } } @@ -5475,7 +4584,7 @@ } }, "tags": [ - "Author" + "Article" ], "parameters": [ { @@ -5489,10 +4598,10 @@ } } ], - "operationId": "delete/authors/{id}" + "operationId": "delete/articles/{id}" } }, - "/infrastructure": { + "/authors": { "get": { "responses": { "200": { @@ -5500,7 +4609,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InfrastructureResponse" + "$ref": "#/components/schemas/AuthorListResponse" } } } @@ -5557,7 +4666,7 @@ } }, "tags": [ - "Infrastructure" + "Author" ], "parameters": [ { @@ -5662,16 +4771,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" } } } @@ -5728,16 +4837,188 @@ } }, "tags": [ - "Infrastructure" + "Author" ], "parameters": [], - "operationId": "put/infrastructure", + "operationId": "post/authors", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorRequest" + } + } + } + } + } + }, + "/authors/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorResponse" + } + } + } + }, + "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": [ + "Author" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/authors/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthorResponse" + } + } + } + }, + "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": [ + "Author" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/authors/{id}", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InfrastructureRequest" + "$ref": "#/components/schemas/AuthorRequest" } } } @@ -5808,10 +5089,21 @@ } }, "tags": [ - "Infrastructure" + "Author" ], - "parameters": [], - "operationId": "delete/infrastructure" + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/authors/{id}" } }, "/partners": { diff --git a/backend/types/generated/contentTypes.d.ts b/backend/types/generated/contentTypes.d.ts index 5720773..3105820 100644 --- a/backend/types/generated/contentTypes.d.ts +++ b/backend/types/generated/contentTypes.d.ts @@ -854,36 +854,6 @@ export interface ApiAuthorAuthor extends Schema.CollectionType { }; } -export interface ApiInfrastructureInfrastructure extends Schema.SingleType { - collectionName: 'infrastructures'; - info: { - singularName: 'infrastructure'; - pluralName: 'infrastructures'; - displayName: 'Infrastructure'; - }; - options: { - draftAndPublish: true; - }; - attributes: { - Content: Attribute.Blocks; - createdAt: Attribute.DateTime; - updatedAt: Attribute.DateTime; - publishedAt: Attribute.DateTime; - createdBy: Attribute.Relation< - 'api::infrastructure.infrastructure', - 'oneToOne', - 'admin::user' - > & - Attribute.Private; - updatedBy: Attribute.Relation< - 'api::infrastructure.infrastructure', - 'oneToOne', - 'admin::user' - > & - Attribute.Private; - }; -} - export interface ApiPartnerPartner extends Schema.CollectionType { collectionName: 'partners'; info: { @@ -1009,7 +979,6 @@ declare module '@strapi/types' { 'plugin::users-permissions.user': PluginUsersPermissionsUser; 'api::article.article': ApiArticleArticle; 'api::author.author': ApiAuthorAuthor; - 'api::infrastructure.infrastructure': ApiInfrastructureInfrastructure; 'api::partner.partner': ApiPartnerPartner; 'api::person.person': ApiPersonPerson; 'api::ph-d-project.ph-d-project': ApiPhDProjectPhDProject; diff --git a/frontend/src/app/(about)/infrastructure/page.tsx b/frontend/src/app/(about)/infrastructure/page.tsx deleted file mode 100644 index 5d74ce7..0000000 --- a/frontend/src/app/(about)/infrastructure/page.tsx +++ /dev/null @@ -1,43 +0,0 @@ -export const runtime = "edge"; -import { getClient } from "@/lib/ApolloClient"; -import { gql } from "@/__generated__/gql"; -import { BlocksContent } from "@strapi/blocks-react-renderer"; -import BlockRendererClient from "@/components/BlockRendererClient"; - -const GET_STRUCTURE = gql(` -query GET_STRUCTURE { - infrastructure { - data { - attributes { - Content - } - } - } - } -`); - -export default async function InfrastructurePage() { - const graphqlData = await getClient().query({ - query: GET_STRUCTURE, - }); - - const content: BlocksContent = - graphqlData?.data?.infrastructure?.data?.attributes?.Content ?? []; - - return ( -
- -
- {/*

Content in JSON

- {content.map((content) => { - console.log(content); - return ( -
-

{content.type}

-

{JSON.stringify(content)}

-
- ); - })} */} -
- ); -} diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css index d087058..212fcbc 100644 --- a/frontend/src/app/globals.css +++ b/frontend/src/app/globals.css @@ -2,26 +2,6 @@ @tailwind components; @tailwind utilities; -h1 { - @apply text-4xl mb-4; -} - -h2 { - @apply text-3xl mb-2; -} - -h3 { - @apply text-2xl mb-2; -} - -h4 { - @apply text-xl mb-2; -} - -h5 { - @apply text-lg mb-2; -} - @layer base { :root { --background: 0 0% 100%; @@ -90,9 +70,11 @@ h5 { * { @apply border-border; } + body { @apply bg-background text-foreground; - overflow-x: hidden; /* Prevent horizontal scrolling */ + overflow-x: hidden; + /* Prevent horizontal scrolling */ width: 100%; } } diff --git a/frontend/src/components/BlockRendererClient.tsx b/frontend/src/components/BlockRendererClient.tsx index 80ff8fb..c98a1af 100644 --- a/frontend/src/components/BlockRendererClient.tsx +++ b/frontend/src/components/BlockRendererClient.tsx @@ -28,14 +28,28 @@ export default function BlockRendererClient({ ); }, heading: ({ children, level }) => { - const Heading = `h${level}` as - | "h1" - | "h2" - | "h3" - | "h4" - | "h5" - | "h6"; - return {children}; + switch (level) { + case 1: + return ( +

{children}

+ ); + case 2: + return ( +

{children}

+ ); + case 3: + return ( +

{children}

+ ); + case 4: + return

{children}

; + case 5: + return
{children}
; + default: + return ( +

{children}

+ ); + } }, paragraph: ({ children }) => ( diff --git a/frontend/src/components/Navbar.tsx b/frontend/src/components/Navbar.tsx index 7fca698..8006ae7 100644 --- a/frontend/src/components/Navbar.tsx +++ b/frontend/src/components/Navbar.tsx @@ -95,11 +95,6 @@ export default function Navbar() { Contact - - - Infrastructure - -