diff --git a/README.md b/README.md index 483053aa490e6f0dacaacca370f3ed3d996eafcb..e2d24258d07f5c27bd32cfb8e7301bffdae0b791 100644 --- a/README.md +++ b/README.md @@ -22,16 +22,30 @@ Update proxy.conf.json to set the corresponding backend api. ## Development server -Run `npm start` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. +Run `npm start` for a dev server. Navigate to `http://localhost:4200/`. +The app will automatically reload if you change any of the source files. +This command run a proxy to contact backend services. -## Code scaffolding - -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. ## Build Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. +## Generate Api + +If you want to update the DLCM Api : +- Pull the master branch of the project DLCM-Backend in a folder named `DLCM-Backend` at the same level of the frontend folder +- On the project DLCM-Backend run `mvn clean package` +- On this project run `npm run generate-dlcm-api` + +## Generate element + +Run `ng generate component component-name` to generate a new component. + +You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +More info [here](https://angular.io/cli/generate). + ## Extract string to translate Run `npm run extract-translations` to extract string to translate into assets/i18n/*.json diff --git a/clean-after-api-generation.sh b/clean-after-api-generation.sh new file mode 100644 index 0000000000000000000000000000000000000000..7d16fa22fcf3de2498f44d2ee41fb5f0742b3c36 --- /dev/null +++ b/clean-after-api-generation.sh @@ -0,0 +1,7 @@ +#!/bin/sh +cd "src/app/generated-api" +rm -fr .openapi-generator +rm .gitignore +rm .openapi-generator-ignore +rm git_push.sh +echo "Do not edit file inside this folder manually ! Generated automatically with \`generate-dlcm-api\`" > README.md diff --git a/openapi-3.0-cleaned.json b/openapi-3.0-cleaned.json deleted file mode 100644 index fd9397c6b0e767c762d71a6e18b96ed46d14d1bf..0000000000000000000000000000000000000000 --- a/openapi-3.0-cleaned.json +++ /dev/null @@ -1,1805 +0,0 @@ -{ - "components": {"schemas": { - "application-roles": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the _application-roles_ resource", - "type": "object" - }, - "lastUpdate": { - "description": "The last updated info of the _application-roles_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of the application role", - "type": "string" - }, - "resId": { - "description": "The _application-roles_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "creation": { - "description": "The creation info of the _application-roles_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "oauth2-clients": { - "type": "object", - "properties": { - "redirectUri": { - "description": "The redirect URI of OAuth2 client", - "type": "string" - }, - "grantTypes": { - "description": "The grant types of OAuth2 client", - "type": "array", - "items": {"oneOf": [ - {"type": "object"}, - {"type": "boolean"}, - {"type": "string"}, - {"type": "number"} - ]} - }, - "clientId": { - "description": "The client ID of OAuth2 client", - "type": "string" - }, - "_links": { - "description": "The _links_ list of the _oauth2-clients_ resource", - "type": "object" - }, - "scope": { - "description": "The scope of OAuth2 client", - "type": "string" - }, - "accessTokenValiditySeconds": { - "description": "The access token validity in seconds", - "type": "number" - }, - "lastUpdate": { - "description": "The last updated info of the _oauth2-clients_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of OAuth2 client", - "type": "string" - }, - "secret": { - "description": "The password of OAuth2 client", - "type": "string" - }, - "refreshTokenValiditySeconds": { - "description": "The refresh token validity in seconds", - "type": "number" - }, - "resId": { - "description": "The _oauth2-clients_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "creation": { - "description": "The creation info of the _oauth2-clients_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "roles": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the _roles_ resource", - "type": "object" - }, - "lastUpdate": { - "description": "The last updated info of the _roles_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of the role", - "type": "string" - }, - "resId": { - "description": "The _roles_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "creation": { - "description": "The creation info of the _roles_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "dlcm-resource-srv": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the module, included its REST resources", - "type": "object" - }, - "name": { - "description": "The name of the module, i.e. _resource-srv_", - "type": "string" - } - } - }, - "aip": { - "type": "object", - "properties": { - "checksums": { - "description": "The checksum list of the AIP", - "type": "array", - "items": {"oneOf": [ - {"type": "object"}, - {"type": "boolean"}, - {"type": "string"}, - {"type": "number"} - ]} - }, - "virusCheck": { - "type": "object", - "properties": { - "details": { - "description": "Result detail of virus check", - "type": "string" - }, - "checkDate": { - "description": "Date of virus check execution", - "type": "string" - } - } - }, - "archivalUnit": { - "description": "if the AIP is an unit (AIU) or a collection (AIC)", - "type": "boolean" - }, - "_links": { - "description": "The _links_ list of the _aip_ resource", - "type": "object" - }, - "smartSize": { - "description": "The size in human-readable format of the AIP", - "type": "string" - }, - "sipIds": { - "description": "The source SIP IDs of the AIP", - "type": "array", - "items": {"oneOf": [ - {"type": "object"}, - {"type": "boolean"}, - {"type": "string"}, - {"type": "number"} - ]} - }, - "dataFileNumber": { - "description": "Number of AIP data files", - "type": "number" - }, - "aipContainer": { - "description": "The container type of the AIP", - "type": "string" - }, - "dispositionApproval": { - "description": "Mandatory step to approve the AIP disposition", - "type": "boolean" - }, - "archiveSize": { - "description": "The size in bytes of the AIP", - "type": "number" - }, - "resId": { - "description": "The _aip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "retentionEnd": { - "description": "The end of the AIP retention", - "type": "string" - }, - "ready": { - "description": "If AIP package is ready", - "type": "boolean" - }, - "collectionSize": { - "description": "Number of AIPs in collection", - "type": "number" - }, - "lastUpdate": { - "description": "The last updated info of the _aip_ resource (see <<change-info>>)", - "type": "object" - }, - "smartRetention": { - "description": "The retention duration in human-readable format of the AIP", - "type": "string" - }, - "retention": { - "description": "The retention duration in days of the AIP", - "type": "number" - }, - "fileFormat": { - "type": "object", - "properties": { - "puid": { - "description": "Format PUID of file", - "type": "string" - }, - "format": { - "description": "Format description of file", - "type": "string" - }, - "details": { - "description": "Format details of file", - "type": "string" - }, - "version": { - "description": "Format version of file", - "type": "string" - }, - "contentType": { - "description": "Content type of file", - "type": "string" - }, - "md5": { - "description": "MD5 checksum of file", - "type": "string" - } - } - }, - "creation": { - "description": "The creation info of the _aip_ resource (see <<change-info>>)", - "type": "object" - }, - "info": { - "type": "object", - "properties": { - "access": { - "description": "The final access level of the package", - "type": "string" - }, - "accessCurrentlyPublic": { - "description": "A boolean indicating wether the current access level is PUBLIC", - "type": "boolean" - }, - "organizationalUnitId": { - "description": "The organizational Unit ID of the information package", - "type": "string" - }, - "currentAccessLevel": { - "description": "The current access level, deducted from the final access level and an eventual embargo", - "type": "string" - }, - "name": { - "description": "The name of the package", - "type": "string" - }, - "complianceLevel": { - "description": "The compliance level of the package", - "type": "string" - }, - "description": { - "description": "The description of the package", - "type": "string" - }, - "embargo": { - "type": "object", - "properties": { - "months": { - "description": "Month number of embargo duration", - "type": "number" - }, - "access": { - "description": "Starting date of embargo period", - "type": "string" - }, - "startDate": { - "description": "Starting date of embargo period", - "type": "string" - } - } - }, - "licenseId": { - "description": "The license ID of the package", - "type": "string" - }, - "status": { - "description": "The status of the package", - "type": "string" - } - } - } - } - }, - "dip": { - "type": "object", - "properties": { - "aipIds": { - "description": "The source AIP IDs of the DIP", - "type": "array", - "items": {"oneOf": [ - {"type": "object"}, - {"type": "boolean"}, - {"type": "string"}, - {"type": "number"} - ]} - }, - "_links": { - "description": "The _links_ list of the _dip_ resource", - "type": "object" - }, - "ready": { - "description": "If DIP package is ready", - "type": "boolean" - }, - "lastUpdate": { - "description": "The last updated info of the _dip_ resource (see <<change-info>>)", - "type": "object" - }, - "resId": { - "description": "The _dip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "creation": { - "description": "The creation info of the _dip_ resource (see <<change-info>>)", - "type": "object" - }, - "info": { - "type": "object", - "properties": { - "access": { - "description": "The final access level of the package", - "type": "string" - }, - "accessCurrentlyPublic": { - "description": "A boolean indicating wether the current access level is PUBLIC", - "type": "boolean" - }, - "organizationalUnitId": { - "description": "The organizational Unit ID of the information package", - "type": "string" - }, - "currentAccessLevel": { - "description": "The current access level, deducted from the final access level and an eventual embargo", - "type": "string" - }, - "name": { - "description": "The name of the package", - "type": "string" - }, - "complianceLevel": { - "description": "The compliance level of the package", - "type": "string" - }, - "description": { - "description": "The description of the package", - "type": "string" - }, - "embargo": { - "type": "object", - "properties": { - "months": { - "description": "Month number of embargo duration", - "type": "number" - }, - "access": { - "description": "Starting date of embargo period", - "type": "string" - }, - "startDate": { - "description": "Starting date of embargo period", - "type": "string" - } - } - }, - "licenseId": { - "description": "The license ID of the package", - "type": "string" - }, - "status": { - "description": "The status of the package", - "type": "string" - } - } - } - } - }, - "dlcm-archival-storage": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the module, included its REST resources", - "type": "object" - }, - "name": { - "description": "The name of the module, i.e. _archival-storage_", - "type": "string" - } - } - }, - "organizational-units": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the _organizational-units_ resource", - "type": "object" - }, - "lastUpdate": { - "description": "The last updated info of the _organizational-units_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of the organizational unit", - "type": "string" - }, - "isEmpty": { - "description": "Indicates whether the organizational unit contains any data (depo, sip, aip)", - "type": "boolean" - }, - "description": { - "description": "The description of the institution", - "type": "string" - }, - "closingDate": { - "description": "The closing date of the organizational unit", - "type": "string" - }, - "openingDate": { - "description": "The opening date of the organizational unit", - "type": "string" - }, - "resId": { - "description": "The _organizational-units_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "open": { - "description": "Indicates whether the organizational unit is currently open", - "type": "boolean" - }, - "creation": { - "description": "The creation info of the _organizational-units_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "oauth2-clients_example": {"type": "object"}, - "dlcm-admin": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the module, included its REST resources", - "type": "object" - }, - "name": { - "description": "The name of the module, i.e. _admin_", - "type": "string" - } - } - }, - "dlcm-data-mgmt": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the module, included its REST resources", - "type": "object" - }, - "name": { - "description": "The name of the module, i.e. _data-mgmt_", - "type": "string" - } - } - }, - "submission-agreements": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the _submission-agreements_ resource", - "type": "object" - }, - "lastUpdate": { - "description": "The last updated info of the _submission-agreements_ resource (see <<change-info>>)", - "type": "object" - }, - "description": { - "description": "The description of the submission agreement", - "type": "string" - }, - "title": { - "description": "The title of the submission agreement", - "type": "string" - }, - "version": { - "description": "The version of the submission agreement", - "type": "string" - }, - "resId": { - "description": "The _submission-agreements_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "creation": { - "description": "The creation info of the _submission-agreements_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "funding-agencies": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the _funding-agencies_ resource", - "type": "object" - }, - "acronym": { - "description": "The acronym of the funding agency", - "type": "string" - }, - "lastUpdate": { - "description": "The last updated info of the _funding-agencies_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of the funding agency", - "type": "string" - }, - "description": { - "description": "The description of the funding agency", - "type": "string" - }, - "resId": { - "description": "The _funding-agencies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "url": { - "description": "The URL of the funding agency", - "type": "string" - }, - "creation": { - "description": "The creation info of the _funding-agencies_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "dlcm-ingest": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the module, included its REST resources", - "type": "object" - }, - "name": { - "description": "The name of the module, i.e. _ingest_", - "type": "string" - } - } - }, - "dlcm-access": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the module, included its REST resources", - "type": "object" - }, - "name": { - "description": "The name of the module, i.e. _access_", - "type": "string" - } - } - }, - "preservation-policies": { - "type": "object", - "properties": { - "useNumber": { - "description": "Use number in organizational units of the the preservation policy", - "type": "number" - }, - "_links": { - "description": "The _links_ list of the _preservation-policies_ resource", - "type": "object" - }, - "lastUpdate": { - "description": "The last updated info of the _preservation-policies_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of the preservation policy", - "type": "string" - }, - "smartRetention": { - "description": "The retention duration in human-readable format of the preservation policy", - "type": "string" - }, - "dispositionApproval": { - "description": "Mandatory step to approve the AIP disposition", - "type": "boolean" - }, - "resId": { - "description": "The _preservation-policies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "retention": { - "description": "The retention duration in days of the preservation policy", - "type": "number" - }, - "creation": { - "description": "The creation info of the _preservation-policies_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "dlcm-preservation-planning": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the module, included its REST resources", - "type": "object" - }, - "name": { - "description": "The name of the module, i.e. _preservation-planning_", - "type": "string" - } - } - }, - "sip": { - "type": "object", - "properties": { - "depositId": { - "description": "The source deposit ID of the SIP", - "type": "string" - }, - "_links": { - "description": "The _links_ list of the _sip_ resource", - "type": "object" - }, - "dataFileNumber": { - "description": "Number of SIP data files", - "type": "number" - }, - "dispositionApproval": { - "description": "Mandatory step to approve the AIP disposition", - "type": "boolean" - }, - "aipId": { - "description": "The generated AIP DLCM ID of the SIP", - "type": "string" - }, - "resId": { - "description": "The _sip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "ready": { - "description": "If the SIP package is ready", - "type": "boolean" - }, - "collectionSize": { - "description": "Size of AIP collection", - "type": "number" - }, - "lastUpdate": { - "description": "The last updated info of the _sip_ resource (see <<change-info>>)", - "type": "object" - }, - "smartRetention": { - "description": "The retention duration in human-readable format of the AIP", - "type": "string" - }, - "retention": { - "description": "The retention duration in days of the AIP", - "type": "number" - }, - "creation": { - "description": "The creation info of the _sip_ resource (see <<change-info>>)", - "type": "object" - }, - "info": { - "type": "object", - "properties": { - "access": { - "description": "The final access level of the package", - "type": "string" - }, - "accessCurrentlyPublic": { - "description": "A boolean indicating wether the current access level is PUBLIC", - "type": "boolean" - }, - "organizationalUnitId": { - "description": "The organizational Unit ID of the information package", - "type": "string" - }, - "currentAccessLevel": { - "description": "The current access level, deducted from the final access level and an eventual embargo", - "type": "string" - }, - "name": { - "description": "The name of the package", - "type": "string" - }, - "complianceLevel": { - "description": "The compliance level of the package", - "type": "string" - }, - "description": { - "description": "The description of the package", - "type": "string" - }, - "embargo": { - "type": "object", - "properties": { - "months": { - "description": "Month number of embargo duration", - "type": "number" - }, - "access": { - "description": "Starting date of embargo period", - "type": "string" - }, - "startDate": { - "description": "Starting date of embargo period", - "type": "string" - } - } - }, - "licenseId": { - "description": "The license ID of the package", - "type": "string" - }, - "status": { - "description": "The status of the package", - "type": "string" - } - } - } - } - }, - "dlcm": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the application", - "type": "object" - }, - "name": { - "description": "The name of the application", - "type": "string" - } - } - }, - "languages": { - "type": "object", - "properties": { - "code": { - "description": "The code of the language", - "type": "string" - }, - "_links": { - "description": "The _links_ list of the _languages_ resource", - "type": "object" - }, - "lastUpdate": { - "description": "The last updated info of the _languages_ resource (see <<change-info>>)", - "type": "object" - }, - "resId": { - "description": "The _languages_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "creation": { - "description": "The creation info of the _languages_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "people": { - "type": "object", - "properties": { - "lastName": { - "description": "The last name of the person", - "type": "string" - }, - "firstName": { - "description": "The first name of the person", - "type": "string" - }, - "_links": { - "description": "The _links_ list of the _people_ resource", - "type": "object" - }, - "lastUpdate": { - "description": "The last updated info of the _people_ resource (see <<change-info>>)", - "type": "object" - }, - "fullName": { - "description": "The full name of the person", - "type": "string" - }, - "orcid": { - "description": "The ORCID of the person", - "type": "string" - }, - "resId": { - "description": "The _people_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "creation": { - "description": "The creation info of the _people_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "deposits": { - "type": "object", - "properties": { - "access": { - "description": "The access level of the deposit", - "type": "string" - }, - "_links": { - "description": "The _links_ list of the _deposits_ resource", - "type": "object" - }, - "preservationPolicyId": { - "description": "The preservation policy ID of the deposit", - "type": "string" - }, - "dataFileNumber": { - "description": "Number of deposit data files", - "type": "number" - }, - "description": { - "description": "The description of the deposit", - "type": "string" - }, - "title": { - "description": "The title of the deposit", - "type": "string" - }, - "sipId": { - "description": "The generated SIP DLCM ID of the deposit", - "type": "string" - }, - "collectionEnd": { - "description": "The end of the deposit collection", - "type": "string" - }, - "organizationalUnitId": { - "description": "The organizational unit ID of the deposit", - "type": "string" - }, - "hasEmbargo": { - "description": "If the deposit has an embargo", - "type": "boolean" - }, - "submissionPolicyId": { - "description": "The submission policy ID of the deposit", - "type": "string" - }, - "licenseId": { - "description": "The license ID of the deposit", - "type": "string" - }, - "publicationDate": { - "description": "The publication date of the deposit", - "type": "string" - }, - "creation": { - "description": "The creation info of the _deposits_ resource (see <<change-info>>)", - "type": "object" - }, - "agreement": { - "description": "The submission agreement of the deposit", - "type": "boolean" - }, - "allDataFileReady": { - "description": "If all data file are ready", - "type": "boolean" - }, - "languageId": { - "description": "The language ID of the deposit", - "type": "string" - }, - "resId": { - "description": "The _deposits_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "statusMessage": { - "description": "The message related to the status", - "type": "string" - }, - "submissionAgreementId": { - "description": "The submission agreement of the deposit", - "type": "string" - }, - "collectionSize": { - "description": "Size of AIP collection", - "type": "number" - }, - "lastUpdate": { - "description": "The last updated info of the _deposits_ resource (see <<change-info>>)", - "type": "object" - }, - "preparationId": { - "description": "The preparation ID of the deposit", - "type": "string" - }, - "embargo": { - "type": "object", - "properties": { - "months": { - "description": "Month number of embargo duration", - "type": "number" - }, - "access": { - "description": "Starting date of embargo period", - "type": "string" - }, - "startDate": { - "description": "Starting date of embargo period", - "type": "string" - } - } - }, - "collectionBegin": { - "description": "The beginning of the deposit collection", - "type": "string" - }, - "status": { - "description": "The status of the deposit", - "type": "string" - }, - "doi": { - "description": "The Digital Object Identifier (DOI) of the deposit", - "type": "string" - } - } - }, - "users": { - "type": "object", - "properties": { - "externalUid": { - "description": "The external UID of the user", - "type": "string" - }, - "lastName": { - "description": "The last name of the user", - "type": "string" - }, - "applicationRoleNames": { - "description": "The application roles of the user", - "type": "array", - "items": {"oneOf": [ - {"type": "object"}, - {"type": "boolean"}, - {"type": "string"}, - {"type": "number"} - ]} - }, - "_links": { - "description": "The _links_ list of the _users_ resource", - "type": "object" - }, - "targetedUid": { - "description": "The targeted UID of the user", - "type": "string" - }, - "accessToken": { - "description": "The access token of the user", - "type": "string" - }, - "resId": { - "description": "The _users_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "enabled": { - "description": "If the user is enable", - "type": "boolean" - }, - "firstName": { - "description": "The first name of the user", - "type": "string" - }, - "lastUpdate": { - "description": "The last updated info of the _users_ resource (see <<change-info>>)", - "type": "object" - }, - "email": { - "description": "The email of the user", - "type": "string" - }, - "creation": { - "description": "The creation info of the _users_ resource (see <<change-info>>)", - "type": "object" - }, - "refreshToken": { - "description": "The refresh token of the user", - "type": "string" - }, - "applicationRoles": { - "description": "The application roles details of the user", - "type": "array", - "items": {"oneOf": [ - {"type": "object"}, - {"type": "boolean"}, - {"type": "string"}, - {"type": "number"} - ]} - } - } - }, - "institutions": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the _institutions_ resource", - "type": "object" - }, - "lastUpdate": { - "description": "The last updated info of the _institutions_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of the institution", - "type": "string" - }, - "emailSuffixes": { - "description": "List of email suffixes", - "type": "array", - "items": {"oneOf": [ - {"type": "object"}, - {"type": "boolean"}, - {"type": "string"}, - {"type": "number"} - ]} - }, - "description": { - "description": "The description of the institution", - "type": "string" - }, - "resId": { - "description": "The _institutions_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "url": { - "description": "The URL of the institution website", - "type": "string" - }, - "creation": { - "description": "The creation info of the _institutions_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "dlcm-preingest": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the module, included its REST resources", - "type": "object" - }, - "name": { - "description": "The name of the module, i.e. _preingest_", - "type": "string" - } - } - }, - "basic-auth-clients": { - "type": "object", - "properties": { - "password": { - "description": "The password of basic authentification client", - "type": "string" - }, - "clientId": { - "description": "The name of basic authentification client", - "type": "string" - }, - "_links": { - "description": "The _links_ list of the _basic-auth-clients_ resource", - "type": "object" - }, - "credentialsNonExpired": { - "description": "If the client credentials are expired", - "type": "boolean" - }, - "lastUpdate": { - "description": "The last updated info of the _basic-auth-clients_ resource (see <<change-info>>)", - "type": "object" - }, - "personId": { - "description": "The linked person of basic authentification client", - "type": "string" - }, - "accountNonExpired": { - "description": "If the client account is expired", - "type": "boolean" - }, - "resId": { - "description": "The _basic-auth-clients_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "enabled": { - "description": "If the client account is enable", - "type": "boolean" - }, - "creation": { - "description": "The creation info of the _basic-auth-clients_ resource (see <<change-info>>)", - "type": "object" - }, - "applicationRoles": { - "description": "The application roles of basic authentification client", - "type": "array", - "items": {"oneOf": [ - {"type": "object"}, - {"type": "boolean"}, - {"type": "string"}, - {"type": "number"} - ]} - }, - "accountNonLocked": { - "description": "If the client account is not locked", - "type": "boolean" - } - } - }, - "preservation-jobs": { - "type": "object", - "properties": { - "totalItems": { - "description": "The total number of items by the preservation job", - "type": "number" - }, - "_links": { - "description": "The _links_ list of the _preservation-jobs_ resource", - "type": "object" - }, - "endDate": { - "description": "The end date of the preservation job", - "type": "string" - }, - "resId": { - "description": "The _preservation-jobs_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "statusMessage": { - "description": "The message related to the status", - "type": "string" - }, - "lastUpdate": { - "description": "The last updated info of the _preservation-jobs_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of the preservation job", - "type": "string" - }, - "ignoredItems": { - "description": "The number of ignored (not processed) items by the preservation job", - "type": "number" - }, - "completionStatus": { - "description": "The completion status in pourcentage of the preservation job", - "type": "number" - }, - "jobType": { - "description": "The job type of the preservation job ", - "type": "string" - }, - "startDate": { - "description": "The start date of the preservation job", - "type": "string" - }, - "processedItems": { - "description": "The number of processed items by the preservation job", - "type": "number" - }, - "inErrorItems": { - "description": "The number of items in-error by the preservation job", - "type": "number" - }, - "creation": { - "description": "The creation info of the _preservation-jobs_ resource (see <<change-info>>)", - "type": "object" - }, - "status": { - "description": "The status of the preservation job", - "type": "string" - } - } - }, - "licenses": { - "type": "object", - "properties": { - "_links": { - "description": "The _links_ list of the _licenses_ resource", - "type": "object" - }, - "isGeneric": { - "description": "Give if it's a generic license", - "type": "boolean" - }, - "domainSoftware": { - "description": "The domain software", - "type": "boolean" - }, - "title": { - "description": "The title of the license", - "type": "string" - }, - "resId": { - "description": "The _licenses_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "url": { - "description": "The url source of the license", - "type": "string" - }, - "maintainer": { - "description": "The maintainer of the license", - "type": "string" - }, - "odConformance": { - "description": "The OD conformance status", - "type": "string" - }, - "openLicenseId": { - "description": "The open license identifier", - "type": "string" - }, - "osdConformance": { - "description": "The OSD conformance status", - "type": "string" - }, - "lastUpdate": { - "description": "The last updated info of the _licenses_ resource (see <<change-info>>)", - "type": "object" - }, - "domainData": { - "description": "The data domain", - "type": "boolean" - }, - "family": { - "description": "The family license", - "type": "string" - }, - "domainContent": { - "description": "The content of the domain", - "type": "boolean" - }, - "creation": { - "description": "The creation info of the _licenses_ resource (see <<change-info>>)", - "type": "object" - }, - "status": { - "description": "The current status of the license", - "type": "string" - } - } - }, - "orders": { - "type": "object", - "properties": { - "aipNumber": { - "description": "The AIP number of the order query", - "type": "number" - }, - "_links": { - "description": "The _links_ list of the _orders_ resource", - "type": "object" - }, - "query": { - "description": "The query of the order query", - "type": "string" - }, - "lastUpdate": { - "description": "The last updated info of the _orders_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of the order query", - "type": "string" - }, - "dipNumber": { - "description": "The DIP number of the order query", - "type": "number" - }, - "resId": { - "description": "The _orders_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "creation": { - "description": "The creation info of the _orders_ resource (see <<change-info>>)", - "type": "object" - }, - "status": { - "description": "The status of the order query ", - "type": "string" - }, - "queryType": { - "description": "The type of the order query", - "type": "string" - } - } - }, - "submission-policies": { - "type": "object", - "properties": { - "useNumber": { - "description": "Use number in organizational units of the the submission policy", - "type": "number" - }, - "submissionApproval": { - "description": "Mandatory step to approve a deposit", - "type": "boolean" - }, - "_links": { - "description": "The _links_ list of the _submission-policies_ resource", - "type": "object" - }, - "lastUpdate": { - "description": "The last updated info of the _submission-policies_ resource (see <<change-info>>)", - "type": "object" - }, - "name": { - "description": "The name of the submission policy", - "type": "string" - }, - "resId": { - "description": "The _submission-policies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]]", - "type": "string" - }, - "creation": { - "description": "The creation info of the _submission-policies_ resource (see <<change-info>>)", - "type": "object" - } - } - }, - "oai-sets": { - "type": "object", - "properties": { - "_data": { - "description": "List the collection of the resources", - "type": "array", - "items": {"oneOf": [ - {"type": "object"}, - {"type": "boolean"}, - {"type": "string"}, - {"type": "number"} - ]} - }, - "_page": { - "description": "Gives the total pages and the total available items of one resource", - "type": "object" - }, - "_links": { - "description": "All links available on the resource", - "type": "object" - } - } - } - }}, - "servers": [{"url": "http://localhost"}], - "openapi": "3.0.1", - "paths": { - "/admin/users": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/users": {"value": "{\"externalUid\":\"dlcm\",\"firstName\":\"dlcm\",\"lastName\":\"dlcm\",\"targetedUid\":\"dlcm\",\"accessToken\":\"dlcm\",\"email\":\"admin@dlcm.ch\",\"refreshToken\":\"dlcm\"}"}} - }}}, - "operationId": "application/admin/users", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/users"}, - "examples": {"application/admin/users": {"value": "{\"resId\":\"2a6c17d5-c126-41d1-91a4-006e2432b9a0\",\"creation\":{\"when\":\"2019-04-30T09:30:54.387+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.390+0000\",\"who\":\"Anonymous\"},\"externalUid\":\"dlcm\",\"targetedUid\":\"dlcm\",\"firstName\":\"dlcm\",\"lastName\":\"dlcm\",\"email\":\"admin@dlcm.ch\",\"accessToken\":\"dlcm\",\"refreshToken\":\"dlcm\",\"person\":null,\"applicationRoles\":[],\"enabled\":true,\"applicationRoleNames\":[],\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/users/2a6c17d5-c126-41d1-91a4-006e2432b9a0\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/users\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/institutions": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/institutions": {"value": "{\"name\":\"dlcm\",\"description\":\"dlcm\",\"url\":\"https://www.dlcm.ch/\"}"}} - }}}, - "operationId": "application/admin/institutions", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/institutions"}, - "examples": {"application/admin/institutions": {"value": "{\"resId\":\"e7d611fb-83b6-4a59-94b3-71bf55a47f92\",\"creation\":{\"when\":\"2019-04-30T09:30:53.162+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.167+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"description\":\"dlcm\",\"url\":\"https://www.dlcm.ch/\",\"emailSuffixes\":[],\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/institutions/e7d611fb-83b6-4a59-94b3-71bf55a47f92\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/institutions\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"people\":{\"href\":\"http://localhost:8080/dlcm/admin/institutions/e7d611fb-83b6-4a59-94b3-71bf55a47f92/people\"},\"organizational-units\":{\"href\":\"http://localhost:8080/dlcm/admin/institutions/e7d611fb-83b6-4a59-94b3-71bf55a47f92/organizational-units\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/preservation-planning": {"get": { - "operationId": "application/preservation-planning", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dlcm-preservation-planning"}, - "examples": {"application/preservation-planning": {"value": "{\"name\":\"preservation-planning\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/preservation-planning/monitor\"},{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs\"}]}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/preingest": {"get": { - "operationId": "application/preingest", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dlcm-preingest"}, - "examples": {"application/preingest": {"value": "{\"name\":\"preingest\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/preingest\"},\"resources\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/resource-srv/application-roles": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/resource-srv/application-roles": {"value": "{\"name\":\"dlcm\"}"}} - }}}, - "operationId": "application/resource-srv/application-roles", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/application-roles"}, - "examples": {"application/resource-srv/application-roles": {"value": "{\"resId\":\"ec0f4422-794e-4115-abea-26fe3f308199\",\"creation\":{\"when\":\"2019-04-30T09:30:55.678+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.680+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/resource-srv/application-roles/ec0f4422-794e-4115-abea-26fe3f308199\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/resource-srv/application-roles\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/resource-srv\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/preservation-planning/preservation-jobs": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/preservation-planning/preservation-jobs": {"value": "{\"endDate\":\"2018-08-10T15:36:50.323+0200\",\"name\":\"dlcm\",\"jobType\":\"RELOAD\",\"statusMessage\":\"dlcm\",\"startDate\":\"2018-07-10T15:36:50.323+0200\"}"}} - }}}, - "operationId": "application/preservation-planning/preservation-jobs", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/preservation-jobs"}, - "examples": {"application/preservation-planning/preservation-jobs": {"value": "{\"resId\":\"f108646d-3ded-4d1d-a6f9-6756dd3602f4\",\"creation\":{\"when\":\"2019-04-30T09:30:54.533+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.536+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"jobType\":\"RELOAD\",\"status\":\"PAUSED\",\"statusMessage\":\"dlcm\",\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"endDate\":\"2018-08-10T13:36:50.323+0000\",\"processedItems\":0,\"ignoredItems\":0,\"inErrorItems\":0,\"completionStatus\":0,\"totalItems\":0,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs/f108646d-3ded-4d1d-a6f9-6756dd3602f4\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning\"},\"start\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs/f108646d-3ded-4d1d-a6f9-6756dd3602f4/start\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning/preservation-jobs/f108646d-3ded-4d1d-a6f9-6756dd3602f4/history\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/people": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/people": {"value": "{\"firstName\":\"dlcm\",\"lastName\":\"dlcm\",\"orcid\":\"dlcm\"}"}} - }}}, - "operationId": "application/admin/people", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/people"}, - "examples": {"application/admin/people": {"value": "{\"resId\":\"2ce0c7e3-4ec7-4915-a99a-e9edd62803c6\",\"creation\":{\"when\":\"2019-04-30T09:30:53.316+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.319+0000\",\"who\":\"Anonymous\"},\"firstName\":\"dlcm\",\"lastName\":\"dlcm\",\"orcid\":\"dlcm\",\"fullName\":\"dlcm, dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/people/2ce0c7e3-4ec7-4915-a99a-e9edd62803c6\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/people\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"institutions\":{\"href\":\"http://localhost:8080/dlcm/admin/people/2ce0c7e3-4ec7-4915-a99a-e9edd62803c6/institutions\"},\"organizational-units\":{\"href\":\"http://localhost:8080/dlcm/admin/people/2ce0c7e3-4ec7-4915-a99a-e9edd62803c6/organizational-units\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/oauth2-clients": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/oauth2-clients": {"value": "{\"redirectUri\":\"https://www.dlcm.ch/\",\"grantTypes\":[\"authorization_code\"],\"clientId\":\"dlcm\",\"scope\":\"READ\",\"accessTokenValiditySeconds\":\"3600\",\"name\":\"dlcm\",\"secret\":\"dlcm\",\"refreshTokenValiditySeconds\":\"3600\"}"}} - }}}, - "operationId": "application/admin/oauth2-clients", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients"}, - "examples": {"application/admin/oauth2-clients": {"value": "{\"resId\":\"944e9d8c-9694-44ea-ad2f-74f1e5b9debc\",\"creation\":{\"when\":\"2019-04-30T09:30:53.773+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.776+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"clientId\":\"dlcm\",\"secret\":\"dlcm\",\"redirectUri\":\"https://www.dlcm.ch/\",\"scope\":\"READ\",\"grantTypes\":[\"authorization_code\"],\"accessTokenValiditySeconds\":3600,\"refreshTokenValiditySeconds\":3600,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/oauth2-clients/944e9d8c-9694-44ea-ad2f-74f1e5b9debc\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/oauth2-clients\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/archival-storage/aip": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/archival-storage/aip": {"value": "{\"virusCheck\":{\"checkDate\":\"2018-07-10T15:36:50.323+0200\",\"details\":\"dlcm\"},\"aipContainer\":\"BAG_IT\",\"retention\":\"5\",\"fileFormat\":{\"format\":\"dlcm\",\"details\":\"dlcm\",\"puid\":\"dlcm\",\"contentType\":\"dlcm\",\"version\":\"dlcm\",\"md5\":\"dlcm\"},\"info\":{\"access\":\"RESTRICTED\",\"organizationalUnitId\":\"dlcm\",\"name\":\"dlcm\",\"complianceLevel\":\"NOT_ASSESSED\",\"description\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T15:36:50.323+0200\",\"months\":\"5\",\"access\":\"RESTRICTED\"},\"licenseId\":\"dlcm\",\"statusMessage\":\"dlcm\"}}"}} - }}}, - "operationId": "application/archival-storage/aip", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/aip"}, - "examples": {"application/archival-storage/aip": {"value": "{\"resId\":\"b8828a7a-7e12-42ee-b0fd-91be2abffe1d\",\"creation\":{\"when\":\"2019-04-30T09:30:55.044+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.047+0000\",\"who\":\"Anonymous\"},\"info\":{\"status\":\"IN_PREPARATION\",\"statusMessage\":null,\"name\":\"dlcm\",\"description\":\"dlcm\",\"organizationalUnitId\":\"dlcm\",\"access\":\"RESTRICTED\",\"licenseId\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"months\":5,\"access\":\"RESTRICTED\"},\"complianceLevel\":\"NOT_ASSESSED\",\"accessCurrentlyPublic\":false,\"currentAccessLevel\":\"RESTRICTED\"},\"aipContainer\":\"BAG_IT\",\"archivalUnit\":true,\"archiveId\":null,\"archiveSize\":0,\"retention\":5,\"dispositionApproval\":true,\"smartRetention\":\"5 days\",\"sipIds\":[],\"checksums\":[],\"fileFormat\":{\"contentType\":\"dlcm\",\"format\":\"dlcm\",\"version\":\"dlcm\",\"puid\":\"dlcm\",\"md5\":\"dlcm\",\"details\":\"dlcm\",\"tool\":null},\"virusCheck\":{\"checkDate\":\"2018-07-10T13:36:50.323+0000\",\"details\":\"dlcm\",\"tool\":null},\"ready\":true,\"retentionEnd\":\"2019-05-05T09:30:55.044Z\",\"smartSize\":\"0.0 B\",\"collectionSize\":0,\"dataFileNumber\":0,\"dispositionApproval\":true,\"retention\":5,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"data\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d/data\"},\"upload\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d/upload\"},\"resume\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d/resume\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip/b8828a7a-7e12-42ee-b0fd-91be2abffe1d/history\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/access/dip": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/access/dip": {"value": "{\"info\":{\"access\":\"RESTRICTED\",\"organizationalUnitId\":\"dlcm\",\"name\":\"dlcm\",\"complianceLevel\":\"NOT_ASSESSED\",\"description\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T15:36:50.323+0200\",\"months\":\"5\",\"access\":\"RESTRICTED\"},\"licenseId\":\"dlcm\",\"statusMessage\":\"dlcm\"}}"}} - }}}, - "operationId": "application/access/dip", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dip"}, - "examples": {"application/access/dip": {"value": "{\"resId\":\"a69772ce-5679-4759-9ea0-e25e7865ddbf\",\"creation\":{\"when\":\"2019-04-30T09:30:55.379+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.382+0000\",\"who\":\"Anonymous\"},\"info\":{\"status\":\"IN_PREPARATION\",\"statusMessage\":null,\"name\":\"dlcm\",\"description\":\"dlcm\",\"organizationalUnitId\":\"dlcm\",\"access\":\"RESTRICTED\",\"licenseId\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"months\":5,\"access\":\"RESTRICTED\"},\"complianceLevel\":\"NOT_ASSESSED\",\"accessCurrentlyPublic\":false,\"currentAccessLevel\":\"RESTRICTED\"},\"aipIds\":[],\"ready\":false,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/access/dip/a69772ce-5679-4759-9ea0-e25e7865ddbf\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/access/dip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"data\":{\"href\":\"http://localhost:8080/dlcm/access/dip/a69772ce-5679-4759-9ea0-e25e7865ddbf/data\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/access/dip/a69772ce-5679-4759-9ea0-e25e7865ddbf/history\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/preservation-policies": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/preservation-policies": {"value": "{\"name\":\"dlcm\",\"retention\":\"5\"}"}} - }}}, - "operationId": "application/admin/preservation-policies", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/preservation-policies"}, - "examples": {"application/admin/preservation-policies": {"value": "{\"resId\":\"34b7eec1-97b4-4f98-a2c4-05e2321c5815\",\"creation\":{\"when\":\"2019-04-30T09:30:53.435+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.438+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"retention\":5,\"dispositionApproval\":true,\"smartRetention\":\"5 days\",\"useNumber\":0,\"dispositionApproval\":true,\"retention\":5,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/preservation-policies/34b7eec1-97b4-4f98-a2c4-05e2321c5815\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/preservation-policies\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/submission-agreements": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/submission-agreements": {"value": "{\"title\":\"dlcm\",\"description\":\"dlcm\",\"version\":\"dlcm\"}"}} - }}}, - "operationId": "application/admin/submission-agreements", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/submission-agreements"}, - "examples": {"application/admin/submission-agreements": {"value": "{\"resId\":\"a51d2a8c-82d6-4593-be01-a56149db0bf0\",\"creation\":{\"when\":\"2019-04-30T09:30:54.025+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.027+0000\",\"who\":\"Anonymous\"},\"title\":\"dlcm\",\"description\":\"dlcm\",\"version\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/submission-agreements/a51d2a8c-82d6-4593-be01-a56149db0bf0\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/submission-agreements\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/organizational-units": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/organizational-units": {"value": "{\"name\":\"The name of the organizational unit\",\"description\":\"dlcm\",\"closingDate\":\"2018-10-01\",\"openingDate\":\"2018-01-01\"}"}} - }}}, - "operationId": "application/admin/organizational-units", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/organizational-units"}, - "examples": {"application/admin/organizational-units": {"value": "{\"resId\":\"5e190628-ad17-4bdf-b6ca-10b0e7275317\",\"creation\":{\"when\":\"2019-04-30T09:30:54.142+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.147+0000\",\"who\":\"Anonymous\"},\"name\":\"The name of the organizational unit\",\"description\":\"dlcm\",\"openingDate\":\"2018-01-01\",\"closingDate\":\"2018-10-01\",\"isEmpty\":true,\"defaultSubmissionPolicy\":null,\"defaultPreservationPolicy\":null,\"open\":false,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"institutions\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/institutions\"},\"preservation-policies\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/preservation-policies\"},\"submission-policies\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/submission-policies\"},\"people\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/people\"},\"funding-agencies\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/funding-agencies\"},\"close\":{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units/5e190628-ad17-4bdf-b6ca-10b0e7275317/close\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/archival-storage/stored-aip": {"get": { - "operationId": "application/archival-storage/stored-aip", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/oai-sets"}, - "examples": {"application/archival-storage/stored-aip": {"value": "{\"_data\":[{\"resId\":\"707c7bc3-bfa1-4846-a62f-5ce95ecf1444+db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\",\"aipId\":\"db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\",\"organizationalUnitId\":\"707c7bc3-bfa1-4846-a62f-5ce95ecf1444\",\"archiveUri\":\"file:///C:/Users/poittevf/DLCM-Storagion/707c7bc3-bfa1-4846-a62f-5ce95ecf1444/db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\",\"archiveId\":\"707c7bc3-bfa1-4846-a62f-5ce95ecf1444/db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip/707c7bc3-bfa1-4846-a62f-5ce95ecf1444+db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"download\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip/707c7bc3-bfa1-4846-a62f-5ce95ecf1444+db7a4c5d-6ca7-43e2-9c1c-e2fe652f3188/download\"}}}],\"_page\":{\"currentPage\":0,\"sizePage\":20,\"totalPages\":1,\"totalItems\":1},\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"lastCreated\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip?sort=creation.when,desc\"},\"lastUpdated\":{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip?sort=edit,desc\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/roles": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/roles": {"value": "{\"name\":\"dlcm\"}"}} - }}}, - "operationId": "application/admin/roles", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/roles"}, - "examples": {"application/admin/roles": {"value": "{\"resId\":\"fcbafc07-2421-4b30-906c-ae50673b409e\",\"creation\":{\"when\":\"2019-04-30T09:30:53.904+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.906+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/roles/fcbafc07-2421-4b30-906c-ae50673b409e\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/roles\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/ingest": {"get": { - "operationId": "application/ingest", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dlcm-ingest"}, - "examples": {"application/ingest": {"value": "{\"name\":\"ingest\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/ingest\"},\"resources\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/archival-storage": {"get": { - "operationId": "application/archival-storage", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dlcm-archival-storage"}, - "examples": {"application/archival-storage": {"value": "{\"name\":\"archival-storage\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/archival-storage/aip\"},{\"href\":\"http://localhost:8080/dlcm/archival-storage/stored-aip\"}]}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/submission-policies": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/submission-policies": {"value": "{\"name\":\"dlcm\"}"}} - }}}, - "operationId": "application/admin/submission-policies", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/submission-policies"}, - "examples": {"application/admin/submission-policies": {"value": "{\"resId\":\"4c4c176c-137e-47a5-be68-d9d0b47b4cc9\",\"creation\":{\"when\":\"2019-04-30T09:30:54.286+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.288+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"submissionApproval\":true,\"useNumber\":0,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/submission-policies/4c4c176c-137e-47a5-be68-d9d0b47b4cc9\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/submission-policies\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/access/orders": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/access/orders": {"value": "{\"name\":\"dlcm\",\"query\":\"dlcm\",\"queryType\":\"SIMPLE\"}"}} - }}}, - "operationId": "application/access/orders", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/orders"}, - "examples": {"application/access/orders": {"value": "{\"resId\":\"f24e0c4f-2883-49fd-bae1-a6754549f39a\",\"creation\":{\"when\":\"2019-04-30T09:30:55.260+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.262+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"status\":\"IN_PROGRESS\",\"statusMessage\":null,\"queryType\":\"SIMPLE\",\"query\":\"dlcm\",\"dipNumber\":0,\"aipNumber\":0,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/access/orders\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"aip\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a/aip\"},\"view\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a/view\"},\"save\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a/save\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/access/orders/f24e0c4f-2883-49fd-bae1-a6754549f39a/history\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/resource-srv/basic-auth-clients": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/resource-srv/basic-auth-clients": {"value": "{\"password\":\"dlcm\",\"clientId\":\"dlcm\",\"personId\":\"dlcm\"}"}} - }}}, - "operationId": "application/resource-srv/basic-auth-clients", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/basic-auth-clients"}, - "examples": {"application/resource-srv/basic-auth-clients": {"value": "{\"resId\":\"b7579bc5-2b6a-4f71-8734-3eda78bfb134\",\"creation\":{\"when\":\"2019-04-30T09:30:55.497+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:55.563+0000\",\"who\":\"Anonymous\"},\"clientId\":\"dlcm\",\"applicationRoles\":[],\"personId\":\"dlcm\",\"person\":null,\"enabled\":true,\"credentialsNonExpired\":true,\"accountNonLocked\":true,\"accountNonExpired\":true,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/resource-srv/basic-auth-clients/b7579bc5-2b6a-4f71-8734-3eda78bfb134\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/resource-srv/basic-auth-clients\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/resource-srv\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/": {"get": { - "operationId": "application", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dlcm"}, - "examples": {"application": {"value": "{\"name\":\"Default Server Display Name\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/\"},\"dashboard\":{\"href\":\"http://localhost:8080/dlcm/dashboard\"},\"admin\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"preservation-planning\":{\"href\":\"http://localhost:8080/dlcm/preservation-planning\"},\"preingest\":{\"href\":\"http://localhost:8080/dlcm/preingest\"},\"ingest\":{\"href\":\"http://localhost:8080/dlcm/ingest\"},\"archival-storage\":{\"href\":\"http://localhost:8080/dlcm/archival-storage\"},\"data-mgmt\":{\"href\":\"http://localhost:8080/dlcm/data-mgmt\"},\"access\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"resource-srv\":{\"href\":\"http://localhost:8080/dlcm/resource-srv\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/licenses": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/licenses": {"value": "{\"odConformance\":\"approved\",\"openLicenseId\":\"dlcm\",\"osdConformance\":\"approved\",\"isGeneric\":\"true\",\"domainSoftware\":\"true\",\"domainData\":\"true\",\"title\":\"dlcm\",\"family\":\"dlcm\",\"domainContent\":\"true\",\"maintainer\":\"dlcm\",\"url\":\"dlcm\",\"status\":\"active\"}"}} - }}}, - "operationId": "application/admin/licenses", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/licenses"}, - "examples": {"application/admin/licenses": {"value": "{\"resId\":\"9bc3ed5f-7240-42a7-94d9-c959dc63c20d\",\"creation\":{\"when\":\"2019-04-30T09:30:53.655+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.658+0000\",\"who\":\"Anonymous\"},\"openLicenseId\":\"dlcm\",\"title\":\"dlcm\",\"domainContent\":true,\"domainData\":true,\"domainSoftware\":true,\"family\":\"dlcm\",\"maintainer\":\"dlcm\",\"isGeneric\":true,\"url\":\"dlcm\",\"status\":\"active\",\"odConformance\":\"approved\",\"osdConformance\":\"approved\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/licenses/9bc3ed5f-7240-42a7-94d9-c959dc63c20d\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/licenses\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/funding-agencies": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/funding-agencies": {"value": "{\"name\":\"dlcm\",\"description\":\"dlcm\",\"acronym\":\"dlcm\",\"url\":\"dlcm\"}"}} - }}}, - "operationId": "application/admin/funding-agencies", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/funding-agencies"}, - "examples": {"application/admin/funding-agencies": {"value": "{\"resId\":\"28150c22-5214-4e15-8a67-587e9fb3ddcf\",\"creation\":{\"when\":\"2019-04-30T09:30:52.858+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:52.919+0000\",\"who\":\"Anonymous\"},\"name\":\"dlcm\",\"acronym\":\"dlcm\",\"description\":\"dlcm\",\"url\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/funding-agencies/28150c22-5214-4e15-8a67-587e9fb3ddcf\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/funding-agencies\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"organizational-units\":{\"href\":\"http://localhost:8080/dlcm/admin/funding-agencies/28150c22-5214-4e15-8a67-587e9fb3ddcf/organizational-units\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/access/oai-sets": {"get": { - "operationId": "application/access/oai-sets", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/oai-sets"}, - "examples": {"application/access/oai-sets": {"value": "{\"_data\":[],\"_page\":{\"currentPage\":0,\"sizePage\":20,\"totalPages\":0,\"totalItems\":0},\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/access/oai-sets\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"lastCreated\":{\"href\":\"http://localhost:8080/dlcm/access/oai-sets?sort=creation.when,desc\"},\"lastUpdated\":{\"href\":\"http://localhost:8080/dlcm/access/oai-sets?sort=edit,desc\"},\"organizational-units\":{\"href\":\"http://localhost:8080/dlcm/access/oai-sets/organizational-units\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/resource-srv": {"get": { - "operationId": "application/resource-srv", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dlcm-resource-srv"}, - "examples": {"application/resource-srv": {"value": "{\"name\":\"resource-srv\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/resource-srv\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/resource-srv/basic-auth-clients\"},{\"href\":\"http://localhost:8080/dlcm/resource-srv/application-roles\"}],\"tools\":[{\"href\":\"http://localhost:8080/dlcm/resource-srv/checkTool?toolName=DLCM%20File%20Format\"},{\"href\":\"http://localhost:8080/dlcm/resource-srv/checkTool?toolName=DLCM%20Virus%20Check\"}]}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/ingest/sip": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/ingest/sip": {"value": "{\"depositId\":\"dlcm\",\"aipId\":\"dlcm\",\"retention\":\"5\",\"info\":{\"access\":\"RESTRICTED\",\"organizationalUnitId\":\"dlcm\",\"name\":\"dlcm\",\"complianceLevel\":\"NOT_ASSESSED\",\"description\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T15:36:50.323+0200\",\"months\":\"5\",\"access\":\"RESTRICTED\"},\"licenseId\":\"dlcm\",\"statusMessage\":\"dlcm\"}}"}} - }}}, - "operationId": "application/ingest/sip", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/sip"}, - "examples": {"application/ingest/sip": {"value": "{\"resId\":\"222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c\",\"creation\":{\"when\":\"2019-04-30T09:30:54.910+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.912+0000\",\"who\":\"Anonymous\"},\"info\":{\"status\":\"IN_PREPARATION\",\"statusMessage\":null,\"name\":\"dlcm\",\"description\":\"dlcm\",\"organizationalUnitId\":\"dlcm\",\"access\":\"RESTRICTED\",\"licenseId\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"months\":5,\"access\":\"RESTRICTED\"},\"complianceLevel\":\"NOT_ASSESSED\",\"accessCurrentlyPublic\":false,\"currentAccessLevel\":\"RESTRICTED\"},\"depositId\":\"dlcm\",\"aipId\":\"dlcm\",\"retention\":5,\"dispositionApproval\":true,\"smartRetention\":\"5 days\",\"ready\":false,\"collectionSize\":0,\"dataFileNumber\":0,\"dispositionApproval\":true,\"retention\":5,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/ingest\"},\"data\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/data\"},\"aip\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/aip\"},\"upload\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/upload\"},\"resume\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/resume\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/ingest/sip/222c6d20-dcff-4f2a-aaf5-2d1e068cfd6c/history\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin/languages": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/admin/languages": {"value": "{\"code\":\"dlcm\"}"}} - }}}, - "operationId": "application/admin/languages", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/languages"}, - "examples": {"application/admin/languages": {"value": "{\"resId\":\"0724ee06-a80c-45fe-9179-57b3633520de\",\"creation\":{\"when\":\"2019-04-30T09:30:53.551+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:53.553+0000\",\"who\":\"Anonymous\"},\"code\":\"dlcm\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin/languages/0724ee06-a80c-45fe-9179-57b3633520de\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/admin/languages\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/admin\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/admin": {"get": { - "operationId": "application/admin", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dlcm-admin"}, - "examples": {"application/admin": {"value": "{\"name\":\"admin\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/admin\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/admin/funding-agencies\"},{\"href\":\"http://localhost:8080/dlcm/admin/authorized-organizational-units\"},{\"href\":\"http://localhost:8080/dlcm/admin/institutions\"},{\"href\":\"http://localhost:8080/dlcm/admin/people\"},{\"href\":\"http://localhost:8080/dlcm/admin/preservation-policies\"},{\"href\":\"http://localhost:8080/dlcm/admin/languages\"},{\"href\":\"http://localhost:8080/dlcm/admin/licenses\"},{\"href\":\"http://localhost:8080/dlcm/admin/oauth2-clients\"},{\"href\":\"http://localhost:8080/dlcm/admin/roles\"},{\"href\":\"http://localhost:8080/dlcm/admin/submission-agreements\"},{\"href\":\"http://localhost:8080/dlcm/admin/organizational-units\"},{\"href\":\"http://localhost:8080/dlcm/admin/submission-policies\"},{\"href\":\"http://localhost:8080/dlcm/admin/users\"}]}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/preingest/deposits": {"post": { - "requestBody": {"content": {"application/json": { - "schema": {"$ref": "#/components/schemas/oauth2-clients_example"}, - "examples": {"application/preingest/deposits": {"value": "{\"access\":\"PUBLIC\",\"preservationPolicyId\":\"dlcm\",\"languageId\":\"dlcm\",\"description\":\"dlcm\",\"title\":\"dlcm\",\"statusMessage\":\"dlcm\",\"sipId\":\"dlcm\",\"collectionEnd\":\"2018-12-10T13:00:00+0100\",\"submissionAgreementId\":\"dlcm\",\"organizationalUnitId\":\"dlcm\",\"submissionPolicyId\":\"dlcm\",\"complianceLevel\":\"NOT_ASSESSED\",\"preparationId\":\"dlcm\",\"embargo\":{\"startDate\":\"2018-07-10T15:36:50.323+0200\",\"months\":\"5\",\"access\":\"RESTRICTED\"},\"publicationDate\":\"2018-07-10\",\"collectionBegin\":\"2018-12-01T13:00:00+0100\",\"doi\":\"dlcm\"}"}} - }}}, - "operationId": "application/preingest/deposits", - "responses": {"201": { - "description": "201", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/deposits"}, - "examples": {"application/preingest/deposits": {"value": "{\"resId\":\"520b74c3-fa86-4c80-879e-ad23d110773c\",\"creation\":{\"when\":\"2019-04-30T09:30:54.667+0000\",\"who\":\"Anonymous\"},\"lastUpdate\":{\"when\":\"2019-04-30T09:30:54.674+0000\",\"who\":\"Anonymous\"},\"title\":\"dlcm\",\"status\":\"IN_PROGRESS\",\"statusMessage\":\"dlcm\",\"sipId\":\"dlcm\",\"preparationId\":\"dlcm\",\"doi\":\"dlcm\",\"agreement\":false,\"publicationDate\":\"2018-07-10\",\"collectionBegin\":\"2018-12-01T12:00:00+0000\",\"collectionEnd\":\"2018-12-10T12:00:00+0000\",\"access\":\"PUBLIC\",\"language\":null,\"languageId\":\"dlcm\",\"submissionAgreementId\":\"dlcm\",\"licenseId\":\"CC-BY-4-0\",\"organizationalUnit\":null,\"organizationalUnitId\":\"dlcm\",\"description\":\"dlcm\",\"keywords\":null,\"embargo\":{\"startDate\":\"2018-07-10T13:36:50.323+0000\",\"months\":5,\"access\":\"RESTRICTED\"},\"submissionPolicy\":null,\"submissionPolicyId\":\"dlcm\",\"preservationPolicy\":null,\"preservationPolicyId\":\"dlcm\",\"complianceLevel\":null,\"allDataFileReady\":false,\"hasEmbargo\":true,\"collectionSize\":0,\"dataFileNumber\":0,\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c\"},\"list\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits\"},\"module\":{\"href\":\"http://localhost:8080/dlcm/preingest\"},\"people\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/people\"},\"data\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/data\"},\"aip\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/aip\"},\"submission-agreements\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/submission-agreements\"},\"licenses\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/licenses\"},\"upload\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/upload\"},\"upload-archive\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/upload-archive\"},\"download\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/download\"},\"history\":{\"href\":\"http://localhost:8080/dlcm/preingest/deposits/520b74c3-fa86-4c80-879e-ad23d110773c/history\"}}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/data-mgmt": {"get": { - "operationId": "application/data-mgmt", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dlcm-data-mgmt"}, - "examples": {"application/data-mgmt": {"value": "{\"name\":\"data-mgmt\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/data-mgmt\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/data-mgmt/di\"},{\"href\":\"http://localhost:8080/dlcm/data-mgmt/items\"},{\"href\":\"http://localhost:8080/dlcm/data-mgmt/private-di\"},{\"href\":\"http://localhost:8080/dlcm/data-mgmt/public-di\"},{\"href\":\"http://localhost:8080/dlcm/data-mgmt/settings\"}]}}"}} - }} - }}, - "tags": ["dlcm"] - }}, - "/access": {"get": { - "operationId": "application/access", - "responses": {"200": { - "description": "200", - "content": {"application/hal+json": { - "schema": {"$ref": "#/components/schemas/dlcm-access"}, - "examples": {"application/access": {"value": "{\"name\":\"access\",\"_links\":{\"self\":{\"href\":\"http://localhost:8080/dlcm/access\"},\"resources\":[{\"href\":\"http://localhost:8080/dlcm/access/oai-sets\"},{\"href\":\"http://localhost:8080/dlcm/access/orders\"},{\"href\":\"http://localhost:8080/dlcm/access/private-metadata\"},{\"href\":\"http://localhost:8080/dlcm/access/aip\"},{\"href\":\"http://localhost:8080/dlcm/access/all-metadata\"},{\"href\":\"http://localhost:8080/dlcm/access/dip\"},{\"href\":\"http://localhost:8080/dlcm/access/metadata\"},{\"href\":\"http://localhost:8080/dlcm/access/oai-provider\"}]}}"}} - }} - }}, - "tags": ["dlcm"] - }} - }, - "info": { - "description": "DLCM application wrapping all modules, All-In-One", - "title": "DLCM-Solution", - "version": "1.3.0-SNAPSHOT" - }, - "tags": [] -} \ No newline at end of file diff --git a/package.json b/package.json index a66b1daee9d97c8def1df37a178d3c8223eb359e..ed26ebe911960cf6ddf3e730310adcccfa32a85f 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "lint": "ng lint", "e2e": "ng e2e", "extract-translations": "ngx-translate-extract --input ./src --output ./src/assets/i18n/fr.json ./src/assets/i18n/en.json ./src/assets/i18n/de.json --clean --sort --format namespaced-json --marker TRANSLATE", - "generate-ts-api": "rm -fR generated-sources/openapi && openapi-generator generate -i ../DLCM-Backend/DLCM-Solution/target/classes/static/openapi/openapi-3.0.json -g typescript-angular -o generated-sources/openapi --additional-properties=\"ngVersion=7.2.0,npmName=dlcmApi\" --skip-validate-spec" + "generate-dlcm-api": "rm -fR src/app/generated-api && openapi-generator generate -i ../DLCM-Backend/DLCM-Solution/target/classes/static/openapi/openapi-3.0.json -g typescript-angular -o src/app/generated-api --additional-properties=\"ngVersion=7.2.0\" --skip-validate-spec && clean-after-api-generation.sh" }, "private": true, "dependencies": { diff --git a/src/app/access/views/access-view/access-view.component.html b/src/app/access/views/access-view/access-view.component.html index 5bd11b21357eeff6dbab652d07e2e7174af4c673..b51e2d7543b7bc360be40c97a88396ca5880eed2 100644 --- a/src/app/access/views/access-view/access-view.component.html +++ b/src/app/access/views/access-view/access-view.component.html @@ -1,3 +1,6 @@ <p> access-view works! </p> + +<button (click)="testApiAccess()">Test Api Access</button> +<button (click)="testApiDeposit()">Test Api Deposit</button> diff --git a/src/app/access/views/access-view/access-view.component.ts b/src/app/access/views/access-view/access-view.component.ts index 8969b81e811284fcc7e511469c7e4283b3cd6ac3..f63a61c0f16df17d170541e06f179a1dda6c1ab9 100644 --- a/src/app/access/views/access-view/access-view.component.ts +++ b/src/app/access/views/access-view/access-view.component.ts @@ -1,6 +1,9 @@ import {Component, OnInit} from '@angular/core'; -import {Select, Store} from '@ngxs/store'; import {ViewDIP} from '@app/access/access.action'; +import {DlcmService} from '@app/generated-api/api/dlcm.service'; +import {Deposits} from '@app/generated-api/model/deposits'; +import {DlcmAccess} from '@app/generated-api/model/dlcmAccess'; +import {Select, Store} from '@ngxs/store'; import {Observable} from 'rxjs'; @@ -12,7 +15,7 @@ import {Observable} from 'rxjs'; export class AccessViewComponent implements OnInit { @Select(state => state.animals) animals$: Observable<any>; - constructor(private store: Store) { + constructor(private store: Store, private service: DlcmService) { } ngOnInit() { @@ -22,4 +25,15 @@ export class AccessViewComponent implements OnInit { this.store.dispatch(new ViewDIP(name)); } + testApiAccess() { + this.service.applicationAccess().subscribe((res: DlcmAccess) => { + console.log('res', res); + }); + } + + testApiDeposit() { + this.service.applicationPreingestDeposits().subscribe((res: Deposits) => { + console.log('res', res); + }); + } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 94ff287388414b3b6c4c7328f6ddb3d35d72b7b6..d07d1eeecbe6fae5d610a0569b6600f5d099a8c2 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -2,11 +2,15 @@ import {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from '@angular/common/h import {NgModule} from '@angular/core'; import {BrowserModule} from '@angular/platform-browser'; import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; +import {DlcmInterceptor} from '@app/dlcm.interceptor'; +import {ApiModule} from '@app/generated-api/api.module'; +import {BASE_PATH} from '@app/generated-api/variables'; import {SharedModule} from '@app/shared/shared.module'; import {TranslateLoader, TranslateModule} from '@ngx-translate/core'; import {TranslateHttpLoader} from '@ngx-translate/http-loader'; import {NgxsModule} from '@ngxs/store'; import {AuthConfig, JwksValidationHandler, OAuthModule, OAuthModuleConfig, OAuthStorage, ValidationHandler} from 'angular-oauth2-oidc'; +import {environment} from '../environments/environment'; import {AppRoutingModule} from './app-routing.module'; import {AppComponent} from './app.component'; import {AppService} from './app.service'; @@ -14,9 +18,6 @@ import {authConfig, authModuleConfig} from './auth.config'; import {HomeComponent} from './components/home/home.component'; import {LoginComponent} from './components/login/login.component'; import {PageNotFoundComponent} from './components/page-not-found/page-not-found.component'; -import {DlcmInterceptor} from './dlcm.interceptor'; -// import {ApiModule, BASE_PATH} from 'dlcmApi'; -// import {environment} from '../environments/environment'; @NgModule({ declarations: [ @@ -30,7 +31,7 @@ import {DlcmInterceptor} from './dlcm.interceptor'; BrowserAnimationsModule, AppRoutingModule, NgxsModule.forRoot([]), - // ApiModule, + ApiModule, HttpClientModule, OAuthModule.forRoot(authModuleConfig), TranslateModule.forRoot({ @@ -44,12 +45,27 @@ import {DlcmInterceptor} from './dlcm.interceptor'; ], providers: [ AppService, - {provide: OAuthModuleConfig, useValue: authModuleConfig}, - {provide: ValidationHandler, useClass: JwksValidationHandler}, - // {provide: OAuthStorage, useClass: DlcmStorage}, - {provide: OAuthStorage, useValue: sessionStorage}, - {provide: AuthConfig, useValue: authConfig}, - // {provide: BASE_PATH, useValue: environment.API_BASE_PATH}, + { + provide: OAuthModuleConfig, + useValue: authModuleConfig, + }, + { + provide: ValidationHandler, + useClass: JwksValidationHandler, + }, + { + provide: OAuthStorage, + useValue: sessionStorage, + // useClass: DlcmStorage + }, + { + provide: AuthConfig, + useValue: authConfig, + }, + { + provide: BASE_PATH, + useValue: environment.API_BASE_PATH, + }, { provide: HTTP_INTERCEPTORS, useClass: DlcmInterceptor, diff --git a/src/app/dlcm.interceptor.ts b/src/app/dlcm.interceptor.ts index cb56dab3f16e0f7d7a096a94fd9244d6057795e6..d46673f3abb0d65da311396e83ae24ed723a0a02 100644 --- a/src/app/dlcm.interceptor.ts +++ b/src/app/dlcm.interceptor.ts @@ -1,7 +1,7 @@ import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http'; import {Injectable} from '@angular/core'; -import {Observable} from 'rxjs'; import {OAuthService} from 'angular-oauth2-oidc'; +import {Observable} from 'rxjs'; @Injectable() export class DlcmInterceptor implements HttpInterceptor { diff --git a/src/app/generated-api/README.md b/src/app/generated-api/README.md new file mode 100644 index 0000000000000000000000000000000000000000..8f3cb2782bbd6e2f5b339d696584b75f748fd449 --- /dev/null +++ b/src/app/generated-api/README.md @@ -0,0 +1 @@ +Do not edit file inside this folder manually ! Generated automatically with `generate-dlcm-api` diff --git a/src/app/generated-api/api.module.ts b/src/app/generated-api/api.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..cb5f5bdc91c96a01e094829e8ec32ff1d99267f2 --- /dev/null +++ b/src/app/generated-api/api.module.ts @@ -0,0 +1,33 @@ +import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { Configuration } from './configuration'; +import { HttpClient } from '@angular/common/http'; + + +import { DlcmService } from './api/dlcm.service'; + +@NgModule({ + imports: [], + declarations: [], + exports: [], + providers: [ + DlcmService ] +}) +export class ApiModule { + public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders { + return { + ngModule: ApiModule, + providers: [ { provide: Configuration, useFactory: configurationFactory } ] + }; + } + + constructor( @Optional() @SkipSelf() parentModule: ApiModule, + @Optional() http: HttpClient) { + if (parentModule) { + throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); + } + if (!http) { + throw new Error('You need to import the HttpClientModule in your AppModule! \n' + + 'See also https://github.com/angular/angular/issues/20575'); + } + } +} diff --git a/src/app/generated-api/api/api.ts b/src/app/generated-api/api/api.ts new file mode 100644 index 0000000000000000000000000000000000000000..b6a9fd6428c2983ae8da1ed6b2d5ecab5b383017 --- /dev/null +++ b/src/app/generated-api/api/api.ts @@ -0,0 +1,3 @@ +export * from './dlcm.service'; +import { DlcmService } from './dlcm.service'; +export const APIS = [DlcmService]; diff --git a/src/app/generated-api/api/dlcm.service.ts b/src/app/generated-api/api/dlcm.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..d04e825b660dd1a1442112e750f1e417712bbba5 --- /dev/null +++ b/src/app/generated-api/api/dlcm.service.ts @@ -0,0 +1,1347 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent } from '@angular/common/http'; +import { CustomHttpUrlEncodingCodec } from '../encoder'; + +import { Observable } from 'rxjs'; + +import { Aip } from '../model/aip'; +import { ApplicationRoles } from '../model/applicationRoles'; +import { BasicAuthClients } from '../model/basicAuthClients'; +import { Deposits } from '../model/deposits'; +import { Dip } from '../model/dip'; +import { Dlcm } from '../model/dlcm'; +import { DlcmAccess } from '../model/dlcmAccess'; +import { DlcmAdmin } from '../model/dlcmAdmin'; +import { DlcmArchivalStorage } from '../model/dlcmArchivalStorage'; +import { DlcmDataMgmt } from '../model/dlcmDataMgmt'; +import { DlcmIngest } from '../model/dlcmIngest'; +import { DlcmPreingest } from '../model/dlcmPreingest'; +import { DlcmPreservationPlanning } from '../model/dlcmPreservationPlanning'; +import { DlcmResourceSrv } from '../model/dlcmResourceSrv'; +import { FundingAgencies } from '../model/fundingAgencies'; +import { Institutions } from '../model/institutions'; +import { Languages } from '../model/languages'; +import { Licenses } from '../model/licenses'; +import { OaiSets } from '../model/oaiSets'; +import { Oauth2Clients } from '../model/oauth2Clients'; +import { Orders } from '../model/orders'; +import { OrganizationalUnits } from '../model/organizationalUnits'; +import { People } from '../model/people'; +import { PreservationJobs } from '../model/preservationJobs'; +import { PreservationPolicies } from '../model/preservationPolicies'; +import { Roles } from '../model/roles'; +import { Sip } from '../model/sip'; +import { SubmissionAgreements } from '../model/submissionAgreements'; +import { SubmissionPolicies } from '../model/submissionPolicies'; +import { Users } from '../model/users'; + +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; + + +@Injectable({ + providedIn: 'root' +}) +export class DlcmService { + + protected basePath = 'http://localhost'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { + + if (configuration) { + this.configuration = configuration; + this.configuration.basePath = configuration.basePath || basePath || this.basePath; + + } else { + this.configuration.basePath = basePath || this.basePath; + } + } + + /** + * @param consumes string[] mime-types + * @return true: consumes contains 'multipart/form-data', false: otherwise + */ + private canConsumeForm(consumes: string[]): boolean { + const form = 'multipart/form-data'; + for (const consume of consumes) { + if (form === consume) { + return true; + } + } + return false; + } + + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public application(observe?: 'body', reportProgress?: boolean): Observable<Dlcm>; + public application(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Dlcm>>; + public application(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Dlcm>>; + public application(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<Dlcm>(`${this.configuration.basePath}/`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAccess(observe?: 'body', reportProgress?: boolean): Observable<DlcmAccess>; + public applicationAccess(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmAccess>>; + public applicationAccess(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmAccess>>; + public applicationAccess(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<DlcmAccess>(`${this.configuration.basePath}/access`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAccessDip(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Dip>; + public applicationAccessDip(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Dip>>; + public applicationAccessDip(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Dip>>; + public applicationAccessDip(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Dip>(`${this.configuration.basePath}/access/dip`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAccessOaiSets(observe?: 'body', reportProgress?: boolean): Observable<OaiSets>; + public applicationAccessOaiSets(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<OaiSets>>; + public applicationAccessOaiSets(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<OaiSets>>; + public applicationAccessOaiSets(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<OaiSets>(`${this.configuration.basePath}/access/oai-sets`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAccessOrders(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Orders>; + public applicationAccessOrders(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Orders>>; + public applicationAccessOrders(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Orders>>; + public applicationAccessOrders(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Orders>(`${this.configuration.basePath}/access/orders`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdmin(observe?: 'body', reportProgress?: boolean): Observable<DlcmAdmin>; + public applicationAdmin(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmAdmin>>; + public applicationAdmin(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmAdmin>>; + public applicationAdmin(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<DlcmAdmin>(`${this.configuration.basePath}/admin`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminFundingAgencies(body?: any, observe?: 'body', reportProgress?: boolean): Observable<FundingAgencies>; + public applicationAdminFundingAgencies(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<FundingAgencies>>; + public applicationAdminFundingAgencies(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<FundingAgencies>>; + public applicationAdminFundingAgencies(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<FundingAgencies>(`${this.configuration.basePath}/admin/funding-agencies`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminInstitutions(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Institutions>; + public applicationAdminInstitutions(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Institutions>>; + public applicationAdminInstitutions(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Institutions>>; + public applicationAdminInstitutions(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Institutions>(`${this.configuration.basePath}/admin/institutions`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminLanguages(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Languages>; + public applicationAdminLanguages(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Languages>>; + public applicationAdminLanguages(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Languages>>; + public applicationAdminLanguages(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Languages>(`${this.configuration.basePath}/admin/languages`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminLicenses(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Licenses>; + public applicationAdminLicenses(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Licenses>>; + public applicationAdminLicenses(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Licenses>>; + public applicationAdminLicenses(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Licenses>(`${this.configuration.basePath}/admin/licenses`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminOauth2Clients(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Oauth2Clients>; + public applicationAdminOauth2Clients(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Oauth2Clients>>; + public applicationAdminOauth2Clients(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Oauth2Clients>>; + public applicationAdminOauth2Clients(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Oauth2Clients>(`${this.configuration.basePath}/admin/oauth2-clients`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminOrganizationalUnits(body?: any, observe?: 'body', reportProgress?: boolean): Observable<OrganizationalUnits>; + public applicationAdminOrganizationalUnits(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<OrganizationalUnits>>; + public applicationAdminOrganizationalUnits(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<OrganizationalUnits>>; + public applicationAdminOrganizationalUnits(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<OrganizationalUnits>(`${this.configuration.basePath}/admin/organizational-units`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminPeople(body?: any, observe?: 'body', reportProgress?: boolean): Observable<People>; + public applicationAdminPeople(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<People>>; + public applicationAdminPeople(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<People>>; + public applicationAdminPeople(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<People>(`${this.configuration.basePath}/admin/people`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminPreservationPolicies(body?: any, observe?: 'body', reportProgress?: boolean): Observable<PreservationPolicies>; + public applicationAdminPreservationPolicies(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PreservationPolicies>>; + public applicationAdminPreservationPolicies(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PreservationPolicies>>; + public applicationAdminPreservationPolicies(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<PreservationPolicies>(`${this.configuration.basePath}/admin/preservation-policies`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminRoles(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Roles>; + public applicationAdminRoles(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Roles>>; + public applicationAdminRoles(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Roles>>; + public applicationAdminRoles(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Roles>(`${this.configuration.basePath}/admin/roles`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminSubmissionAgreements(body?: any, observe?: 'body', reportProgress?: boolean): Observable<SubmissionAgreements>; + public applicationAdminSubmissionAgreements(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<SubmissionAgreements>>; + public applicationAdminSubmissionAgreements(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<SubmissionAgreements>>; + public applicationAdminSubmissionAgreements(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<SubmissionAgreements>(`${this.configuration.basePath}/admin/submission-agreements`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminSubmissionPolicies(body?: any, observe?: 'body', reportProgress?: boolean): Observable<SubmissionPolicies>; + public applicationAdminSubmissionPolicies(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<SubmissionPolicies>>; + public applicationAdminSubmissionPolicies(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<SubmissionPolicies>>; + public applicationAdminSubmissionPolicies(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<SubmissionPolicies>(`${this.configuration.basePath}/admin/submission-policies`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationAdminUsers(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Users>; + public applicationAdminUsers(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Users>>; + public applicationAdminUsers(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Users>>; + public applicationAdminUsers(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Users>(`${this.configuration.basePath}/admin/users`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationArchivalStorage(observe?: 'body', reportProgress?: boolean): Observable<DlcmArchivalStorage>; + public applicationArchivalStorage(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmArchivalStorage>>; + public applicationArchivalStorage(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmArchivalStorage>>; + public applicationArchivalStorage(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<DlcmArchivalStorage>(`${this.configuration.basePath}/archival-storage`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationArchivalStorageAip(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Aip>; + public applicationArchivalStorageAip(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Aip>>; + public applicationArchivalStorageAip(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Aip>>; + public applicationArchivalStorageAip(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Aip>(`${this.configuration.basePath}/archival-storage/aip`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationArchivalStorageStoredAip(observe?: 'body', reportProgress?: boolean): Observable<OaiSets>; + public applicationArchivalStorageStoredAip(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<OaiSets>>; + public applicationArchivalStorageStoredAip(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<OaiSets>>; + public applicationArchivalStorageStoredAip(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<OaiSets>(`${this.configuration.basePath}/archival-storage/stored-aip`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationDataMgmt(observe?: 'body', reportProgress?: boolean): Observable<DlcmDataMgmt>; + public applicationDataMgmt(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmDataMgmt>>; + public applicationDataMgmt(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmDataMgmt>>; + public applicationDataMgmt(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<DlcmDataMgmt>(`${this.configuration.basePath}/data-mgmt`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationIngest(observe?: 'body', reportProgress?: boolean): Observable<DlcmIngest>; + public applicationIngest(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmIngest>>; + public applicationIngest(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmIngest>>; + public applicationIngest(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<DlcmIngest>(`${this.configuration.basePath}/ingest`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationIngestSip(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Sip>; + public applicationIngestSip(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Sip>>; + public applicationIngestSip(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Sip>>; + public applicationIngestSip(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Sip>(`${this.configuration.basePath}/ingest/sip`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationPreingest(observe?: 'body', reportProgress?: boolean): Observable<DlcmPreingest>; + public applicationPreingest(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmPreingest>>; + public applicationPreingest(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmPreingest>>; + public applicationPreingest(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<DlcmPreingest>(`${this.configuration.basePath}/preingest`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationPreingestDeposits(body?: any, observe?: 'body', reportProgress?: boolean): Observable<Deposits>; + public applicationPreingestDeposits(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Deposits>>; + public applicationPreingestDeposits(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Deposits>>; + public applicationPreingestDeposits(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<Deposits>(`${this.configuration.basePath}/preingest/deposits`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationPreservationPlanning(observe?: 'body', reportProgress?: boolean): Observable<DlcmPreservationPlanning>; + public applicationPreservationPlanning(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmPreservationPlanning>>; + public applicationPreservationPlanning(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmPreservationPlanning>>; + public applicationPreservationPlanning(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<DlcmPreservationPlanning>(`${this.configuration.basePath}/preservation-planning`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationPreservationPlanningPreservationJobs(body?: any, observe?: 'body', reportProgress?: boolean): Observable<PreservationJobs>; + public applicationPreservationPlanningPreservationJobs(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PreservationJobs>>; + public applicationPreservationPlanningPreservationJobs(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PreservationJobs>>; + public applicationPreservationPlanningPreservationJobs(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<PreservationJobs>(`${this.configuration.basePath}/preservation-planning/preservation-jobs`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationResourceSrv(observe?: 'body', reportProgress?: boolean): Observable<DlcmResourceSrv>; + public applicationResourceSrv(observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DlcmResourceSrv>>; + public applicationResourceSrv(observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DlcmResourceSrv>>; + public applicationResourceSrv(observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + ]; + + return this.httpClient.get<DlcmResourceSrv>(`${this.configuration.basePath}/resource-srv`, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationResourceSrvApplicationRoles(body?: any, observe?: 'body', reportProgress?: boolean): Observable<ApplicationRoles>; + public applicationResourceSrvApplicationRoles(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApplicationRoles>>; + public applicationResourceSrvApplicationRoles(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApplicationRoles>>; + public applicationResourceSrvApplicationRoles(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<ApplicationRoles>(`${this.configuration.basePath}/resource-srv/application-roles`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * + * + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public applicationResourceSrvBasicAuthClients(body?: any, observe?: 'body', reportProgress?: boolean): Observable<BasicAuthClients>; + public applicationResourceSrvBasicAuthClients(body?: any, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BasicAuthClients>>; + public applicationResourceSrvBasicAuthClients(body?: any, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BasicAuthClients>>; + public applicationResourceSrvBasicAuthClients(body?: any, observe: any = 'body', reportProgress: boolean = false ): Observable<any> { + + let headers = this.defaultHeaders; + + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/hal+json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.post<BasicAuthClients>(`${this.configuration.basePath}/resource-srv/basic-auth-clients`, + body, + { + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/generated-api/configuration.ts b/src/app/generated-api/configuration.ts new file mode 100644 index 0000000000000000000000000000000000000000..1132f4adc1756f1d2050279127678722c357b6fb --- /dev/null +++ b/src/app/generated-api/configuration.ts @@ -0,0 +1,79 @@ +export interface ConfigurationParameters { + apiKeys?: {[ key: string ]: string}; + username?: string; + password?: string; + accessToken?: string | (() => string); + basePath?: string; + withCredentials?: boolean; +} + +export class Configuration { + apiKeys?: {[ key: string ]: string}; + username?: string; + password?: string; + accessToken?: string | (() => string); + basePath?: string; + withCredentials?: boolean; + + constructor(configurationParameters: ConfigurationParameters = {}) { + this.apiKeys = configurationParameters.apiKeys; + this.username = configurationParameters.username; + this.password = configurationParameters.password; + this.accessToken = configurationParameters.accessToken; + this.basePath = configurationParameters.basePath; + this.withCredentials = configurationParameters.withCredentials; + } + + /** + * Select the correct content-type to use for a request. + * Uses {@link Configuration#isJsonMime} to determine the correct content-type. + * If no content type is found return the first found type if the contentTypes is not empty + * @param contentTypes - the array of content types that are available for selection + * @returns the selected content-type or <code>undefined</code> if no selection could be made. + */ + public selectHeaderContentType (contentTypes: string[]): string | undefined { + if (contentTypes.length === 0) { + return undefined; + } + + const type = contentTypes.find((x: string) => this.isJsonMime(x)); + if (type === undefined) { + return contentTypes[0]; + } + return type; + } + + /** + * Select the correct accept content-type to use for a request. + * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type. + * If no content type is found return the first found type if the contentTypes is not empty + * @param accepts - the array of content types that are available for selection. + * @returns the selected content-type or <code>undefined</code> if no selection could be made. + */ + public selectHeaderAccept(accepts: string[]): string | undefined { + if (accepts.length === 0) { + return undefined; + } + + const type = accepts.find((x: string) => this.isJsonMime(x)); + if (type === undefined) { + return accepts[0]; + } + return type; + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * @param mime - MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + public isJsonMime(mime: string): boolean { + const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); + return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); + } +} diff --git a/src/app/generated-api/encoder.ts b/src/app/generated-api/encoder.ts new file mode 100644 index 0000000000000000000000000000000000000000..f1c6b78c9c8eb60b8c4c3b24b1119401fb47c24d --- /dev/null +++ b/src/app/generated-api/encoder.ts @@ -0,0 +1,18 @@ + import { HttpUrlEncodingCodec } from '@angular/common/http'; + +/** +* CustomHttpUrlEncodingCodec +* Fix plus sign (+) not encoding, so sent as blank space +* See: https://github.com/angular/angular/issues/11058#issuecomment-247367318 +*/ +export class CustomHttpUrlEncodingCodec extends HttpUrlEncodingCodec { + encodeKey(k: string): string { + k = super.encodeKey(k); + return k.replace(/\+/gi, '%2B'); + } + encodeValue(v: string): string { + v = super.encodeValue(v); + return v.replace(/\+/gi, '%2B'); + } +} + diff --git a/src/app/generated-api/index.ts b/src/app/generated-api/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..c312b70fa3efccdb08c52608b493887052a18d30 --- /dev/null +++ b/src/app/generated-api/index.ts @@ -0,0 +1,5 @@ +export * from './api/api'; +export * from './model/models'; +export * from './variables'; +export * from './configuration'; +export * from './api.module'; \ No newline at end of file diff --git a/src/app/generated-api/model/aip.ts b/src/app/generated-api/model/aip.ts new file mode 100644 index 0000000000000000000000000000000000000000..2acfbad67cda0e15eba758b2bf1a6024dba76be8 --- /dev/null +++ b/src/app/generated-api/model/aip.ts @@ -0,0 +1,90 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AipFileFormat } from './aipFileFormat'; +import { AipInfo } from './aipInfo'; +import { AipVirusCheck } from './aipVirusCheck'; + + +export interface Aip { + /** + * The checksum list of the AIP + */ + checksums?: Array<string>; + virusCheck?: AipVirusCheck; + /** + * if the AIP is an unit (AIU) or a collection (AIC) + */ + archivalUnit?: boolean; + /** + * The _links_ list of the _aip_ resource + */ + links?: any; + /** + * The size in human-readable format of the AIP + */ + smartSize?: string; + /** + * The source SIP IDs of the AIP + */ + sipIds?: Array<string>; + /** + * Number of AIP data files + */ + dataFileNumber?: number; + /** + * The container type of the AIP + */ + aipContainer?: string; + /** + * Mandatory step to approve the AIP disposition + */ + dispositionApproval?: boolean; + /** + * The size in bytes of the AIP + */ + archiveSize?: number; + /** + * The _aip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The end of the AIP retention + */ + retentionEnd?: string; + /** + * If AIP package is ready + */ + ready?: boolean; + /** + * Number of AIPs in collection + */ + collectionSize?: number; + /** + * The last updated info of the _aip_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The retention duration in human-readable format of the AIP + */ + smartRetention?: string; + /** + * The retention duration in days of the AIP + */ + retention?: number; + fileFormat?: AipFileFormat; + /** + * The creation info of the _aip_ resource (see <<change-info>>) + */ + creation?: any; + info?: AipInfo; +} + diff --git a/src/app/generated-api/model/aipFileFormat.ts b/src/app/generated-api/model/aipFileFormat.ts new file mode 100644 index 0000000000000000000000000000000000000000..c3e446d89d4fa22c0d5822a7f60e91d1d071cd17 --- /dev/null +++ b/src/app/generated-api/model/aipFileFormat.ts @@ -0,0 +1,40 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface AipFileFormat { + /** + * Format PUID of file + */ + puid?: string; + /** + * Format description of file + */ + format?: string; + /** + * Format details of file + */ + details?: string; + /** + * Format version of file + */ + version?: string; + /** + * Content type of file + */ + contentType?: string; + /** + * MD5 checksum of file + */ + md5?: string; +} + diff --git a/src/app/generated-api/model/aipInfo.ts b/src/app/generated-api/model/aipInfo.ts new file mode 100644 index 0000000000000000000000000000000000000000..9d5f784693f8c3c0c9c2687c50528e8b11620c73 --- /dev/null +++ b/src/app/generated-api/model/aipInfo.ts @@ -0,0 +1,54 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AipInfoEmbargo } from './aipInfoEmbargo'; + + +export interface AipInfo { + /** + * The final access level of the package + */ + access?: string; + /** + * A boolean indicating wether the current access level is PUBLIC + */ + accessCurrentlyPublic?: boolean; + /** + * The organizational Unit ID of the information package + */ + organizationalUnitId?: string; + /** + * The current access level, deducted from the final access level and an eventual embargo + */ + currentAccessLevel?: string; + /** + * The name of the package + */ + name?: string; + /** + * The compliance level of the package + */ + complianceLevel?: string; + /** + * The description of the package + */ + description?: string; + embargo?: AipInfoEmbargo; + /** + * The license ID of the package + */ + licenseId?: string; + /** + * The status of the package + */ + status?: string; +} + diff --git a/src/app/generated-api/model/aipInfoEmbargo.ts b/src/app/generated-api/model/aipInfoEmbargo.ts new file mode 100644 index 0000000000000000000000000000000000000000..d1d27abaf8408ea760a5913783725c5fd9abaf37 --- /dev/null +++ b/src/app/generated-api/model/aipInfoEmbargo.ts @@ -0,0 +1,28 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface AipInfoEmbargo { + /** + * Month number of embargo duration + */ + months?: number; + /** + * Starting date of embargo period + */ + access?: string; + /** + * Starting date of embargo period + */ + startDate?: string; +} + diff --git a/src/app/generated-api/model/aipVirusCheck.ts b/src/app/generated-api/model/aipVirusCheck.ts new file mode 100644 index 0000000000000000000000000000000000000000..f3f02f43864c6129361f6651c7b68e4a06faa8a1 --- /dev/null +++ b/src/app/generated-api/model/aipVirusCheck.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface AipVirusCheck { + /** + * Result detail of virus check + */ + details?: string; + /** + * Date of virus check execution + */ + checkDate?: string; +} + diff --git a/src/app/generated-api/model/applicationRoles.ts b/src/app/generated-api/model/applicationRoles.ts new file mode 100644 index 0000000000000000000000000000000000000000..b819a8c524634a20757f5914b4fbedcc5ebea836 --- /dev/null +++ b/src/app/generated-api/model/applicationRoles.ts @@ -0,0 +1,36 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ApplicationRoles { + /** + * The _links_ list of the _application-roles_ resource + */ + links?: any; + /** + * The last updated info of the _application-roles_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of the application role + */ + name?: string; + /** + * The _application-roles_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The creation info of the _application-roles_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/basicAuthClients.ts b/src/app/generated-api/model/basicAuthClients.ts new file mode 100644 index 0000000000000000000000000000000000000000..4078d54183cea241eae5bc392dc4e526381a3fe5 --- /dev/null +++ b/src/app/generated-api/model/basicAuthClients.ts @@ -0,0 +1,64 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface BasicAuthClients { + /** + * The password of basic authentification client + */ + password?: string; + /** + * The name of basic authentification client + */ + clientId?: string; + /** + * The _links_ list of the _basic-auth-clients_ resource + */ + links?: any; + /** + * If the client credentials are expired + */ + credentialsNonExpired?: boolean; + /** + * The last updated info of the _basic-auth-clients_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The linked person of basic authentification client + */ + personId?: string; + /** + * If the client account is expired + */ + accountNonExpired?: boolean; + /** + * The _basic-auth-clients_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * If the client account is enable + */ + enabled?: boolean; + /** + * The creation info of the _basic-auth-clients_ resource (see <<change-info>>) + */ + creation?: any; + /** + * The application roles of basic authentification client + */ + applicationRoles?: Array<string>; + /** + * If the client account is not locked + */ + accountNonLocked?: boolean; +} + diff --git a/src/app/generated-api/model/deposits.ts b/src/app/generated-api/model/deposits.ts new file mode 100644 index 0000000000000000000000000000000000000000..e03f866d970fd2f1f517efd4c4a59850dcf701c0 --- /dev/null +++ b/src/app/generated-api/model/deposits.ts @@ -0,0 +1,122 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AipInfoEmbargo } from './aipInfoEmbargo'; + + +export interface Deposits { + /** + * The access level of the deposit + */ + access?: string; + /** + * The _links_ list of the _deposits_ resource + */ + links?: any; + /** + * The preservation policy ID of the deposit + */ + preservationPolicyId?: string; + /** + * Number of deposit data files + */ + dataFileNumber?: number; + /** + * The description of the deposit + */ + description?: string; + /** + * The title of the deposit + */ + title?: string; + /** + * The generated SIP DLCM ID of the deposit + */ + sipId?: string; + /** + * The end of the deposit collection + */ + collectionEnd?: string; + /** + * The organizational unit ID of the deposit + */ + organizationalUnitId?: string; + /** + * If the deposit has an embargo + */ + hasEmbargo?: boolean; + /** + * The submission policy ID of the deposit + */ + submissionPolicyId?: string; + /** + * The license ID of the deposit + */ + licenseId?: string; + /** + * The publication date of the deposit + */ + publicationDate?: string; + /** + * The creation info of the _deposits_ resource (see <<change-info>>) + */ + creation?: any; + /** + * The submission agreement of the deposit + */ + agreement?: boolean; + /** + * If all data file are ready + */ + allDataFileReady?: boolean; + /** + * The language ID of the deposit + */ + languageId?: string; + /** + * The _deposits_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The message related to the status + */ + statusMessage?: string; + /** + * The submission agreement of the deposit + */ + submissionAgreementId?: string; + /** + * Size of AIP collection + */ + collectionSize?: number; + /** + * The last updated info of the _deposits_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The preparation ID of the deposit + */ + preparationId?: string; + embargo?: AipInfoEmbargo; + /** + * The beginning of the deposit collection + */ + collectionBegin?: string; + /** + * The status of the deposit + */ + status?: string; + /** + * The Digital Object Identifier (DOI) of the deposit + */ + doi?: string; +} + diff --git a/src/app/generated-api/model/dip.ts b/src/app/generated-api/model/dip.ts new file mode 100644 index 0000000000000000000000000000000000000000..85c7cee21ed98c17ee2a3d471ca5f2d476a70e0e --- /dev/null +++ b/src/app/generated-api/model/dip.ts @@ -0,0 +1,42 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AipInfo } from './aipInfo'; + + +export interface Dip { + /** + * The source AIP IDs of the DIP + */ + aipIds?: Array<string>; + /** + * The _links_ list of the _dip_ resource + */ + links?: any; + /** + * If DIP package is ready + */ + ready?: boolean; + /** + * The last updated info of the _dip_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The _dip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The creation info of the _dip_ resource (see <<change-info>>) + */ + creation?: any; + info?: AipInfo; +} + diff --git a/src/app/generated-api/model/dlcm.ts b/src/app/generated-api/model/dlcm.ts new file mode 100644 index 0000000000000000000000000000000000000000..90af98042ee2571d158c1b6a6242aa36af381a98 --- /dev/null +++ b/src/app/generated-api/model/dlcm.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Dlcm { + /** + * The _links_ list of the application + */ + links?: any; + /** + * The name of the application + */ + name?: string; +} + diff --git a/src/app/generated-api/model/dlcmAccess.ts b/src/app/generated-api/model/dlcmAccess.ts new file mode 100644 index 0000000000000000000000000000000000000000..3bbf4541e65916a93b2c2fec6e735568eb906fc4 --- /dev/null +++ b/src/app/generated-api/model/dlcmAccess.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface DlcmAccess { + /** + * The _links_ list of the module, included its REST resources + */ + links?: any; + /** + * The name of the module, i.e. _access_ + */ + name?: string; +} + diff --git a/src/app/generated-api/model/dlcmAdmin.ts b/src/app/generated-api/model/dlcmAdmin.ts new file mode 100644 index 0000000000000000000000000000000000000000..d7a361e2a4d98860497301a418a7887ad01eb56f --- /dev/null +++ b/src/app/generated-api/model/dlcmAdmin.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface DlcmAdmin { + /** + * The _links_ list of the module, included its REST resources + */ + links?: any; + /** + * The name of the module, i.e. _admin_ + */ + name?: string; +} + diff --git a/src/app/generated-api/model/dlcmArchivalStorage.ts b/src/app/generated-api/model/dlcmArchivalStorage.ts new file mode 100644 index 0000000000000000000000000000000000000000..87b42711b1e30912004ed1d748e480677de41a01 --- /dev/null +++ b/src/app/generated-api/model/dlcmArchivalStorage.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface DlcmArchivalStorage { + /** + * The _links_ list of the module, included its REST resources + */ + links?: any; + /** + * The name of the module, i.e. _archival-storage_ + */ + name?: string; +} + diff --git a/src/app/generated-api/model/dlcmDataMgmt.ts b/src/app/generated-api/model/dlcmDataMgmt.ts new file mode 100644 index 0000000000000000000000000000000000000000..ed8a5410f0373ca6e3dd6026c00cbc26500f27af --- /dev/null +++ b/src/app/generated-api/model/dlcmDataMgmt.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface DlcmDataMgmt { + /** + * The _links_ list of the module, included its REST resources + */ + links?: any; + /** + * The name of the module, i.e. _data-mgmt_ + */ + name?: string; +} + diff --git a/src/app/generated-api/model/dlcmIngest.ts b/src/app/generated-api/model/dlcmIngest.ts new file mode 100644 index 0000000000000000000000000000000000000000..8e243023a90167da47765230c8ea809c5d4c90a5 --- /dev/null +++ b/src/app/generated-api/model/dlcmIngest.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface DlcmIngest { + /** + * The _links_ list of the module, included its REST resources + */ + links?: any; + /** + * The name of the module, i.e. _ingest_ + */ + name?: string; +} + diff --git a/src/app/generated-api/model/dlcmPreingest.ts b/src/app/generated-api/model/dlcmPreingest.ts new file mode 100644 index 0000000000000000000000000000000000000000..0a58647ce917d1df81b0269ca8fcfd188a164cff --- /dev/null +++ b/src/app/generated-api/model/dlcmPreingest.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface DlcmPreingest { + /** + * The _links_ list of the module, included its REST resources + */ + links?: any; + /** + * The name of the module, i.e. _preingest_ + */ + name?: string; +} + diff --git a/src/app/generated-api/model/dlcmPreservationPlanning.ts b/src/app/generated-api/model/dlcmPreservationPlanning.ts new file mode 100644 index 0000000000000000000000000000000000000000..1152151f087bdb8bfe1291ccc4e6706dadb69007 --- /dev/null +++ b/src/app/generated-api/model/dlcmPreservationPlanning.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface DlcmPreservationPlanning { + /** + * The _links_ list of the module, included its REST resources + */ + links?: any; + /** + * The name of the module, i.e. _preservation-planning_ + */ + name?: string; +} + diff --git a/src/app/generated-api/model/dlcmResourceSrv.ts b/src/app/generated-api/model/dlcmResourceSrv.ts new file mode 100644 index 0000000000000000000000000000000000000000..e0d906e86877fc5fcf21ac516e4594085826f445 --- /dev/null +++ b/src/app/generated-api/model/dlcmResourceSrv.ts @@ -0,0 +1,24 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface DlcmResourceSrv { + /** + * The _links_ list of the module, included its REST resources + */ + links?: any; + /** + * The name of the module, i.e. _resource-srv_ + */ + name?: string; +} + diff --git a/src/app/generated-api/model/fundingAgencies.ts b/src/app/generated-api/model/fundingAgencies.ts new file mode 100644 index 0000000000000000000000000000000000000000..73da367c27baa10abd95e35d4af84f1d019e6655 --- /dev/null +++ b/src/app/generated-api/model/fundingAgencies.ts @@ -0,0 +1,48 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface FundingAgencies { + /** + * The _links_ list of the _funding-agencies_ resource + */ + links?: any; + /** + * The acronym of the funding agency + */ + acronym?: string; + /** + * The last updated info of the _funding-agencies_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of the funding agency + */ + name?: string; + /** + * The description of the funding agency + */ + description?: string; + /** + * The _funding-agencies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The URL of the funding agency + */ + url?: string; + /** + * The creation info of the _funding-agencies_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/institutions.ts b/src/app/generated-api/model/institutions.ts new file mode 100644 index 0000000000000000000000000000000000000000..879626cc1376ea9e6e3fbc05abffc7f92c59844f --- /dev/null +++ b/src/app/generated-api/model/institutions.ts @@ -0,0 +1,48 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Institutions { + /** + * The _links_ list of the _institutions_ resource + */ + links?: any; + /** + * The last updated info of the _institutions_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of the institution + */ + name?: string; + /** + * List of email suffixes + */ + emailSuffixes?: Array<string>; + /** + * The description of the institution + */ + description?: string; + /** + * The _institutions_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The URL of the institution website + */ + url?: string; + /** + * The creation info of the _institutions_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/languages.ts b/src/app/generated-api/model/languages.ts new file mode 100644 index 0000000000000000000000000000000000000000..eb9fd9a41170484ee55f740a77c6869fd17ac357 --- /dev/null +++ b/src/app/generated-api/model/languages.ts @@ -0,0 +1,36 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Languages { + /** + * The code of the language + */ + code?: string; + /** + * The _links_ list of the _languages_ resource + */ + links?: any; + /** + * The last updated info of the _languages_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The _languages_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The creation info of the _languages_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/licenses.ts b/src/app/generated-api/model/licenses.ts new file mode 100644 index 0000000000000000000000000000000000000000..3fab6282e83315a71f1a9b5cb6aa097a7dd05cdb --- /dev/null +++ b/src/app/generated-api/model/licenses.ts @@ -0,0 +1,80 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Licenses { + /** + * The _links_ list of the _licenses_ resource + */ + links?: any; + /** + * Give if it's a generic license + */ + isGeneric?: boolean; + /** + * The domain software + */ + domainSoftware?: boolean; + /** + * The title of the license + */ + title?: string; + /** + * The _licenses_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The url source of the license + */ + url?: string; + /** + * The maintainer of the license + */ + maintainer?: string; + /** + * The OD conformance status + */ + odConformance?: string; + /** + * The open license identifier + */ + openLicenseId?: string; + /** + * The OSD conformance status + */ + osdConformance?: string; + /** + * The last updated info of the _licenses_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The data domain + */ + domainData?: boolean; + /** + * The family license + */ + family?: string; + /** + * The content of the domain + */ + domainContent?: boolean; + /** + * The creation info of the _licenses_ resource (see <<change-info>>) + */ + creation?: any; + /** + * The current status of the license + */ + status?: string; +} + diff --git a/src/app/generated-api/model/models.ts b/src/app/generated-api/model/models.ts new file mode 100644 index 0000000000000000000000000000000000000000..9205ce1a95efc1bfc6ec4581b1032379ec98f7b5 --- /dev/null +++ b/src/app/generated-api/model/models.ts @@ -0,0 +1,34 @@ +export * from './aip'; +export * from './aipFileFormat'; +export * from './aipInfo'; +export * from './aipInfoEmbargo'; +export * from './aipVirusCheck'; +export * from './applicationRoles'; +export * from './basicAuthClients'; +export * from './deposits'; +export * from './dip'; +export * from './dlcm'; +export * from './dlcmAccess'; +export * from './dlcmAdmin'; +export * from './dlcmArchivalStorage'; +export * from './dlcmDataMgmt'; +export * from './dlcmIngest'; +export * from './dlcmPreingest'; +export * from './dlcmPreservationPlanning'; +export * from './dlcmResourceSrv'; +export * from './fundingAgencies'; +export * from './institutions'; +export * from './languages'; +export * from './licenses'; +export * from './oaiSets'; +export * from './oauth2Clients'; +export * from './orders'; +export * from './organizationalUnits'; +export * from './people'; +export * from './preservationJobs'; +export * from './preservationPolicies'; +export * from './roles'; +export * from './sip'; +export * from './submissionAgreements'; +export * from './submissionPolicies'; +export * from './users'; diff --git a/src/app/generated-api/model/oaiSets.ts b/src/app/generated-api/model/oaiSets.ts new file mode 100644 index 0000000000000000000000000000000000000000..1c3b43cff5dc85143296fe86d37554f0e49f66e3 --- /dev/null +++ b/src/app/generated-api/model/oaiSets.ts @@ -0,0 +1,28 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface OaiSets { + /** + * List the collection of the resources + */ + data?: Array<string>; + /** + * Gives the total pages and the total available items of one resource + */ + page?: any; + /** + * All links available on the resource + */ + links?: any; +} + diff --git a/src/app/generated-api/model/oauth2Clients.ts b/src/app/generated-api/model/oauth2Clients.ts new file mode 100644 index 0000000000000000000000000000000000000000..944ab22fea7422ee81074ef4a37dd6f37884809b --- /dev/null +++ b/src/app/generated-api/model/oauth2Clients.ts @@ -0,0 +1,64 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Oauth2Clients { + /** + * The redirect URI of OAuth2 client + */ + redirectUri?: string; + /** + * The grant types of OAuth2 client + */ + grantTypes?: Array<string>; + /** + * The client ID of OAuth2 client + */ + clientId?: string; + /** + * The _links_ list of the _oauth2-clients_ resource + */ + links?: any; + /** + * The scope of OAuth2 client + */ + scope?: string; + /** + * The access token validity in seconds + */ + accessTokenValiditySeconds?: number; + /** + * The last updated info of the _oauth2-clients_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of OAuth2 client + */ + name?: string; + /** + * The password of OAuth2 client + */ + secret?: string; + /** + * The refresh token validity in seconds + */ + refreshTokenValiditySeconds?: number; + /** + * The _oauth2-clients_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The creation info of the _oauth2-clients_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/orders.ts b/src/app/generated-api/model/orders.ts new file mode 100644 index 0000000000000000000000000000000000000000..8d9083f9acee3901364b6038ae6f7d94eb08f5aa --- /dev/null +++ b/src/app/generated-api/model/orders.ts @@ -0,0 +1,56 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Orders { + /** + * The AIP number of the order query + */ + aipNumber?: number; + /** + * The _links_ list of the _orders_ resource + */ + links?: any; + /** + * The query of the order query + */ + query?: string; + /** + * The last updated info of the _orders_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of the order query + */ + name?: string; + /** + * The DIP number of the order query + */ + dipNumber?: number; + /** + * The _orders_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The creation info of the _orders_ resource (see <<change-info>>) + */ + creation?: any; + /** + * The status of the order query + */ + status?: string; + /** + * The type of the order query + */ + queryType?: string; +} + diff --git a/src/app/generated-api/model/organizationalUnits.ts b/src/app/generated-api/model/organizationalUnits.ts new file mode 100644 index 0000000000000000000000000000000000000000..a68a1eff2e0f3efb3cf1befa51a636220af27816 --- /dev/null +++ b/src/app/generated-api/model/organizationalUnits.ts @@ -0,0 +1,56 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface OrganizationalUnits { + /** + * The _links_ list of the _organizational-units_ resource + */ + links?: any; + /** + * The last updated info of the _organizational-units_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of the organizational unit + */ + name?: string; + /** + * Indicates whether the organizational unit contains any data (depo, sip, aip) + */ + isEmpty?: boolean; + /** + * The description of the institution + */ + description?: string; + /** + * The closing date of the organizational unit + */ + closingDate?: string; + /** + * The opening date of the organizational unit + */ + openingDate?: string; + /** + * The _organizational-units_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * Indicates whether the organizational unit is currently open + */ + open?: boolean; + /** + * The creation info of the _organizational-units_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/people.ts b/src/app/generated-api/model/people.ts new file mode 100644 index 0000000000000000000000000000000000000000..e7f3d3cd28f45e1b14a94488b5197cbbc2e71d8d --- /dev/null +++ b/src/app/generated-api/model/people.ts @@ -0,0 +1,48 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface People { + /** + * The last name of the person + */ + lastName?: string; + /** + * The first name of the person + */ + firstName?: string; + /** + * The _links_ list of the _people_ resource + */ + links?: any; + /** + * The last updated info of the _people_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The full name of the person + */ + fullName?: string; + /** + * The ORCID of the person + */ + orcid?: string; + /** + * The _people_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The creation info of the _people_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/preservationJobs.ts b/src/app/generated-api/model/preservationJobs.ts new file mode 100644 index 0000000000000000000000000000000000000000..098a82f80c5d1e4dc214483a196d693ec58e091e --- /dev/null +++ b/src/app/generated-api/model/preservationJobs.ts @@ -0,0 +1,76 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PreservationJobs { + /** + * The total number of items by the preservation job + */ + totalItems?: number; + /** + * The _links_ list of the _preservation-jobs_ resource + */ + links?: any; + /** + * The end date of the preservation job + */ + endDate?: string; + /** + * The _preservation-jobs_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The message related to the status + */ + statusMessage?: string; + /** + * The last updated info of the _preservation-jobs_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of the preservation job + */ + name?: string; + /** + * The number of ignored (not processed) items by the preservation job + */ + ignoredItems?: number; + /** + * The completion status in pourcentage of the preservation job + */ + completionStatus?: number; + /** + * The job type of the preservation job + */ + jobType?: string; + /** + * The start date of the preservation job + */ + startDate?: string; + /** + * The number of processed items by the preservation job + */ + processedItems?: number; + /** + * The number of items in-error by the preservation job + */ + inErrorItems?: number; + /** + * The creation info of the _preservation-jobs_ resource (see <<change-info>>) + */ + creation?: any; + /** + * The status of the preservation job + */ + status?: string; +} + diff --git a/src/app/generated-api/model/preservationPolicies.ts b/src/app/generated-api/model/preservationPolicies.ts new file mode 100644 index 0000000000000000000000000000000000000000..432f93df449486b59c6a0f1e3ebea004da3f6dd9 --- /dev/null +++ b/src/app/generated-api/model/preservationPolicies.ts @@ -0,0 +1,52 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PreservationPolicies { + /** + * Use number in organizational units of the the preservation policy + */ + useNumber?: number; + /** + * The _links_ list of the _preservation-policies_ resource + */ + links?: any; + /** + * The last updated info of the _preservation-policies_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of the preservation policy + */ + name?: string; + /** + * The retention duration in human-readable format of the preservation policy + */ + smartRetention?: string; + /** + * Mandatory step to approve the AIP disposition + */ + dispositionApproval?: boolean; + /** + * The _preservation-policies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The retention duration in days of the preservation policy + */ + retention?: number; + /** + * The creation info of the _preservation-policies_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/roles.ts b/src/app/generated-api/model/roles.ts new file mode 100644 index 0000000000000000000000000000000000000000..92ca20ebcc682e0f4883f66704c1c9da1d822715 --- /dev/null +++ b/src/app/generated-api/model/roles.ts @@ -0,0 +1,36 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Roles { + /** + * The _links_ list of the _roles_ resource + */ + links?: any; + /** + * The last updated info of the _roles_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of the role + */ + name?: string; + /** + * The _roles_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The creation info of the _roles_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/sip.ts b/src/app/generated-api/model/sip.ts new file mode 100644 index 0000000000000000000000000000000000000000..1c644e73259d7f460d593c769a28d8a1dffc2f08 --- /dev/null +++ b/src/app/generated-api/model/sip.ts @@ -0,0 +1,66 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AipInfo } from './aipInfo'; + + +export interface Sip { + /** + * The source deposit ID of the SIP + */ + depositId?: string; + /** + * The _links_ list of the _sip_ resource + */ + links?: any; + /** + * Number of SIP data files + */ + dataFileNumber?: number; + /** + * Mandatory step to approve the AIP disposition + */ + dispositionApproval?: boolean; + /** + * The generated AIP DLCM ID of the SIP + */ + aipId?: string; + /** + * The _sip_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * If the SIP package is ready + */ + ready?: boolean; + /** + * Size of AIP collection + */ + collectionSize?: number; + /** + * The last updated info of the _sip_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The retention duration in human-readable format of the AIP + */ + smartRetention?: string; + /** + * The retention duration in days of the AIP + */ + retention?: number; + /** + * The creation info of the _sip_ resource (see <<change-info>>) + */ + creation?: any; + info?: AipInfo; +} + diff --git a/src/app/generated-api/model/submissionAgreements.ts b/src/app/generated-api/model/submissionAgreements.ts new file mode 100644 index 0000000000000000000000000000000000000000..d598d1da819363422fe04bbe49454b7ba8cf0d8b --- /dev/null +++ b/src/app/generated-api/model/submissionAgreements.ts @@ -0,0 +1,44 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface SubmissionAgreements { + /** + * The _links_ list of the _submission-agreements_ resource + */ + links?: any; + /** + * The last updated info of the _submission-agreements_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The description of the submission agreement + */ + description?: string; + /** + * The title of the submission agreement + */ + title?: string; + /** + * The version of the submission agreement + */ + version?: string; + /** + * The _submission-agreements_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The creation info of the _submission-agreements_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/submissionPolicies.ts b/src/app/generated-api/model/submissionPolicies.ts new file mode 100644 index 0000000000000000000000000000000000000000..d67d1c49c2b1ec530f27e2d331f229ec745a1cd1 --- /dev/null +++ b/src/app/generated-api/model/submissionPolicies.ts @@ -0,0 +1,44 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface SubmissionPolicies { + /** + * Use number in organizational units of the the submission policy + */ + useNumber?: number; + /** + * Mandatory step to approve a deposit + */ + submissionApproval?: boolean; + /** + * The _links_ list of the _submission-policies_ resource + */ + links?: any; + /** + * The last updated info of the _submission-policies_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The name of the submission policy + */ + name?: string; + /** + * The _submission-policies_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * The creation info of the _submission-policies_ resource (see <<change-info>>) + */ + creation?: any; +} + diff --git a/src/app/generated-api/model/users.ts b/src/app/generated-api/model/users.ts new file mode 100644 index 0000000000000000000000000000000000000000..5bbf80e961de92dbb46eac263cad011fb5f9fdd7 --- /dev/null +++ b/src/app/generated-api/model/users.ts @@ -0,0 +1,72 @@ +/** + * DLCM-Solution + * DLCM application wrapping all modules, All-In-One + * + * OpenAPI spec version: 1.3.0-SNAPSHOT + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Users { + /** + * The external UID of the user + */ + externalUid?: string; + /** + * The last name of the user + */ + lastName?: string; + /** + * The application roles of the user + */ + applicationRoleNames?: Array<string>; + /** + * The _links_ list of the _users_ resource + */ + links?: any; + /** + * The targeted UID of the user + */ + targetedUid?: string; + /** + * The access token of the user + */ + accessToken?: string; + /** + * The _users_ resource identifier [https://en.wikipedia.org/wiki/Universally_unique_identifier[UUID]] + */ + resId?: string; + /** + * If the user is enable + */ + enabled?: boolean; + /** + * The first name of the user + */ + firstName?: string; + /** + * The last updated info of the _users_ resource (see <<change-info>>) + */ + lastUpdate?: any; + /** + * The email of the user + */ + email?: string; + /** + * The creation info of the _users_ resource (see <<change-info>>) + */ + creation?: any; + /** + * The refresh token of the user + */ + refreshToken?: string; + /** + * The application roles details of the user + */ + applicationRoles?: Array<string>; +} + diff --git a/src/app/generated-api/variables.ts b/src/app/generated-api/variables.ts new file mode 100644 index 0000000000000000000000000000000000000000..6fe58549f395fc15d66a3b68f261d48c1af375ef --- /dev/null +++ b/src/app/generated-api/variables.ts @@ -0,0 +1,9 @@ +import { InjectionToken } from '@angular/core'; + +export const BASE_PATH = new InjectionToken<string>('basePath'); +export const COLLECTION_FORMATS = { + 'csv': ',', + 'tsv': ' ', + 'ssv': ' ', + 'pipes': '|' +} diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 07b8512a7b2e82f0eb4da5bb3fc6a01a4b417b5b..6e5f9f33fb272e16fc08cc598e1854a1eec09265 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -4,7 +4,7 @@ export const environment = { production: false, - API_BASE_PATH: 'http://localhost:8080/dlcm', + API_BASE_PATH: '/api', }; /*