diff --git a/frontend/src/components/ui/table.tsx b/frontend/src/components/ui/table.tsx
index 2f06543..837d728 100644
--- a/frontend/src/components/ui/table.tsx
+++ b/frontend/src/components/ui/table.tsx
@@ -43,7 +43,7 @@ const TableFooter = React.forwardRef<
tr]:last:border-b-0",
+ "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
className,
)}
{...props}
@@ -58,7 +58,7 @@ const TableRow = React.forwardRef<
;
-
-export interface components {
- schemas: {
- Error: {
- data?: Record | Record[] | null;
- error: {
- status?: number;
- name?: string;
- message?: string;
- details?: Record;
- };
- };
- ArticleRequest: {
- data: {
- title?: string;
- subtitle?: string;
- /** @example string or id */
- coverImage?: number | string;
- /** Format: date */
- datePublished?: string;
- body?: unknown;
- /** @example string or id */
- author?: number | string;
- slug?: string;
- };
- };
- ArticleListResponseDataItem: {
- id?: number;
- attributes?: components["schemas"]["Article"];
- };
- ArticleListResponse: {
- data?: components["schemas"]["ArticleListResponseDataItem"][];
- meta?: {
- pagination?: {
- page?: number;
- pageSize?: number;
- pageCount?: number;
- total?: number;
- };
- };
- };
- Article: {
- title?: string;
- subtitle?: string;
- coverImage?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- alternativeText?: string;
- caption?: string;
- width?: number;
- height?: number;
- formats?: unknown;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: float */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: unknown;
- related?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- folder?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- pathId?: number;
- parent?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- children?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- files?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- alternativeText?: string;
- caption?: string;
- width?: number;
- height?: number;
- formats?: unknown;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: float */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: unknown;
- related?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- }[];
- };
- folder?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- folderPath?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: {
- firstname?: string;
- lastname?: string;
- username?: string;
- /** Format: email */
- email?: string;
- resetPasswordToken?: string;
- registrationToken?: string;
- isActive?: boolean;
- roles?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- code?: string;
- description?: string;
- users?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- }[];
- };
- permissions?: {
- data?: {
- id?: number;
- attributes?: {
- action?: string;
- actionParameters?: unknown;
- subject?: string;
- properties?: unknown;
- conditions?: unknown;
- role?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- blocked?: boolean;
- preferedLanguage?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- path?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- };
- };
- folderPath?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- };
- };
- /** Format: date */
- datePublished?: string;
- body?: unknown;
- author?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- avatar?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- alternativeText?: string;
- caption?: string;
- width?: number;
- height?: number;
- formats?: unknown;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: float */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: unknown;
- related?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- folder?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- folderPath?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- }[];
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- /** Format: date-time */
- publishedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- };
- };
- slug?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- /** Format: date-time */
- publishedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- ArticleResponseDataObject: {
- id?: number;
- attributes?: components["schemas"]["Article"];
- };
- ArticleResponse: {
- data?: components["schemas"]["ArticleResponseDataObject"];
- meta?: Record;
- };
- AuthorRequest: {
- data: {
- name?: string;
- avatar?: (number | string)[];
- };
- };
- AuthorListResponseDataItem: {
- id?: number;
- attributes?: components["schemas"]["Author"];
- };
- AuthorListResponse: {
- data?: components["schemas"]["AuthorListResponseDataItem"][];
- meta?: {
- pagination?: {
- page?: number;
- pageSize?: number;
- pageCount?: number;
- total?: number;
- };
- };
- };
- Author: {
- name?: string;
- avatar?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- alternativeText?: string;
- caption?: string;
- width?: number;
- height?: number;
- formats?: unknown;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: float */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: unknown;
- related?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- folder?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- pathId?: number;
- parent?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- children?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- files?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- alternativeText?: string;
- caption?: string;
- width?: number;
- height?: number;
- formats?: unknown;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: float */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: unknown;
- related?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- }[];
- };
- folder?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- folderPath?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: {
- firstname?: string;
- lastname?: string;
- username?: string;
- /** Format: email */
- email?: string;
- resetPasswordToken?: string;
- registrationToken?: string;
- isActive?: boolean;
- roles?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- code?: string;
- description?: string;
- users?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- }[];
- };
- permissions?: {
- data?: {
- id?: number;
- attributes?: {
- action?: string;
- actionParameters?: unknown;
- subject?: string;
- properties?: unknown;
- conditions?: unknown;
- role?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- blocked?: boolean;
- preferedLanguage?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- path?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- };
- };
- folderPath?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- }[];
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- /** Format: date-time */
- publishedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- AuthorResponseDataObject: {
- id?: number;
- attributes?: components["schemas"]["Author"];
- };
- AuthorResponse: {
- data?: components["schemas"]["AuthorResponseDataObject"];
- meta?: Record;
- };
- PartnerRequest: {
- data: {
- partnerName: string;
- logoUrl?: string;
- /** @example string or id */
- logoImage?: number | string;
- websiteUrl?: string;
- };
- };
- PartnerListResponseDataItem: {
- id?: number;
- attributes?: components["schemas"]["Partner"];
- };
- PartnerListResponse: {
- data?: components["schemas"]["PartnerListResponseDataItem"][];
- meta?: {
- pagination?: {
- page?: number;
- pageSize?: number;
- pageCount?: number;
- total?: number;
- };
- };
- };
- Partner: {
- partnerName: string;
- logoUrl?: string;
- logoImage?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- alternativeText?: string;
- caption?: string;
- width?: number;
- height?: number;
- formats?: unknown;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: float */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: unknown;
- related?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- folder?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- pathId?: number;
- parent?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- children?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- files?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- alternativeText?: string;
- caption?: string;
- width?: number;
- height?: number;
- formats?: unknown;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: float */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: unknown;
- related?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- }[];
- };
- folder?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- folderPath?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: {
- firstname?: string;
- lastname?: string;
- username?: string;
- /** Format: email */
- email?: string;
- resetPasswordToken?: string;
- registrationToken?: string;
- isActive?: boolean;
- roles?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- code?: string;
- description?: string;
- users?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- }[];
- };
- permissions?: {
- data?: {
- id?: number;
- attributes?: {
- action?: string;
- actionParameters?: unknown;
- subject?: string;
- properties?: unknown;
- conditions?: unknown;
- role?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- blocked?: boolean;
- preferedLanguage?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- path?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- };
- };
- folderPath?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- };
- };
- websiteUrl?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- /** Format: date-time */
- publishedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- PartnerResponseDataObject: {
- id?: number;
- attributes?: components["schemas"]["Partner"];
- };
- PartnerResponse: {
- data?: components["schemas"]["PartnerResponseDataObject"];
- meta?: Record;
- };
- PersonRequest: {
- data: {
- name: string;
- workTitle?: string;
- employeeLink?: string;
- /** @example string or id */
- profilePicture?: number | string;
- profilePictureURL?: string;
- /** @enum {string} */
- role:
- | "Researchers"
- | "PhD candidates"
- | "Engineers"
- | "Contact us";
- };
- };
- PersonListResponseDataItem: {
- id?: number;
- attributes?: components["schemas"]["Person"];
- };
- PersonListResponse: {
- data?: components["schemas"]["PersonListResponseDataItem"][];
- meta?: {
- pagination?: {
- page?: number;
- pageSize?: number;
- pageCount?: number;
- total?: number;
- };
- };
- };
- Person: {
- name: string;
- workTitle?: string;
- employeeLink?: string;
- profilePicture?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- alternativeText?: string;
- caption?: string;
- width?: number;
- height?: number;
- formats?: unknown;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: float */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: unknown;
- related?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- folder?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- pathId?: number;
- parent?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- children?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- files?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- alternativeText?: string;
- caption?: string;
- width?: number;
- height?: number;
- formats?: unknown;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: float */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: unknown;
- related?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- }[];
- };
- folder?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- folderPath?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: {
- firstname?: string;
- lastname?: string;
- username?: string;
- /** Format: email */
- email?: string;
- resetPasswordToken?: string;
- registrationToken?: string;
- isActive?: boolean;
- roles?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- code?: string;
- description?: string;
- users?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- }[];
- };
- permissions?: {
- data?: {
- id?: number;
- attributes?: {
- action?: string;
- actionParameters?: unknown;
- subject?: string;
- properties?: unknown;
- conditions?: unknown;
- role?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- blocked?: boolean;
- preferedLanguage?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- path?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- };
- };
- folderPath?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- };
- };
- profilePictureURL?: string;
- /** @enum {string} */
- role: "Researchers" | "PhD candidates" | "Engineers" | "Contact us";
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- /** Format: date-time */
- publishedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- PersonResponseDataObject: {
- id?: number;
- attributes?: components["schemas"]["Person"];
- };
- PersonResponse: {
- data?: components["schemas"]["PersonResponseDataObject"];
- meta?: Record;
- };
- PhDProjectRequest: {
- data: {
- name: string;
- title?: string;
- keywords?: string;
- };
- };
- PhDProjectListResponseDataItem: {
- id?: number;
- attributes?: components["schemas"]["PhDProject"];
- };
- PhDProjectListResponse: {
- data?: components["schemas"]["PhDProjectListResponseDataItem"][];
- meta?: {
- pagination?: {
- page?: number;
- pageSize?: number;
- pageCount?: number;
- total?: number;
- };
- };
- };
- PhDProject: {
- name: string;
- title?: string;
- keywords?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- /** Format: date-time */
- publishedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: {
- firstname?: string;
- lastname?: string;
- username?: string;
- /** Format: email */
- email?: string;
- resetPasswordToken?: string;
- registrationToken?: string;
- isActive?: boolean;
- roles?: {
- data?: {
- id?: number;
- attributes?: {
- name?: string;
- code?: string;
- description?: string;
- users?: {
- data?: {
- id?: number;
- attributes?: Record;
- }[];
- };
- permissions?: {
- data?: {
- id?: number;
- attributes?: {
- action?: string;
- actionParameters?: unknown;
- subject?: string;
- properties?: unknown;
- conditions?: unknown;
- role?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record<
- string,
- never
- >;
- };
- };
- };
- }[];
- };
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- }[];
- };
- blocked?: boolean;
- preferedLanguage?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- createdBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- };
- };
- updatedBy?: {
- data?: {
- id?: number;
- attributes?: Record;
- };
- };
- };
- PhDProjectResponseDataObject: {
- id?: number;
- attributes?: components["schemas"]["PhDProject"];
- };
- PhDProjectResponse: {
- data?: components["schemas"]["PhDProjectResponseDataObject"];
- meta?: Record;
- };
- UploadFile: {
- id?: number;
- name?: string;
- alternativeText?: string;
- caption?: string;
- /** Format: integer */
- width?: number;
- /** Format: integer */
- height?: number;
- formats?: number;
- hash?: string;
- ext?: string;
- mime?: string;
- /** Format: double */
- size?: number;
- url?: string;
- previewUrl?: string;
- provider?: string;
- provider_metadata?: Record;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- };
- "Users-Permissions-Role": {
- id?: number;
- name?: string;
- description?: string;
- type?: string;
- /** Format: date-time */
- createdAt?: string;
- /** Format: date-time */
- updatedAt?: string;
- };
- "Users-Permissions-User": {
- /** @example 1 */
- id?: number;
- /** @example foo.bar */
- username?: string;
- /** @example foo.bar@strapi.io */
- email?: string;
- /** @example local */
- provider?: string;
- /** @example true */
- confirmed?: boolean;
- /** @example false */
- blocked?: boolean;
- /**
- * Format: date-time
- * @example 2022-06-02T08:32:06.258Z
- */
- createdAt?: string;
- /**
- * Format: date-time
- * @example 2022-06-02T08:32:06.267Z
- */
- updatedAt?: string;
- };
- "Users-Permissions-UserRegistration": {
- /** @example eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c */
- jwt?: string;
- user?: components["schemas"]["Users-Permissions-User"];
- };
- "Users-Permissions-PermissionsTree": {
- [key: string]: {
- /** @description every controller of the api */
- controllers?: {
- [key: string]: {
- [key: string]: {
- enabled?: boolean;
- policy?: string;
- };
- };
- };
- };
- };
- };
- responses: never;
- parameters: never;
- requestBodies: {
- "Users-Permissions-RoleRequest": {
- content: {
- /**
- * @example {
- * "name": "foo",
- * "description": "role foo",
- * "permissions": {
- * "api::content-type.content-type": {
- * "controllers": {
- * "controllerA": {
- * "find": {
- * "enabled": true
- * }
- * }
- * }
- * }
- * }
- * }
- */
- "application/json": {
- name?: string;
- description?: string;
- type?: string;
- permissions?: components["schemas"]["Users-Permissions-PermissionsTree"];
- };
- };
- };
- };
- headers: never;
- pathItems: never;
-}
-
-export type $defs = Record;
-
-export type external = Record;
-
-export interface operations {
- "get/articles": {
- parameters: {
- query?: {
- /** @description Sort by attributes ascending (asc) or descending (desc) */
- sort?: string;
- /** @description Return page/pageSize (default: true) */
- "pagination[withCount]"?: boolean;
- /** @description Page number (default: 0) */
- "pagination[page]"?: number;
- /** @description Page size (default: 25) */
- "pagination[pageSize]"?: number;
- /** @description Offset value (default: 0) */
- "pagination[start]"?: number;
- /** @description Number of entities to return (default: 25) */
- "pagination[limit]"?: number;
- /** @description Fields to return (ex: title,author) */
- fields?: string;
- /** @description Relations to return */
- populate?: string;
- /** @description Filters to apply */
- filters?: Record;
- /** @description Locale to apply */
- locale?: string;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["ArticleListResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "post/articles": {
- requestBody: {
- content: {
- "application/json": components["schemas"]["ArticleRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["ArticleResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "get/articles/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["ArticleResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "put/articles/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- requestBody: {
- content: {
- "application/json": components["schemas"]["ArticleRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["ArticleResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "delete/articles/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": number;
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "get/authors": {
- parameters: {
- query?: {
- /** @description Sort by attributes ascending (asc) or descending (desc) */
- sort?: string;
- /** @description Return page/pageSize (default: true) */
- "pagination[withCount]"?: boolean;
- /** @description Page number (default: 0) */
- "pagination[page]"?: number;
- /** @description Page size (default: 25) */
- "pagination[pageSize]"?: number;
- /** @description Offset value (default: 0) */
- "pagination[start]"?: number;
- /** @description Number of entities to return (default: 25) */
- "pagination[limit]"?: number;
- /** @description Fields to return (ex: title,author) */
- fields?: string;
- /** @description Relations to return */
- populate?: string;
- /** @description Filters to apply */
- filters?: Record;
- /** @description Locale to apply */
- locale?: string;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["AuthorListResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "post/authors": {
- requestBody: {
- content: {
- "application/json": components["schemas"]["AuthorRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["AuthorResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "get/authors/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["AuthorResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "put/authors/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- requestBody: {
- content: {
- "application/json": components["schemas"]["AuthorRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["AuthorResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "delete/authors/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": number;
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "get/partners": {
- parameters: {
- query?: {
- /** @description Sort by attributes ascending (asc) or descending (desc) */
- sort?: string;
- /** @description Return page/pageSize (default: true) */
- "pagination[withCount]"?: boolean;
- /** @description Page number (default: 0) */
- "pagination[page]"?: number;
- /** @description Page size (default: 25) */
- "pagination[pageSize]"?: number;
- /** @description Offset value (default: 0) */
- "pagination[start]"?: number;
- /** @description Number of entities to return (default: 25) */
- "pagination[limit]"?: number;
- /** @description Fields to return (ex: title,author) */
- fields?: string;
- /** @description Relations to return */
- populate?: string;
- /** @description Filters to apply */
- filters?: Record;
- /** @description Locale to apply */
- locale?: string;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PartnerListResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "post/partners": {
- requestBody: {
- content: {
- "application/json": components["schemas"]["PartnerRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PartnerResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "get/partners/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PartnerResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "put/partners/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- requestBody: {
- content: {
- "application/json": components["schemas"]["PartnerRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PartnerResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "delete/partners/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": number;
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "get/people": {
- parameters: {
- query?: {
- /** @description Sort by attributes ascending (asc) or descending (desc) */
- sort?: string;
- /** @description Return page/pageSize (default: true) */
- "pagination[withCount]"?: boolean;
- /** @description Page number (default: 0) */
- "pagination[page]"?: number;
- /** @description Page size (default: 25) */
- "pagination[pageSize]"?: number;
- /** @description Offset value (default: 0) */
- "pagination[start]"?: number;
- /** @description Number of entities to return (default: 25) */
- "pagination[limit]"?: number;
- /** @description Fields to return (ex: title,author) */
- fields?: string;
- /** @description Relations to return */
- populate?: string;
- /** @description Filters to apply */
- filters?: Record;
- /** @description Locale to apply */
- locale?: string;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PersonListResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "post/people": {
- requestBody: {
- content: {
- "application/json": components["schemas"]["PersonRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PersonResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "get/people/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PersonResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "put/people/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- requestBody: {
- content: {
- "application/json": components["schemas"]["PersonRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PersonResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "delete/people/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": number;
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "get/ph-d-projects": {
- parameters: {
- query?: {
- /** @description Sort by attributes ascending (asc) or descending (desc) */
- sort?: string;
- /** @description Return page/pageSize (default: true) */
- "pagination[withCount]"?: boolean;
- /** @description Page number (default: 0) */
- "pagination[page]"?: number;
- /** @description Page size (default: 25) */
- "pagination[pageSize]"?: number;
- /** @description Offset value (default: 0) */
- "pagination[start]"?: number;
- /** @description Number of entities to return (default: 25) */
- "pagination[limit]"?: number;
- /** @description Fields to return (ex: title,author) */
- fields?: string;
- /** @description Relations to return */
- populate?: string;
- /** @description Filters to apply */
- filters?: Record;
- /** @description Locale to apply */
- locale?: string;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PhDProjectListResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "post/ph-d-projects": {
- requestBody: {
- content: {
- "application/json": components["schemas"]["PhDProjectRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PhDProjectResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "get/ph-d-projects/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PhDProjectResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "put/ph-d-projects/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- requestBody: {
- content: {
- "application/json": components["schemas"]["PhDProjectRequest"];
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": components["schemas"]["PhDProjectResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
- "delete/ph-d-projects/{id}": {
- parameters: {
- path: {
- id: number;
- };
- };
- responses: {
- /** @description OK */
- 200: {
- content: {
- "application/json": number;
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Unauthorized */
- 401: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Forbidden */
- 403: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- /** @description Internal Server Error */
- 500: {
- content: {
- "application/json": components["schemas"]["Error"];
- };
- };
- };
- };
-}
diff --git a/frontend/tailwind.config.ts b/frontend/tailwind.config.ts
index b374168..06e306a 100644
--- a/frontend/tailwind.config.ts
+++ b/frontend/tailwind.config.ts
@@ -20,46 +20,39 @@ const config = {
extend: {
colors: {
// These should all be defined in the global CSS file and used with the var(--color) syntax. Preferably using hsl
- border: "hsl(var(--border))",
- input: "hsl(var(--input))",
- ring: "hsl(var(--ring))",
+ border: "var(--border)",
+ input: "var(--input)",
+ ring: "var(--ring)",
+ background: "var(--background)",
+ foreground: "var(--foreground)",
+ primary: {
+ DEFAULT: "var(--primary)",
+ foreground: "var(--primary-foreground)",
+ },
secondary: {
- DEFAULT: "hsl(var(--secondary))",
- foreground: "hsl(var(--secondary-foreground))",
+ DEFAULT: "var(--secondary)",
+ foreground: "var(--secondary-foreground)",
},
destructive: {
- DEFAULT: "hsl(var(--destructive))",
- foreground: "hsl(var(--destructive-foreground))",
+ DEFAULT: "var(--destructive)",
+ foreground: "var(--destructive-foreground)",
},
muted: {
- DEFAULT: "hsl(var(--muted))",
- foreground: "hsl(var(--muted-foreground))",
+ DEFAULT: "var(--muted)",
+ foreground: "var(--muted-foreground)",
+ },
+ accent: {
+ DEFAULT: "var(--accent)",
+ foreground: "var(--accent-foreground)",
},
popover: {
- DEFAULT: "hsl(var(--popover))",
- foreground: "hsl(var(--popover-foreground))",
+ DEFAULT: "var(--popover)",
+ foreground: "var(--popover-foreground)",
},
card: {
- DEFAULT: "hsl(var(--card))",
- foreground: "hsl(var(--card-foreground))",
- },
-
- // Small Satellite Lab Hypso colors
- background: "hsl(var(--background))",
- foreground: "hsl(var(--foreground))",
- primary: {
- DEFAULT: "hsl(var(--ntnuBlue))",
- foreground: "hsl(var(--ntnuBlue-foreground))",
+ DEFAULT: "var(--card)",
+ foreground: "var(--card-foreground)",
},
- accent: "hsl(var(--accent))",
- ntnuBlue: "hsl(var(--ntnuBlue))",
- ntnuCyan: "hsl(var(--ntnuCyan))",
- ntnuPurple: "hsl(var(--ntnuPurple))",
- ntnuOrange: "hsl(var(--ntnuOrange))",
- ntnuYellow: "hsl(var(--ntnuYellow))",
- ntnuLightblue: "hsl(var(--ntnuLightblue))",
- ntnuPink: "hsl(var(--ntnuPink))",
- ntnuBrown: "hsl(var(--ntnuBrown))",
},
borderRadius: {
lg: "var(--radius)",
diff --git a/package.json b/package.json
index b99e8f3..5fa1dfa 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,6 @@
"description": "## General Information Project Code: P.01 Country: 🇳🇴 Norway Customer: NTNU SmallSat Lab Platform: Web Framework: React Period: Spring 2024 Status: In Progress",
"main": "index.js",
"scripts": {
- "generateTypes": "npx openapi-typescript backend/src/extensions/documentation/documentation/1.0.0/full_documentation.json --output frontend/src/types/strapi.ts",
"client": "cd frontend && npm run dev",
"server": "cd backend && npm run develop",
"dev": "concurrently \"npm run server\" \"npm run client\""