diff --git a/.devcontainer/compose.yml b/.devcontainer/compose.yml index 1bad2ced0fab15801d35f5446aeba3bda7ef64b1..001beaa6ae0a030c45bb9ca12615804397c0549e 100644 --- a/.devcontainer/compose.yml +++ b/.devcontainer/compose.yml @@ -11,7 +11,7 @@ services: MOCKUP: "false" command: /bin/sh -c "while sleep 2s; do :; done" volumes: - - ..:/workspace/app:cached + - ..:/workspace/api-client:cached - ./.vscode-server:/home/node/.vscode-server/:cached - ${SSH_AUTH_SOCK}:/.ssh/ssh-agent.sock networks: diff --git a/src/Coscine.Api/@coscine/api/project-publication-request-api.ts b/src/Coscine.Api/@coscine/api/project-publication-request-api.ts index b18307a308ac5eb93e14fa1265a7eb706f7b862b..0ff70d51246a07e8daf4fd72d8d9aba75f73091e 100644 --- a/src/Coscine.Api/@coscine/api/project-publication-request-api.ts +++ b/src/Coscine.Api/@coscine/api/project-publication-request-api.ts @@ -22,9 +22,9 @@ import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObj // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../../base'; // @ts-ignore -import type { PublicationRequestForCreationDto } from '../../@coscine/model'; +import type { ProjectPublicationRequestDtoResponse } from '../../@coscine/model'; // @ts-ignore -import type { PublicationRequestForCreationDtoResponse } from '../../@coscine/model'; +import type { PublicationRequestForCreationDto } from '../../@coscine/model'; /** * ProjectPublicationRequestApi - axios parameter creator * @export @@ -104,6 +104,47 @@ export const ProjectPublicationRequestApiAxiosParamCreator = function (configura localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(publicationRequestForCreationDto, localVarRequestOptions, configuration) + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Retrieves a publication request. + * @param {string} projectId The ID of the project. + * @param {string} publicationRequestId The ID of the publication request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getPublicationRequest: async (projectId: string, publicationRequestId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => { + // verify required parameter 'projectId' is not null or undefined + assertParamExists('getPublicationRequest', 'projectId', projectId) + // verify required parameter 'publicationRequestId' is not null or undefined + assertParamExists('getPublicationRequest', 'publicationRequestId', publicationRequestId) + const localVarPath = `/api/v2/projects/{projectId}/publications/requests/{publicationRequestId}` + .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId))) + .replace(`{${"publicationRequestId"}}`, encodeURIComponent(String(publicationRequestId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication Bearer required + await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, @@ -140,12 +181,26 @@ export const ProjectPublicationRequestApiFp = function(configuration?: Configura * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async createPublicationRequest(projectId: string, publicationRequestForCreationDto?: PublicationRequestForCreationDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PublicationRequestForCreationDtoResponse>> { + async createPublicationRequest(projectId: string, publicationRequestForCreationDto?: PublicationRequestForCreationDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectPublicationRequestDtoResponse>> { const localVarAxiosArgs = await localVarAxiosParamCreator.createPublicationRequest(projectId, publicationRequestForCreationDto, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['ProjectPublicationRequestApi.createPublicationRequest']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, + /** + * + * @summary Retrieves a publication request. + * @param {string} projectId The ID of the project. + * @param {string} publicationRequestId The ID of the publication request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getPublicationRequest(projectId: string, publicationRequestId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectPublicationRequestDtoResponse>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getPublicationRequest(projectId, publicationRequestId, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ProjectPublicationRequestApi.getPublicationRequest']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, } }; @@ -173,9 +228,19 @@ export const ProjectPublicationRequestApiFactory = function (configuration?: Con * @param {*} [options] Override http request option. * @throws {RequiredError} */ - createPublicationRequest(requestParameters: ProjectPublicationRequestApiCreatePublicationRequestRequest, options?: RawAxiosRequestConfig): AxiosPromise<PublicationRequestForCreationDtoResponse> { + createPublicationRequest(requestParameters: ProjectPublicationRequestApiCreatePublicationRequestRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectPublicationRequestDtoResponse> { return localVarFp.createPublicationRequest(requestParameters.projectId, requestParameters.publicationRequestForCreationDto, options).then((request) => request(axios, basePath)); }, + /** + * + * @summary Retrieves a publication request. + * @param {ProjectPublicationRequestApiGetPublicationRequestRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getPublicationRequest(requestParameters: ProjectPublicationRequestApiGetPublicationRequestRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectPublicationRequestDtoResponse> { + return localVarFp.getPublicationRequest(requestParameters.projectId, requestParameters.publicationRequestId, options).then((request) => request(axios, basePath)); + }, }; }; @@ -214,6 +279,27 @@ export interface ProjectPublicationRequestApiCreatePublicationRequestRequest { readonly publicationRequestForCreationDto?: PublicationRequestForCreationDto } +/** + * Request parameters for getPublicationRequest operation in ProjectPublicationRequestApi. + * @export + * @interface ProjectPublicationRequestApiGetPublicationRequestRequest + */ +export interface ProjectPublicationRequestApiGetPublicationRequestRequest { + /** + * The ID of the project. + * @type {string} + * @memberof ProjectPublicationRequestApiGetPublicationRequest + */ + readonly projectId: string + + /** + * The ID of the publication request. + * @type {string} + * @memberof ProjectPublicationRequestApiGetPublicationRequest + */ + readonly publicationRequestId: string +} + /** * ProjectPublicationRequestApi - object-oriented interface * @export @@ -244,5 +330,17 @@ export class ProjectPublicationRequestApi extends BaseAPI { public createPublicationRequest(requestParameters: ProjectPublicationRequestApiCreatePublicationRequestRequest, options?: RawAxiosRequestConfig) { return ProjectPublicationRequestApiFp(this.configuration).createPublicationRequest(requestParameters.projectId, requestParameters.publicationRequestForCreationDto, options).then((request) => request(this.axios, this.basePath)); } + + /** + * + * @summary Retrieves a publication request. + * @param {ProjectPublicationRequestApiGetPublicationRequestRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ProjectPublicationRequestApi + */ + public getPublicationRequest(requestParameters: ProjectPublicationRequestApiGetPublicationRequestRequest, options?: RawAxiosRequestConfig) { + return ProjectPublicationRequestApiFp(this.configuration).getPublicationRequest(requestParameters.projectId, requestParameters.publicationRequestId, options).then((request) => request(this.axios, this.basePath)); + } } diff --git a/src/Coscine.Api/@coscine/model/index.ts b/src/Coscine.Api/@coscine/model/index.ts index 4222a3ba44fb6fa1ac6efea820f7cdebf463643b..0bb429faca0b7e5423dd8bcb6218d7b5274d96f8 100644 --- a/src/Coscine.Api/@coscine/model/index.ts +++ b/src/Coscine.Api/@coscine/model/index.ts @@ -86,6 +86,8 @@ export * from './project-invitation-dto-response'; export * from './project-invitation-for-project-manipulation-dto'; export * from './project-invitation-resolve-dto'; export * from './project-minimal-dto'; +export * from './project-publication-request-dto'; +export * from './project-publication-request-dto-response'; export * from './project-quota-dto'; export * from './project-quota-dto-paged-response'; export * from './project-quota-dto-response'; @@ -105,7 +107,6 @@ export * from './public-user-dto'; export * from './public-user-dto-ienumerable-response'; export * from './publication-advisory-service-dto'; export * from './publication-request-for-creation-dto'; -export * from './publication-request-for-creation-dto-response'; export * from './quota-dto'; export * from './quota-for-manipulation-dto'; export * from './quota-unit'; diff --git a/src/Coscine.Api/@coscine/model/publication-request-for-creation-dto-response.ts b/src/Coscine.Api/@coscine/model/project-publication-request-dto-response.ts similarity index 60% rename from src/Coscine.Api/@coscine/model/publication-request-for-creation-dto-response.ts rename to src/Coscine.Api/@coscine/model/project-publication-request-dto-response.ts index 43f5c91c9e511d4c52a497f53455a2ccde130674..f17db1042a80e768605833be624473ccd284c759 100644 --- a/src/Coscine.Api/@coscine/model/publication-request-for-creation-dto-response.ts +++ b/src/Coscine.Api/@coscine/model/project-publication-request-dto-response.ts @@ -15,36 +15,36 @@ // May contain unused imports in some cases // @ts-ignore -import type { PublicationRequestForCreationDto } from './publication-request-for-creation-dto'; +import type { ProjectPublicationRequestDto } from './project-publication-request-dto'; /** * * @export - * @interface PublicationRequestForCreationDtoResponse + * @interface ProjectPublicationRequestDtoResponse */ -export interface PublicationRequestForCreationDtoResponse { +export interface ProjectPublicationRequestDtoResponse { /** * - * @type {PublicationRequestForCreationDto} - * @memberof PublicationRequestForCreationDtoResponse + * @type {ProjectPublicationRequestDto} + * @memberof ProjectPublicationRequestDtoResponse */ - 'data'?: PublicationRequestForCreationDto; + 'data'?: ProjectPublicationRequestDto; /** * * @type {boolean} - * @memberof PublicationRequestForCreationDtoResponse + * @memberof ProjectPublicationRequestDtoResponse */ 'isSuccess'?: boolean; /** * * @type {number} - * @memberof PublicationRequestForCreationDtoResponse + * @memberof ProjectPublicationRequestDtoResponse */ 'statusCode'?: number | null; /** * * @type {string} - * @memberof PublicationRequestForCreationDtoResponse + * @memberof ProjectPublicationRequestDtoResponse */ 'traceId'?: string | null; } diff --git a/src/Coscine.Api/@coscine/model/project-publication-request-dto.ts b/src/Coscine.Api/@coscine/model/project-publication-request-dto.ts new file mode 100644 index 0000000000000000000000000000000000000000..dfda699942a4af56e7faf58e57630beee19dfb4d --- /dev/null +++ b/src/Coscine.Api/@coscine/model/project-publication-request-dto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Coscine Web API + * Coscine (short for <b>CO</b>llaborative <b>SC</b>ientific <b>IN</b>tegration <b>E</b>nvironment) is the research data management platform for your research project. + * + * The version of the OpenAPI document: 2.0 + * Contact: servicedesk@itc.rwth-aachen.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ProjectMinimalDto } from './project-minimal-dto'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResourceMinimalDto } from './resource-minimal-dto'; +// May contain unused imports in some cases +// @ts-ignore +import type { UserMinimalDto } from './user-minimal-dto'; + +/** + * Represents a data transfer object (DTO) for a project publication request. + * @export + * @interface ProjectPublicationRequestDto + */ +export interface ProjectPublicationRequestDto { + /** + * Unique identifier for the project publication request. + * @type {string} + * @memberof ProjectPublicationRequestDto + */ + 'id'?: string; + /** + * + * @type {ProjectMinimalDto} + * @memberof ProjectPublicationRequestDto + */ + 'project'?: ProjectMinimalDto; + /** + * Identifier for the publication service used for this request. + * @type {string} + * @memberof ProjectPublicationRequestDto + */ + 'publicationServiceRorId'?: string; + /** + * + * @type {UserMinimalDto} + * @memberof ProjectPublicationRequestDto + */ + 'creator'?: UserMinimalDto; + /** + * The date and time when the request was created. + * @type {string} + * @memberof ProjectPublicationRequestDto + */ + 'dateCreated'?: string; + /** + * Optional message associated with the publication request. + * @type {string} + * @memberof ProjectPublicationRequestDto + */ + 'message'?: string | null; + /** + * Collection of the resources involved in the publication request. + * @type {Array<ResourceMinimalDto>} + * @memberof ProjectPublicationRequestDto + */ + 'resources'?: Array<ResourceMinimalDto>; +} + diff --git a/src/Coscine.Api/@coscine/model/publication-advisory-service-dto.ts b/src/Coscine.Api/@coscine/model/publication-advisory-service-dto.ts index 4926d6c76387d61a2320b316219d3c6002045350..e7e80891b3fcca9d3dbca215315fd8477e479478 100644 --- a/src/Coscine.Api/@coscine/model/publication-advisory-service-dto.ts +++ b/src/Coscine.Api/@coscine/model/publication-advisory-service-dto.ts @@ -33,10 +33,10 @@ export interface PublicationAdvisoryServiceDto { */ 'email': string; /** - * The data publication service\'s info text. + * The data publication service\'s description. * @type {string} * @memberof PublicationAdvisoryServiceDto */ - 'text'?: string; + 'description'?: string | null; } diff --git a/src/Coscine.Api/@coscine/model/publication-request-for-creation-dto.ts b/src/Coscine.Api/@coscine/model/publication-request-for-creation-dto.ts index d36342f82db3bb65d1a9bd5f3cc316185912bb04..758eac57827a9590bb2be5ce20240bec45414be7 100644 --- a/src/Coscine.Api/@coscine/model/publication-request-for-creation-dto.ts +++ b/src/Coscine.Api/@coscine/model/publication-request-for-creation-dto.ts @@ -25,7 +25,7 @@ export interface PublicationRequestForCreationDto { * @type {string} * @memberof PublicationRequestForCreationDto */ - 'dataPublicationServiceRorId': string; + 'publicationServiceRorId': string; /** * The resource guids. * @type {Array<string>}